Sadržaj:

ESP32: Interni detalji i ispis: 11 koraka
ESP32: Interni detalji i ispis: 11 koraka

Video: ESP32: Interni detalji i ispis: 11 koraka

Video: ESP32: Interni detalji i ispis: 11 koraka
Video: Interrupting Blink sketch (Subtittled) 2024, Novembar
Anonim
Image
Image

U ovom ćemo članku govoriti o internim detaljima i prikvačivanju ESP32. Pokazat ću vam kako ispravno identificirati pinove gledajući podatkovnu tablicu, kako identificirati koji od pinova rade kao IZLAZ / ULAZ, kako imati pregled senzora i perifernih uređaja koje nam nudi ESP32, pored boot. Stoga vjerujem da ću, s video zapisom u nastavku, između ostalih informacija moći odgovoriti na nekoliko pitanja koja sam dobio u porukama i komentarima o referencama ESP32.

Korak 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

Ovdje imamo PINOUT za

WROOM-32 koji služi kao dobra referenca pri programiranju. Važno je obratiti pažnju na ulaze / izlaze opće namjene (GPIO), odnosno programirane ulazne i izlazne portove podataka, koji i dalje mogu biti AD pretvarač ili dodirni pin, poput GPIO4, na primjer. To se događa i s Arduinom, gdje ulazni i izlazni pinovi također mogu biti PWM.

Korak 2: ESP-WROOM-32

Na gornjoj slici imamo sam ESP32. Postoji nekoliko vrsta umetaka s različitim karakteristikama prema proizvođaču.

Korak 3: Ali, šta je ispravno pinout da koristim za svoj ESP32?

Ali, šta je ispravno pinout da koristim za svoj ESP32?
Ali, šta je ispravno pinout da koristim za svoj ESP32?
Ali, šta je ispravno pinout da koristim za svoj ESP32?
Ali, šta je ispravno pinout da koristim za svoj ESP32?
Ali, šta je ispravno pinout da koristim za svoj ESP32?
Ali, šta je ispravno pinout da koristim za svoj ESP32?
Ali, šta je ispravno pinout da koristim za svoj ESP32?
Ali, šta je ispravno pinout da koristim za svoj ESP32?

ESP32 nije težak. Toliko je lako da možemo reći da u vašem okruženju nema didaktičke brige. Međutim, moramo biti didaktični, da. Ako želite programirati u Assembleru, to je u redu. Ali, vrijeme inženjeringa je skupo. Dakle, ako vam sve što je dobavljač tehnologije daje alat za koje je potrebno vrijeme da razumijete njegov rad, to vam lako može postati problem, jer će sve to povećati vrijeme inženjeringa, dok proizvod postaje sve skuplji. Ovo objašnjava moju sklonost lakim stvarima, onima koje nam mogu olakšati svakodnevni život, jer je vrijeme važno, posebno u današnjem užurbanom svijetu.

Vraćajući se na ESP32, u listu s podacima, kao u onoj gore, imamo ispravnu identifikaciju pina u istaknutim dijelovima. Često se oznaka na čipu ne podudara sa stvarnim brojem pina, jer imamo tri situacije: GPIO, serijski broj, kao i kod same kartice.

Kao što je prikazano u donjem primjeru, imamo povezivanje LED diode u ESP -u i ispravan način konfiguracije:

Primijetite da je oznaka TX2, ali moramo slijediti ispravnu identifikaciju, kako je istaknuto na prethodnoj slici. Stoga će ispravna identifikacija pina biti 17. Slika prikazuje koliko bi kôd trebao ostati blizu.

Korak 4: ULAZ / IZLAZ

ULAZ / IZLAZ
ULAZ / IZLAZ

Prilikom izvođenja INPUT i OUTPUT testova na pinovima dobili smo sljedeće rezultate:

INPUT nije radio samo na GPIO0.

OUTPUT nije radio samo na pinovima GPIO34 i GPIO35, a to su VDET1 i VDET2.

* VDET pinovi pripadaju domenu napajanja RTC -a. To znači da se mogu koristiti kao ADC pinovi i da ih ULP-koprocesor može čitati. To mogu biti samo unosi, a nikad izlasci.

Korak 5: Blok dijagram

Blok dijagram
Blok dijagram

Ovaj dijagram pokazuje da ESP32 ima dual core, područje čipa koje kontrolira WiFi i drugo područje koje kontrolira Bluetooth. Također ima hardversko ubrzanje za šifriranje, što omogućava povezivanje na LoRa, mrežu na velike udaljenosti koja omogućava povezivanje do 15 km, pomoću antene. Takođe posmatramo generator takta, sat u realnom vremenu i druge tačke koje, između ostalog, uključuju PWM, ADC, DAC, UART, SDIO, SPI. Sve to čini uređaj prilično kompletnim i funkcionalnim.

Korak 6: Periferije i senzori

Periferije i senzori
Periferije i senzori

ESP32 ima 34 GPIO -a koji se mogu dodijeliti različitim funkcijama, kao što su:

Samo digitalno;

Omogućen analogni signal (može se konfigurirati kao digitalni);

Omogućeno kapacitivnim dodirom (može se konfigurirati kao digitalno);

I drugi.

Važno je napomenuti da se većina digitalnih GPIO-ova može konfigurirati kao interno pull-up ili pull-down, ili konfigurirati za visoku impedanciju. Kada se postavi kao ulaz, vrijednost se može očitati kroz registar.

Korak 7: GPIO

Analogno-digitalni pretvarač (ADC)

Esp32 integrira 12-bitne ADC-ove i podržava mjerenja na 18 kanala (analogno omogućeni pinovi). ULP-koprocesor u ESP32 također je dizajniran za mjerenje napona dok radi u stanju mirovanja, što omogućava nisku potrošnju energije. CPU se može probuditi postavljanjem praga i / ili putem drugih okidača.

Digitalno-analogni pretvarač (DAC)

Dva 8-bitna DAC kanala mogu se koristiti za pretvaranje dva digitalna signala u dva analogna naponska izlaza. Ovi dvostruki DAC -ovi podržavaju napajanje kao referentnu vrijednost ulaznog napona i mogu pokretati druga kola. Dvostruki kanali podržavaju neovisne konverzije.

Korak 8: Senzori

Senzori
Senzori
Senzori
Senzori

Dodirnite senzor

ESP32 ima 10 kapacitivnih GPIO -ova za otkrivanje koji otkrivaju inducirane varijacije pri dodirivanju ili približavanju GPIO -a prstom ili drugim predmetima.

ESP32 također ima temperaturni osjetnik i unutarnji senzor Hall -a, ali da biste radili s njima, morate promijeniti postavke registara. Za više detalja pogledajte tehnički priručnik putem veze:

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

Korak 9: Pas čuvar

ESP32 ima tri nadzorna mjerača vremena: jedan na svakom od dva modula tajmera (nazvan Primarni nadzorni mjerač vremena, ili MWDT) i jedan na RTC modulu (koji se naziva RTC Tajmer za nadgledanje ili RWDT).

Korak 10: Bluetooth

bluetooth
bluetooth
bluetooth
bluetooth

Bluetooth sučelje v4.2 BR / EDR i Bluetooth LE (niska potrošnja energije)

ESP32 integrira Bluetooth kontroler veze i Bluetooth osnovni pojas, koji izvode protokole osnovnog pojasa i druge rutine povezivanja na niskom nivou, poput modulacije / demodulacije, obrade paketa, obrade prijenosa bitova, skakanja frekvencije itd.

Kontroler veze radi u tri glavna stanja: stanje pripravnosti, veza i njuškanje. Omogućava više povezivanja i druge operacije, poput upita, stranica i sigurno uparivanje, pa na taj način omogućava Piconet i Scatternet.

Korak 11: Pokrenite sistem

Boot
Boot
Boot
Boot

Na mnogim razvojnim pločama s ugrađenim USB / serijskim priključkom, esptool.py može automatski vratiti ploču na način pokretanja.

ESP32 će ući u serijski boot loader kada je GPIO0 nisko postavljen na reset. U suprotnom će program pokrenuti u flash -u.

GPIO0 ima unutarnji otpornik za podizanje pa će, ako nema veze, ići visoko.

Mnoge ploče koriste dugme s oznakom "Flash" (ili "BOOT" na nekim razvojnim pločama Espressif) koje vodi GPIO0 prema dolje kada se pritisne.

GPIO2 također treba ostaviti nepovezan / plutajući.

Na gornjoj slici možete vidjeti test koji sam obavio. Stavio sam osciloskop na sve pinove ESP -a da vidim šta se dogodilo kada se uključi. Otkrio sam da kad dobijem iglu, ona generira oscilacije od 750 mikrosekundi, kao što je prikazano u označenom području s desne strane. Šta možemo učiniti po tom pitanju? Imamo nekoliko mogućnosti, poput davanja kašnjenja sa krugom s tranzistorom, na primjer, proširivačem vrata. Ističem da je GPIO08 obrnut. Oscilacija izlazi prema gore, a ne prema dolje.

Još jedan detalj je da imamo neke pinove koji počinju na visokom, a drugi na niskom. Stoga se ovaj PINOUT odnosi na to kada se ESP32 uključuje, posebno kada radite s opterećenjem koje pokreće, na primjer, trijak, relej, kontaktor ili neko napajanje.

Preporučuje se: