Spisu treści:

ESP32: Dane wewnętrzne i pinout: 11 kroków
ESP32: Dane wewnętrzne i pinout: 11 kroków

Wideo: ESP32: Dane wewnętrzne i pinout: 11 kroków

Wideo: ESP32: Dane wewnętrzne i pinout: 11 kroków
Wideo: 02 ATNEL WIFI ESP + jak to działa w praktyce - przykłady na żywo 2024, Listopad
Anonim
Image
Image

W tym artykule omówimy szczegóły wewnętrzne i przypięcie ESP32. Pokażę Ci, jak poprawnie zidentyfikować piny, patrząc na arkusz danych, jak zidentyfikować, który z pinów działa jako WYJŚCIE / WEJŚCIE, jak uzyskać przegląd czujników i urządzeń peryferyjnych, które oferuje nam ESP32, oprócz uruchomić. Dlatego wierzę, że za pomocą poniższego filmu będę mógł odpowiedzieć na kilka pytań, które otrzymałem w wiadomościach i komentarzach dotyczących m.in. referencji ESP32.

Krok 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

Tutaj mamy PINOUT z

WROOM-32, który służy jako dobry punkt odniesienia podczas programowania. Ważne jest, aby zwrócić uwagę na wejścia/wyjścia ogólnego przeznaczenia (GPIO), czyli programowalne porty wejścia i wyjścia danych, które nadal mogą być na przykład konwerterem AD lub pinem dotykowym, takim jak GPIO4. Dzieje się tak również w przypadku Arduino, gdzie piny wejściowe i wyjściowe mogą być również PWM.

Krok 2: ESP-WROOM-32

Na powyższym obrazku mamy sam ESP32. W zależności od producenta istnieje kilka rodzajów wkładek o różnych właściwościach.

Krok 3: Ale jaki jest właściwy pinout dla mnie dla mojego ESP32?

Ale jaki jest właściwy pinout dla mnie dla mojego ESP32?
Ale jaki jest właściwy pinout dla mnie dla mojego ESP32?
Ale jaki jest właściwy pinout dla mnie dla mojego ESP32?
Ale jaki jest właściwy pinout dla mnie dla mojego ESP32?
Ale jaki jest właściwy pinout dla mnie dla mojego ESP32?
Ale jaki jest właściwy pinout dla mnie dla mojego ESP32?
Ale jaki jest właściwy pinout dla mnie do użycia dla mojego ESP32?
Ale jaki jest właściwy pinout dla mnie do użycia dla mojego ESP32?

ESP32 nie jest trudny. To tak proste, że możemy powiedzieć, że w Twoim środowisku nie ma problemu dydaktycznego. Jednak musimy być dydaktyczni, tak. Jeśli chcesz programować w asemblerze, to w porządku. Ale czas projektowania jest kosztowny. Jeśli więc wszystko, co jest dostawcą technologii, daje ci narzędzie, które wymaga czasu, aby zrozumieć jego działanie, może to łatwo stać się dla ciebie problemem, ponieważ wszystko to wydłuży czas projektowania, a produkt będzie coraz droższy. To wyjaśnia moje upodobanie do rzeczy łatwych, które mogą ułatwić nam codzienność, ponieważ czas jest ważny, zwłaszcza w dzisiejszym zabieganym świecie.

Wracając do ESP32, w datasheet, podobnie jak w powyższym, w podświetleniach mamy poprawną identyfikację pinów. Często etykieta na chipie nie zgadza się z rzeczywistym numerem pinu, ponieważ mamy trzy sytuacje: GPIO, numer seryjny, a także kod samej karty.

Jak widać na poniższym przykładzie mamy podłączenie diody LED w ESP i poprawny tryb konfiguracji:

Zauważ, że etykieta to TX2, ale musimy postępować zgodnie z poprawną identyfikacją, jak zaznaczono na poprzednim obrazku. Dlatego prawidłowa identyfikacja pinu będzie wynosić 17. Obrazek pokazuje, jak blisko powinien pozostać kod.

Krok 4: WEJŚCIE / WYJŚCIE

WEJŚCIE WYJŚCIE
WEJŚCIE WYJŚCIE

Wykonując testy INPUT i OUTPUT na pinach uzyskaliśmy następujące wyniki:

INPUT nie działał tylko na GPIO0.

OUTPUT nie działał tylko na pinach GPIO34 i GPIO35, czyli odpowiednio VDET1 i VDET2.

* Piny VDET należą do domeny mocy zegara RTC. Oznacza to, że mogą być używane jako piny ADC i że koprocesor ULP może je odczytać. Mogą to być tylko wejścia i nigdy nie wyjścia.

Krok 5: Schemat blokowy

Schemat blokowy
Schemat blokowy

Ten diagram pokazuje, że ESP32 ma dwurdzeniowy, obszar chipa, który kontroluje WiFi i inny obszar, który kontroluje Bluetooth. Posiada również sprzętową akcelerację szyfrowania, która umożliwia połączenie z LoRa, siecią na duże odległości, która pozwala na połączenie do 15 km za pomocą anteny. Obserwujemy również generator zegara, zegar czasu rzeczywistego oraz inne punkty obejmujące m.in. PWM, ADC, DAC, UART, SDIO, SPI. To wszystko sprawia, że urządzenie jest całkiem kompletne i funkcjonalne.

Krok 6: Urządzenia peryferyjne i czujniki

Urządzenia peryferyjne i czujniki
Urządzenia peryferyjne i czujniki

ESP32 posiada 34 GPIO, które można przypisać do różnych funkcji, takich jak:

Tylko cyfrowe;

Włączony analogowy (może być skonfigurowany jako cyfrowy);

Z obsługą dotyku pojemnościowego (może być skonfigurowany jako cyfrowy);

I inni.

Ważne jest, aby pamiętać, że większość cyfrowych GPIO można skonfigurować jako wewnętrzne podciąganie lub podciąganie lub skonfigurować na wysoką impedancję. W przypadku ustawienia jako wejście wartość można odczytać przez rejestr.

Krok 7: GPIO

Przetwornik analogowo-cyfrowy (ADC)

Esp32 integruje 12-bitowe przetworniki ADC i obsługuje pomiary na 18 kanałach (piny z obsługą analogową). Koprocesor ULP w ESP32 jest również przeznaczony do pomiaru napięć podczas pracy w trybie uśpienia, co pozwala na niskie zużycie energii. Procesor może zostać wybudzony przez ustawienie progu i/lub przez inne wyzwalacze.

Przetwornik cyfrowo-analogowy (DAC)

Dwa 8-bitowe kanały DAC mogą służyć do konwersji dwóch sygnałów cyfrowych na dwa analogowe wyjścia napięciowe. Te podwójne przetworniki cyfrowo-analogowe obsługują zasilanie jako źródło napięcia wejściowego i mogą sterować innymi obwodami. Dwa kanały obsługują niezależne konwersje.

Krok 8: Czujniki

Czujniki
Czujniki
Czujniki
Czujniki

Czujnik dotyku

ESP32 ma 10 pojemnościowych GPIO wykrywających, które wykrywają indukowane zmiany podczas dotykania lub zbliżania się do GPIO palcem lub innymi przedmiotami.

ESP32 ma również czujnik temperatury i wewnętrzny czujnik Halla, ale aby z nimi pracować, trzeba zmienić ustawienia rejestrów. Aby uzyskać więcej informacji, zapoznaj się z instrukcją techniczną za pośrednictwem łącza:

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

Krok 9: Strażnik

ESP32 ma trzy zegary nadzoru: jeden na każdym z dwóch modułów zegarowych (zwany głównym zegarem nadzorującym lub MWDT) i jeden na module RTC (zwanym zegarem nadzorującym RTC lub RWDT).

Krok 10: Bluetooth

Bluetooth
Bluetooth
Bluetooth
Bluetooth

Interfejs Bluetooth v4.2 BR / EDR i Bluetooth LE (niska energia)

ESP32 integruje kontroler połączenia Bluetooth i pasmo podstawowe Bluetooth, które wykonują protokoły pasma podstawowego i inne procedury łącza niskiego poziomu, takie jak modulacja / demodulacja, przetwarzanie pakietów, przetwarzanie strumienia bitów, przeskakiwanie częstotliwości itp.

Kontroler połączenia działa w trzech głównych stanach: gotowości, połączenia i sniff. Umożliwia wiele połączeń i inne operacje, takie jak zapytanie, strona i bezpieczne, proste parowanie, a tym samym pozwala na Piconet i Scatternet.

Krok 11: Uruchom

Uruchomić
Uruchomić
Uruchomić
Uruchomić

Na wielu płytach rozwojowych z wbudowanym USB/Serial, esptool.py może automatycznie zresetować płytę do trybu rozruchu.

ESP32 wejdzie do szeregowego programu ładującego, gdy GPIO0 jest utrzymywany na niskim poziomie podczas resetowania. W przeciwnym razie uruchomi program we flashu.

GPIO0 ma wewnętrzny rezystor pullup, więc jeśli nie ma połączenia, będzie wysoki.

Wiele płyt używa przycisku oznaczonego „Flash” (lub „BOOT” na niektórych płytach rozwojowych Espressif), który po naciśnięciu prowadzi GPIO0 w dół.

GPIO2 należy również pozostawić niepodłączone / pływające.

Na powyższym obrazku widać test, który wykonałem. Założyłem oscyloskop na wszystkie piny ESP, żeby zobaczyć co się stało po włączeniu. Odkryłem, że kiedy dostaję szpilkę, generuje ona oscylacje 750 mikrosekund, jak pokazano w podświetlonym obszarze po prawej stronie. Co możemy z tym zrobić? Mamy kilka opcji, jak np. podanie opóźnienia z układem z tranzystorem, ekspanderem drzwi. Zaznaczam, że GPIO08 jest odwrócony. Oscylacja wychodzi w górę, a nie w dół.

Innym szczegółem jest to, że niektóre piny zaczynają się od High, a inne od Low. Dlatego ten PINOUT jest odniesieniem do tego, kiedy ESP32 się włącza, zwłaszcza gdy pracujesz z obciążeniem wyzwalającym, na przykład triak, przekaźnik, stycznik lub jakąś moc.

Zalecana: