Gumb z ESP32 – Arduino IDE

Gumb Z Esp32 Arduino Ide



ESP32 je IoT plošča, ki jo je mogoče povezati z različnimi zunanjimi zunanjimi napravami za ustvarjanje izhodov. ESP32 sprejema vhodne podatke iz naprav, kot so tipke, in generira odzive glede na prejeti vnos. Gumbe lahko uporabite za krmiljenje več senzorjev in naprav, kot je krmiljenje LED ali vzdrževanje hitrosti motorjev. V tej lekciji bomo razpravljali o povezovanju gumbov z ESP32.

Sledi vsebina te lekcije:







1: Uvod v tipko



2: Delovanje pritisnega gumba



2.1: Načini dela s pritiskom na gumb





3: Gumb za povezovanje z ESP32

3.1: Digitalni vhodni izhodni zatiči v ESP32



3.2: Kako brati digitalne vhode v ESP32

3.3: Povezovanje gumba z ESP32 z uporabo funkcije digitalnega branja

3.4: Zahtevana strojna oprema

3.5: Shema

3.6: Koda za povezovanje ESP32 s pritiskom na gumb

3.7: Izhod

1: Uvod v tipko

Gumb je preprost gumb z mehanizmom za nadzor stanja različnih strojev ali procesov. Gumb je sestavljen iz trdega materiala, kot je plastika ali kovina, zgornja površina pa je običajno ravna, kar omogoča uporabnikom, da ga pritisnejo.

V projektih ESP32 se tipka široko uporablja za nadzor vhodnih in izhodnih stanj zatiča. Preklopna stikala in gumbi delujejo po nekoliko drugačnih principih. Običajno ali preklopno stikalo se ustavi, ko ga pritisnete, medtem ko je potisni gumb naprava z dvema položajema, ki se običajno ustavi, ko se sprosti.

Poglobimo se v načelo delovanja gumba Push do podrobnosti:

2: Delovanje pritisnega gumba

Gumb ima običajno 4 nožice. Ti 4 zatiči so povezani v obliki para, kot sta dva zgornja zatiča notranje povezana, podobno sta tudi druga dva notranje povezana.


Če želite vedeti, katera dva nožica sta povezana, vzemite multimeter (DMM) in ga nastavite na test kontinuitete , zdaj pritrdite pozitivno sondo s katerim koli krakom gumba in nato enega za drugim pritrdite negativno sondo multimetra z drugimi kraki. Če je povezava med obema koncema končana, se iz multimetra sliši pisk. Tisti dve nogi, ki sta notranje povezani, bosta zaključili vezje.

2.1: Načini dela s pritiskom na gumb

Za uporabo gumba v vezju potrebujemo en pin iz vsakega notranje povezanega para. Če vzamemo nožice tipke iz istega para, ki so notranje povezane, bo prišlo do kratkega stika, ker so ti že povezani, bo zaobšel mehanizem tipke.

Na podlagi tega mehanizma lahko tipka deluje v naslednjih dveh načinih:


Če vzamemo primer načina, prikazanega na spodnji sliki. Vidimo lahko, da ko gumb ni pritisnjen, je notranja povezava odprta, ko pritisnete gumb, se bosta povezala notranji priključek A in B in vezje se bo zaključilo.


Zdaj smo dokončali osnovni princip delovanja tipk. Nato bomo povezali preprost gumb z ESP32 in z njim upravljali LED.

3: Gumb za povezovanje z ESP32

Pred povezovanjem gumba z ESP32 morate poznati zatiče GPIO, ki jih je mogoče uporabiti kot vhod. Zdaj bomo razpravljali o digitalnih vhodnih izhodnih zatičih v ESP32.

3.1: Digitalni vhodni izhodni zatiči v ESP32

ESP32 ima skupno 48 zatiči, od katerih je vsak specifičen za določeno funkcijo, med 48 zatiči nekateri niso fizično izpostavljeni, kar pomeni, da jih ne moremo uporabljati za zunanje namene. Ti zatiči so integrirani v ESP32 za različne funkcije.

Plošča ESP32 ima 2 različni različici 36 zatiči in 30 žebljički. Tukaj je razlika 6 zatičev med obema ploščama zaradi 6 integriranih bliskovnih zatičev SPI, ki so na voljo za komunikacijo SPI na 36 pin različica plošče ESP32. Vendar teh 6 zatičev SPI ni mogoče uporabiti za druge namene, kot je vhodni izhod.

Spodaj navedeni pinout je 30 zatičev Plošča ESP32:


Med vsemi GPIO samo 4 nožice ( 34, 35, 36 in 39 ) so samo vhodni, medtem ko se lahko vsi drugi zatiči uporabljajo tako za vhod kot za izhod. Kot je bilo omenjeno zgoraj, 6 zatičev SPI ni mogoče uporabiti za vhod ali izhod.

3.2: Kako brati digitalne vhode v ESP32

Vhod s pritiskom na gumb je mogoče prebrati na določenem zatiču GPIO, za katerega je funkcija pinMode() je treba najprej definirati znotraj kode Arduino. Ta funkcija bo nastavila pin GPIO kot vhod. pinMode() Sintaksa funkcije je naslednja:

pinMode ( GPIO, VHOD ) ;


Za branje podatkov z definiranega pina GPIO digitalRead() funkcija bo poklicana. Sledi ukaz, ki ga lahko uporabite za prevzem podatkov s potisnega gumba na zatiču GPIO:

digitalRead ( GPIO ) ;

3.3: Povezovanje gumba z ESP32 z uporabo funkcije digitalnega branja

Zdaj bomo povezali ESP32 s tipko z uporabo digitalno branje funkcijo na katerem koli priključku GPIO. Če prevzamete vhod s tipke, se LED dioda vklopi ali izklopi.

3.4: Zahtevana strojna oprema

Spodaj je seznam potrebnih komponent:

    • Plošča ESP32
    • LED
    • Upori 220 Ohm
    • 4-pinski gumb
    • Breadboard
    • Priključitev premostitvenih žic

3.5: Shema

Spodnja slika je shematski diagram gumba z ESP32. Tu se vhod prebere s potisnega gumba na GPIO pin 15, LED pa je priključen na GPIO pin 14.

3.6: Koda za povezovanje gumba z ESP32

Zdaj bo za nalaganje kode v ESP32 uporabljen urejevalnik Arduino IDE. Odprite IDE in povežite ploščo ESP32, nato pa v razdelku z orodji izberite vrata COM. Ko je plošča ESP32 pripravljena, prilepite kodo v IDE in kliknite naloži:

const int Push_Button = petnajst ; /* Digitalni pin petnajst definiran za Pritisni gumb */
const int LED_Pin = 14 ; /* Digitalni pin 14 definiran za LED */
int Button_State = 0 ;
nastavitev praznine ( ) {
Serial.begin ( 115200 ) ;
pinMode ( Push_Button, INPUT ) ; /* GPIO petnajst set kot Vnos */
pinMode ( LED_Pin, IZHOD ) ; /* GPIO 14 set kot Izhod */
}
prazna zanka ( ) {
Button_State = digitalRead ( Pritisni gumb ) ; /* Preverite stanje tipke */
Serial.println ( Button_State ) ;
če ( Button_State == VISOKO ) { /* če pogoj za preverjanje stanja gumba */
digitalWrite ( LED_Pin, VISOKO ) ; /* HIGH stanje LED ON */
} drugače {
digitalWrite ( LED_pin, NIZEK ) ; /* Sicer je LED IZKLOPLJENA */
}
}


Koda se je začela z definiranjem zatičev GPIO za LED in gumb. Po tem je LED GPIO deklariran kot izhod, medtem ko je gumb GPIO nastavljen kot vhod.

Na koncu je stanje gumba preverjeno s pogojem if. Stanje gumba se natisne tudi na serijski monitor z uporabo Serial.println(Button_State) .

Če je vhod gumba HIGH LED, se bo vklopil, sicer bo ostal IZKLOPLJEN.

3.7: Izhod

Sprva lahko vidimo, da je LED IZKLOPLJENA.


Sedaj pritisnite gumb in na ESP32 GPIO 15 bo poslan VISOKI signal in LED se bo prižgala.


Isti izhod lahko vidite tudi na serijskem monitorju Arduino.

Zaključek

ESP32 ima več zatičev GPIO, ki lahko berejo digitalne podatke iz senzorjev, kot so gumbi. Uporaba gumba za funkcijo digitalnega branja se lahko enostavno poveže z ESP32 za nadzor različnih naprav. Če enkrat uporabite ta članek, lahko potisni gumb povežete s katerim koli zatičem GPIO ESP32.