Mygtukas su ESP32 – Arduino IDE

Mygtukas Su Esp32 Arduino Ide



ESP32 yra daiktų interneto plokštė, kurią galima susieti su skirtingais išoriniais periferiniais įrenginiais, kad būtų generuojami išėjimai. ESP32 priima įvestį iš įrenginių, pvz., mygtukų, ir generuoja atsakymus pagal gautą įvestį. Mygtukai gali būti naudojami norint valdyti kelis jutiklius ir įrenginius, pavyzdžiui, valdyti šviesos diodą arba palaikyti variklių greitį. Šioje pamokoje aptarsime mygtukų sąsają su ESP32.

Toliau pateikiama šios pamokos turinio lentelė:







1: Paspaudimo mygtuko įvadas



2: mygtuko veikimas



2.1: Mygtukų darbo režimai





3: Sąsajos mygtukas su ESP32

3.1: skaitmeninės įvesties išvesties kaiščiai ESP32



3.2: Kaip skaityti skaitmenines įvestis ESP32

3.3: Sąsajos mygtukas su ESP32 naudojant skaitmeninio skaitymo funkciją

3.4: reikalinga aparatinė įranga

3.5: schema

3.6: ESP32 sąsajos su mygtuku kodas

3.7: Išvestis

1: Paspaudimo mygtuko įvadas

Mygtukas yra paprastas mygtukas su mechanizmu, skirtu valdyti įvairių mašinų ar procesų būsenas. Mygtukas pagamintas iš kietos medžiagos, pvz., plastiko arba metalo, o viršutinis paviršius paprastai yra plokščias, todėl vartotojai gali jį paspausti.

ESP32 projektuose mygtukas plačiai naudojamas kaiščio įvesties ir išvesties būsenoms valdyti. Perjungimo jungikliai ir mygtukai veikia šiek tiek skirtingais principais. Įprastas arba perjungimo jungiklis sustoja jį paspaudus, o mygtukas yra dviejų padėčių įtaisas, kuris paprastai sustoja jį atleidus.

Išsamiau susipažinkime su mygtuko veikimo principu:

2: mygtuko veikimas

Mygtukas paprastai turi 4 kaiščius. Šie 4 kaiščiai yra sujungti kaip pora, pavyzdžiui, du viršutiniai kaiščiai yra sujungti viduje panašiai, kiti du taip pat yra sujungti viduje.


Norėdami sužinoti, kurie du kaiščiai yra prijungti, paimkite multimetrą (DMM) ir nustatykite jį tęstinumo testas , dabar pritvirtinkite teigiamą zondą bet kuria mygtuko kojele, o tada po vieną prijunkite neigiamą multimetro zondą kitomis kojomis. Jei ryšys tarp abiejų galų baigtas, iš multimetro galima išgirsti pyptelėjimą. Tos dvi kojos, kurios yra sujungtos viduje, užbaigs grandinę.

2.1: Mygtukų darbo režimai

Norėdami naudoti mygtuką grandinėje, mums reikia vieno kaiščio iš kiekvienos viduje prijungtos poros. Jei paimsime mygtuko kaiščius iš tos pačios poros, kurios yra viduje sujungtos, įvyks trumpasis jungimas, nes jie jau yra prijungti, tai apeis mygtuko mechanizmą.

Remiantis šiuo mechanizmu, mygtukas gali veikti dviem režimais:


Jei paimsime režimo pavyzdį, parodytą žemiau esančiame paveikslėlyje. Matome, kad kai mygtukas nepaspaudžiamas, vidinė jungtis atsidaro paspaudus mygtuką, bus prijungtas vidinis A ir B gnybtas ir grandinė bus baigta.


Dabar baigėme pagrindinį mygtukų veikimo principą. Toliau su ESP32 susiesime paprastą mygtuką ir valdysime LED.

3: Sąsajos mygtukas su ESP32

Prieš prijungiant mygtuką su ESP32, reikia žinoti GPIO kaiščius, kuriuos galima naudoti kaip įvestį. Dabar aptarsime ESP32 skaitmeninės įvesties išvesties kaiščius.

3.1: skaitmeninės įvesties išvesties kaiščiai ESP32

ESP32 turi iš viso 48 kaiščiai, kurių kiekvienas yra specifinis tam tikrai funkcijai, tarp 48 kaiščių kai kurie nėra fiziškai veikiami, todėl negalime jų naudoti išoriniams tikslams. Šie kaiščiai yra integruoti ESP32 viduje įvairioms funkcijoms atlikti.

ESP32 plokštė turi 2 skirtingus variantus 36 smeigtukai ir 30 smeigtukai. Čia 6 kontaktų skirtumas tarp abiejų plokščių yra dėl 6 integruotų SPI blykstės kaiščių, skirtų SPI ryšiui 36 ESP32 plokštės kaiščių variantas. Tačiau šių 6 SPI kaiščių negalima naudoti kitiems tikslams, pavyzdžiui, įvesties išvesties.

Žemiau pateiktas smeigtukas yra iš 30 kaiščių ESP32 plokštė:


Tarp visų GPIO tik 4 kaiščiai ( 34, 35, 36 ir 39 ). Kaip minėta pirmiau, 6 SPI kaiščiai negali būti naudojami įvesties ar išvesties tikslais.

3.2: Kaip skaityti skaitmenines įvestis ESP32

Paspaudimo mygtuko įvestį galima nuskaityti ant apibrėžto GPIO kaiščio, kurio funkcija pinMode () pirmiausia reikia apibrėžti Arduino kode. Ši funkcija nustatys GPIO kaištį kaip įvestį. pinMode () Funkcijos sintaksė yra tokia:

pinMode ( GPIO, INPUT ) ;


Norėdami nuskaityti duomenis iš apibrėžto GPIO kaiščio digitalRead() funkcija bus iškviesta. Toliau pateikiama komanda, kurią galima naudoti norint paimti duomenis iš GPIO kaiščio mygtuko:

skaitmeninis skaitymas ( GPIO ) ;

3.3: Sąsajos mygtukas su ESP32 naudojant skaitmeninio skaitymo funkciją

Dabar ESP32 susiesime su mygtuku, naudodami skaitmeninis skaitymas funkcija bet kuriame GPIO kaištyje. Paimant įvestį iš mygtuko, šviesos diodas bus įjungtas arba išjungtas.

3.4: reikalinga aparatinė įranga

Žemiau pateikiamas reikalingų komponentų sąrašas:

    • ESP32 lenta
    • LED
    • 220 omų rezistoriai
    • 4 Smeigtuko mygtukas
    • Bandomoji Lenta
    • Jungiamieji trumpikliai laidai

3.5: schema

Žemiau yra ESP32 mygtuko schema. Čia įvestis nuskaitoma iš 15 GPIO kaiščio mygtuko, o šviesos diodas prijungiamas prie GPIO 14 kaiščio.

3.6: mygtuko sujungimo su ESP32 kodas

Dabar norint įkelti kodą į ESP32 bus naudojamas Arduino IDE redaktorius. Atidarykite IDE ir prijunkite ESP32 plokštę, tada įrankių skyriuje pasirinkite COM prievadą. Kai ESP32 plokštė bus paruošta, įklijuokite kodą į IDE ir spustelėkite įkelti:

const int Push_Button = penkiolika ; /* Skaitmeninis kaištis penkiolika apibrėžta dėl Paspauskite mygtuką */
const int LED_Pin = 14 ; /* Skaitmeninis kaištis 14 apibrėžta dėl LED */
int Mygtuko_būsena = 0 ;
tuščias nustatymas ( ) {
Serialas.begin ( 115 200 ) ;
pinMode ( Push_Button, INPUT ) ; /* GPIO penkiolika rinkinys kaip Įvestis */
pinMode ( LED_Pin, IŠVESTIS ) ; /* GPIO 14 rinkinys kaip Išvestis */
}
tuščia kilpa ( ) {
Button_State = skaitmeninis skaitymas ( Push_Button ) ; /* Patikrinkite mygtuko būseną */
Serial.println ( Mygtuko būsena ) ;
jeigu ( Button_State == AUKŠTA ) { /* jeigu mygtuko būsenos patikrinimo sąlyga */
skaitmeninis rašymas ( LED_Pin, AUKŠTAS ) ; /* AUKŠTOS būsenos šviesos diodas ĮJUNGTA */
} Kitas {
skaitmeninis rašymas ( LED_Pin, LOW ) ; /* Kitaip LED IŠJUNGTA */
}
}


Kodas pradėtas apibrėžiant GPIO kaiščius LED ir mygtukui. Po to LED GPIO deklaruojamas kaip išėjimas, o mygtukas GPIO nustatomas kaip įvestis.

Pabaigoje mygtuko būsena patikrinta naudojant sąlygą if. Mygtuko būsena taip pat spausdinama serijiniame monitoriuje naudojant Serial.println(Button_State) .

Jei mygtuko įvesties indikatorius yra AUKŠTAS, jis įsijungs, kitaip jis liks IŠJUNGTAS.

3.7: Išvestis

Iš pradžių matome, kad šviesos diodas IŠJUNGTA.


Dabar paspauskite mygtuką, HIGH signalas bus išsiųstas į ESP32 GPIO 15 ir įsijungs šviesos diodas.


Tą pačią išvestį taip pat galima pamatyti „Arduino“ serijiniame monitoriuje.

Išvada

ESP32 turi kelis GPIO kaiščius, kurie gali nuskaityti skaitmeninius duomenis iš jutiklių, pavyzdžiui, mygtukų. Naudojant skaitmeninio skaitymo funkcijos mygtuką, galima lengvai susieti su ESP32, kad būtų galima valdyti įvairius įrenginius. Naudodami šį straipsnį vieną kartą galite susieti mygtuką su bet kuriuo ESP32 GPIO kaiščiu.