Trykknap med ESP32 – Arduino IDE

Trykknap Med Esp32 Arduino Ide



ESP32 er et IoT-kort, der kan forbindes med forskellige eksterne enheder for at generere output. ESP32 tager input fra enheder som trykknapper og genererer svar i henhold til det modtagne input. Trykknapper kan bruges til at styre flere sensorer og enheder som f.eks. styring af en LED eller opretholdelse af motorens hastighed. Her i denne lektion vil vi diskutere trykknap-interface med ESP32.

Følgende er indholdsfortegnelsen for denne lektion:







1: Introduktion til trykknap



2: Betjening af trykknappen



2.1: Trykknap arbejdstilstande





3: Grænsefladetrykknap med ESP32

3.1: Digital Input Output Pins i ESP32



3.2: Sådan læser du digitale input i ESP32

3.3: Grænsefladetrykknap med ESP32 ved hjælp af digital læsefunktion

3.4: Hardware påkrævet

3.5: Skematisk

3.6: Kode til grænseflade ESP32 med trykknap

3.7: Output

1: Introduktion til trykknap

En trykknap er en simpel knap med en mekanisme til at styre tilstande af forskellige maskiner eller processer. Trykknappen er lavet af hårdt materiale som plastik eller metal, og den øverste overflade er normalt flad, hvilket giver brugerne mulighed for at trykke på den.

I ESP32-projekter bruges trykknappen i vid udstrækning til at styre input- og outputtilstande for stiften. Vippekontakter og trykknapper fungerer efter lidt forskellige principper. Konventionel kontakt eller vippekontakt går i stå, når den er trykket ned, mens trykknappen er en enhed med to positioner, som normalt går i stå, når den slippes.

Lad os komme dybt ind i arbejdsprincippet for trykknappen i detaljer:

2: Betjening af trykknappen

En trykknap har normalt 4 stifter. Disse 4 ben er forbundet i form af et par, såsom to øverste ben er internt forbundet på samme måde, de andre to er også internt forbundet.


For at vide, hvilke to ben der er forbundet, skal du tage et multimeter (DMM) og indstille det til kontinuitetstest , fastgør nu den positive sonde med et vilkårligt ben på knappen, og fastgør derefter den negative sonde på multimeteret et efter et med andre ben. Hvis forbindelsen er fuldført mellem begge ender, kan der høres en biplyd fra multimeteret. De to ben, der er internt forbundet, vil fuldende kredsløbet.

2.1: Trykknap arbejdstilstande

For at bruge trykknappen i et kredsløb har vi brug for en pind fra hvert internt forbundet par. Hvis vi tager stifterne på trykknappen fra det samme par, som er internt forbundet, vil det resultere i en kortslutning, da disse allerede er forbundet, vil det omgå trykknapmekanismen.

Baseret på denne mekanisme kan trykknappen fungere i følgende to tilstande:


Hvis vi tager et eksempel på tilstanden vist på billedet nedenfor. Vi kan se, at når der ikke trykkes på knappen, er den interne forbindelse åben, når der først trykkes på knappen, vil den interne A- og B-terminal blive forbundet, og kredsløbet vil fuldføre.


Nu har vi afsluttet det grundlæggende princip bag brugen af ​​trykknapper. Dernæst vil vi forbinde en simpel trykknap med ESP32 og styre en LED ved hjælp af den.

3: Grænsefladetrykknap med ESP32

Inden man forbinder trykknappen med ESP32, skal man kende de GPIO-ben, der kan bruges som input. Nu vil vi diskutere de digitale input output ben i ESP32.

3.1: Digital Input Output Pins i ESP32

ESP32 har i alt 48 stifter, som hver især er specifikke for en bestemt funktion, blandt de 48 stifter er nogle ikke fysisk eksponerede, hvilket betyder, at vi ikke kan bruge dem til eksterne formål. Disse ben er integreret i ESP32 til forskellige funktioner.

ESP32 board har 2 forskellige varianter med 36 stifter og 30 stifter. Her ligger forskellen på 6 ben mellem begge kort på grund af 6 integrerede SPI flash-stifter, der er tilgængelige til SPI-kommunikation på en 36 pins variant af ESP32 board. Disse 6 SPI-ben kan dog ikke bruges til andre formål, såsom input-output.

Nedenstående givne pinout er af 30 pin ESP32-kort:


Blandt alle GPIO kun 4 ben ( 34, 35, 36 og 39 ) er kun input, mens alle andre ben kan bruges til både input og output. Som nævnt ovenfor kan de 6 SPI-ben ikke bruges til input eller output.

3.2: Sådan læser du digitale input i ESP32

Trykknap-indgang kan aflæses på en defineret GPIO-pin, for hvilken en funktion pinMode() skal først defineres i Arduino-koden. Denne funktion vil indstille GPIO pin som input. pinMode() Funktionssyntaks er som følger:

pinMode ( GPIO, INPUT ) ;


For at læse data fra en defineret GPIO-pin digitalRead() funktion vil blive kaldt. Følgende er kommandoen, man kan bruge til at tage data fra trykknap på en GPIO-pin:

digitallæs ( GPIO ) ;

3.3: Grænsefladetrykknap med ESP32 ved hjælp af digital læsefunktion

Nu vil vi interface ESP32 med trykknap ved hjælp af digital læsning funktion på enhver GPIO pin. Ved at tage input fra trykknappen vil en LED blive tændt eller slukket.

3.4: Hardware påkrævet

Nedenfor er listen over nødvendige komponenter:

    • ESP32 bord
    • En LED
    • 220 Ohm modstande
    • 4-bens trykknap
    • Brødbræt
    • Tilslutning af jumper ledninger

3.5: Skematisk

Nedenstående billede er det skematiske diagram af trykknappen med ESP32. Her aflæses input fra trykknappen på GPIO pin 15, og LED tilsluttes på GPIO pin 14.

3.6: Kode for grænsefladetrykknap med ESP32

Nu for at uploade kode til ESP32 vil Arduino IDE-editor blive brugt. Åbn IDE og tilslut ESP32-kortet, vælg derefter COM-porten fra værktøjssektionen. Når ESP32-kortet er klar, indsæt koden i IDE og klik på upload:

const int Push_Button = femten ; /* Digital pin femten defineret til Trykknap */
const int LED_Pin = 14 ; /* Digital pin 14 defineret til LED */
int Button_State = 0 ;
ugyldig opsætning ( ) {
Serial.begin ( 115200 ) ;
pinMode ( Push_Button, INPUT ) ; /* GPIO femten sæt som Input */
pinMode ( LED_Pin, OUTPUT ) ; /* GPIO 14 sæt som Produktion */
}
ugyldig løkke ( ) {
Button_State = digitalRead ( Trykknap ) ; /* Tjek trykknappens tilstand */
Serial.println ( Button_State ) ;
hvis ( Button_State == HØJ ) { /* hvis betingelse for at kontrollere knapstatus */
digitalSkriv ( LED_Pin, HØJ ) ; /* HØJ tilstand LED TÆNDT */
} andet {
digitalSkriv ( LED_Pin, LAV ) ; /* Ellers LED OFF */
}
}


Kode startede med at definere GPIO-ben til LED og trykknap. Derefter erklæres LED GPIO som output, mens trykknappen GPIO er indstillet som input.

Til sidst kontrolleres trykknappens tilstand ved hjælp af if-tilstanden. Trykknappens tilstand udskrives også på seriel skærm vha Serial.println(Button_State) .

Hvis trykknappens input lyser HØJ, vil den tændes, ellers vil den forblive OFF.

3.7: Output

Først kan vi se, at LED'en er slukket.


Tryk nu på trykknappen, et HØJ signal sendes til ESP32 GPIO 15, og LED'en tændes.


Samme output kan også ses på Arduino seriel skærm.

Konklusion

ESP32 har flere GPIO-stifter, der kan læse digitale data fra sensorer som trykknapper. Ved at bruge den digitale læsefunktion kan trykknappen nemt forbindes med ESP32 for at styre forskellige enheder. Ved at bruge denne artikel én gang kan trykknappen forbindes med enhver GPIO-pin på ESP32.