Cuprins:

ESP32: Detalii interne și Pinout: 11 pași
ESP32: Detalii interne și Pinout: 11 pași

Video: ESP32: Detalii interne și Pinout: 11 pași

Video: ESP32: Detalii interne și Pinout: 11 pași
Video: ESP32. Curs în limba română. Lecția 1, introducere 2024, Noiembrie
Anonim
Image
Image

În acest articol, vom vorbi despre detaliile interne și fixarea ESP32. Vă voi arăta cum să identificați corect pinii uitându-vă la foaia tehnică, cum să identificați care dintre ace funcționează ca OUTPUT / INPUT, cum să aveți o imagine de ansamblu despre senzorii și perifericele pe care ESP32 ni le oferă, pe lângă cizmă. Prin urmare, cred că, cu videoclipul de mai jos, voi putea răspunde la mai multe întrebări pe care le-am primit în mesaje și comentarii despre referințele ESP32, printre alte informații.

Pasul 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

Aici avem PINOUTUL

WROOM-32, care servește ca o bună referință pentru atunci când programați. Este important să acordați atenție intrărilor / ieșirilor cu scop general (GPIO), adică porturilor de intrare și ieșire programabile, care pot fi în continuare un convertor AD sau un pin tactil, cum ar fi GPIO4, de exemplu. Acest lucru se întâmplă și cu Arduino, unde pinii de intrare și ieșire pot fi, de asemenea, PWM.

Pasul 2: ESP-WROOM-32

În imaginea de mai sus, avem ESP32 în sine. Există mai multe tipuri de inserții cu caracteristici diferite în funcție de producător.

Pasul 3: Dar, Care este Pinout-ul corect pentru mine de utilizat pentru ESP32?

Dar, Care este Pinout-ul corect pentru mine de utilizat pentru ESP32-ul meu?
Dar, Care este Pinout-ul corect pentru mine de utilizat pentru ESP32-ul meu?
Dar, Care este Pinout-ul corect pentru mine de utilizat pentru ESP32-ul meu?
Dar, Care este Pinout-ul corect pentru mine de utilizat pentru ESP32-ul meu?
Dar, Care este Pinout-ul corect pentru mine de utilizat pentru ESP32-ul meu?
Dar, Care este Pinout-ul corect pentru mine de utilizat pentru ESP32-ul meu?
Dar, Care este Pinout-ul corect pentru mine de utilizat pentru ESP32-ul meu?
Dar, Care este Pinout-ul corect pentru mine de utilizat pentru ESP32-ul meu?

ESP32 nu este dificil. Este atât de ușor încât putem spune că nu există nicio preocupare didactică în mediul dvs. Cu toate acestea, trebuie să fim didactici, da. Dacă doriți să programați în Assembler, este în regulă. Dar timpul de inginerie este scump. Deci, dacă tot ceea ce este un furnizor de tehnologie vă oferă un instrument care necesită timp pentru a înțelege funcționarea sa, acest lucru poate deveni cu ușurință o problemă pentru dvs., deoarece toate acestea vor crește timpul de inginerie, în timp ce produsul devine din ce în ce mai scump. Acest lucru explică preferința mea pentru lucrurile ușoare, cele care ne pot face zi de zi mai ușoară, deoarece timpul este important, mai ales în lumea aglomerată de astăzi.

Revenind la ESP32, într-o foaie tehnică, ca în cea de mai sus, avem identificarea corectă a pinului în evidențieri. Adesea, eticheta de pe cip nu se potrivește cu numărul real al pinului, deoarece avem trei situații: GPIO, numărul de serie și, de asemenea, codul cardului în sine.

Așa cum se arată în exemplul de mai jos, avem o conexiune a unui LED în ESP și modul corect de configurare:

Observați că eticheta este TX2, dar trebuie să urmăm identificarea corectă, așa cum este evidențiat în imaginea anterioară. Prin urmare, identificarea corectă a știftului va fi 17. Imaginea arată cât de aproape ar trebui să rămână codul.

Pasul 4: INTRARE / IEȘIRE

INTRARE IEȘIRE
INTRARE IEȘIRE

La efectuarea testelor INPUT și OUTPUT pe ace, am obținut următoarele rezultate:

INPUT nu a funcționat doar pe GPIO0.

OUTPUT nu a funcționat doar pe pinii GPIO34 și GPIO35, care sunt VDET1 și respectiv VDET2.

* Pinii VDET aparțin domeniului de putere al RTC. Aceasta înseamnă că pot fi folosite ca pini ADC și că coprocesorul ULP le poate citi. Ele pot fi doar intrări și niciodată ieșiri.

Pasul 5: Diagrama bloc

Diagramă bloc
Diagramă bloc

Această diagramă arată că ESP32 are dual core, o zonă cu cip care controlează WiFi și o altă zonă care controlează Bluetooth. De asemenea, are accelerare hardware pentru criptare, care permite conectarea la LoRa, o rețea pe distanțe lungi care permite o conexiune de până la 15 km, utilizând o antenă. De asemenea, observăm generatorul de ceas, ceasul în timp real și alte puncte care implică, de exemplu, PWM, ADC, DAC, UART, SDIO, SPI, printre altele. Acest lucru face ca dispozitivul să fie destul de complet și funcțional.

Pasul 6: Periferice și senzori

Periferice și senzori
Periferice și senzori

ESP32 are 34 de GPIO-uri care pot fi atribuite la diferite funcții, cum ar fi:

Numai digital;

Activat analog (poate fi configurat ca digital);

Capacitive-touch-enabled (poate fi configurat ca digital);

Si altii.

Este important de reținut că majoritatea GPIO-urilor digitale pot fi configurate ca pull-up intern sau pull-down sau configurate pentru impedanță ridicată. Când este setată ca intrare, valoarea poate fi citită prin registru.

Pasul 7: GPIO

Convertor analog-digital (ADC)

Esp32 integrează ADC-uri pe 12 biți și acceptă măsurători pe 18 canale (pini analogici). Coprocesorul ULP din ESP32 este, de asemenea, conceput pentru a măsura tensiunile în timp ce funcționează în modul de repaus, ceea ce permite un consum redus de energie. CPU poate fi trezit printr-o setare a pragului și / sau prin alte declanșatoare.

Convertor digital-analog (DAC)

Două canale DAC pe 8 biți pot fi utilizate pentru a converti două semnale digitale la două ieșiri analogice de tensiune. Aceste DAC duale acceptă sursa de alimentare ca referință a tensiunii de intrare și pot conduce alte circuite. Canalele duale acceptă conversii independente.

Pasul 8: Senzori

Senzori
Senzori
Senzori
Senzori

Senzor tactil

ESP32 are 10 GPIO de detectare capacitive care detectează variațiile induse la atingerea sau abordarea unui GPIO cu un deget sau alte obiecte.

ESP32 are, de asemenea, un senzor de temperatură și un senzor intern Hall, dar pentru a lucra cu ei, trebuie să modificați setările registrelor. Pentru mai multe detalii, consultați manualul tehnic prin link:

www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

Pasul 9: Watchdog

ESP32 are trei cronometre de supraveghere: unul pe fiecare dintre cele două module de cronometru (numit Cronometrul primar de supraveghere sau MWDT) și unul pe modulul RTC (numit Cronometru de supraveghere RTC sau RWDT).

Pasul 10: Bluetooth

Bluetooth
Bluetooth
Bluetooth
Bluetooth

Interfață Bluetooth v4.2 BR / EDR și Bluetooth LE (energie redusă)

ESP32 integrează un controler de conexiune Bluetooth și o bandă de bază Bluetooth, care realizează protocoale de bandă de bază și alte rutine de conectare de nivel scăzut, cum ar fi modulația / demodularea, procesarea pachetelor, procesarea fluxului de biți, saltul de frecvență etc.

Controlerul de conexiune funcționează în trei stări principale: standby, conexiune și sniff. Permite conexiuni multiple și alte operații, cum ar fi interogare, pagină și asociere simplă sigură, permițând astfel Piconet și Scatternet.

Pasul 11: Boot

Cizmă
Cizmă
Cizmă
Cizmă

Pe multe plăci de dezvoltare cu USB / Serial încorporat, esptool.py poate reseta automat placa în modul de încărcare.

ESP32 va intra în încărcătorul de încărcare în serie când GPIO0 este menținut scăzut la resetare. În caz contrar, va rula programul în flash.

GPIO0 are un rezistor de tragere intern, deci dacă este fără conexiune, va crește.

Multe placi folosesc un buton etichetat „Flash” (sau „BOOT” pe unele plăci de dezvoltare Espressif) care duce GPIO0 în jos când este apăsat.

GPIO2 ar trebui, de asemenea, să fie lăsat neconectat / plutitor.

În imaginea de mai sus, puteți vedea un test pe care l-am efectuat. Am pus osciloscopul pe toți pinii ESP-ului pentru a vedea ce s-a întâmplat când a fost pornit. Am descoperit că atunci când primesc un pin, acesta generează oscilații de 750 de microsecunde, așa cum se arată în zona evidențiată din partea dreaptă. Ce putem face în acest sens? Avem mai multe opțiuni, cum ar fi să oferim o întârziere cu un circuit cu un tranzistor, un expansor de ușă, de exemplu. Am subliniat că GPIO08 este inversat. Oscilația iese în sus și nu în jos.

Un alt detaliu este că avem niște pini care încep în High, iar alții în Low. Prin urmare, acest PINOUT este o referință la momentul în care ESP32 pornește, mai ales atunci când lucrați cu o sarcină pentru a declanșa, de exemplu, un triac, un releu, un contactor sau o anumită putere.

Recomandat: