Jeśli myślisz, że za bardzo upieram się przy modułach ESP8266/ESP32… cóż, przyznaję się do winy. Te mikrokontrolery to doskonały punkt wyjścia dla każdego, kto chce zanurzyć stopy w wodach DIY, kodowania Arduino i innych kompatybilnych języków. Istnieje wiele sposobów na programowanie ESP32, ale dziś postanowiliśmy wrócić na kanał „atomic14”, który pokazuje minimum, jakie jest potrzebne w kwestii komponentów.

Wyobrażam sobie, że ktoś pomyśli: „Lisandro, to nie ma sensu”. Po co iść tą drogą, skoro moduł ESP32 z własnym regulatorem napięcia, przyciskami reset, przylutowanymi pinami i portem micro USB kosztuje mniej niż 10 euro na Amazonie? Odpowiedź brzmi: „nauka”. Tak, gotowy moduł ESP32 bez problemu poprowadzi nas do celu, ale kiedyś będziesz musiał wyciągnąć go z innego produktu albo twój adapter USB-na-szeregowy zawiedzie bez ostrzeżenia. Znajomość pinoutu i funkcji wewnętrznych dowolnego modułu ESP/Arduino/ATtiny/STM32 to zawsze dobry pomysł, a najnowszy film „atomic14” zmierza w tym kierunku.

Jak zaprogramować moduł ESP32 z minimalnym zestawem komponentów
Jak zaprogramować ESP32

Programowanie modułu ESP32 z minimalnymi komponentami

Pierwszą rzeczą, którą należy wspomnieć o tym samouczku, jest to, że działa on tylko z modelami ESP32-S2 i ESP32-S3. Powód jest prosty: to jedyni członkowie rodziny ESP, którzy mają wsparcie USB-OTG (wszystkie inne wymagają adaptera). Nie możemy też tracić z oczu, że ESP32 pracuje na 3,3 V, a każda próba podłączenia go bezpośrednio do 5 V rozświetli go jak choinkę... zanim go zniszczy. Czego więc dokładnie potrzebujemy?

  • Źródło 3,3 V (bateria, zasilacz – wybór należy do Ciebie), podłączone do odpowiedniego pinu (3v3 = +) oraz do jednego z GND (-).
  • Pin Enable podłączony do 3,3 V aby ustawić go w stan „wysoki”.
  • IO19 to „Data -” portu USB, a IO20 to „Data +”.
  • IO0 musi być podłączone do GND przy pierwszym programowaniu ESP32. Dobrym pomysłem jest użycie przycisku.
  • LED na IO2 i jego rezystor są opcjonalne, ale bardzo przydatne do sprawdzenia, czy wszystko działa.
  • I oczywiście, odpowiednie sterowniki dla Windows (jeśli go używasz), oraz kompatybilne IDE (Arduino IDE, PlatformIO itp.).

Na koniec chciałbym dodać szczegół, który zaledwie wspomniano w filmie atomic14: wielu użytkowników zgłasza problemy z łącznością w niektórych modułach ESP32, z komunikatem „A fatal error occurred: Failed to connect to ESP32”. YouTuber VoltLog sugeruje, że jest to spowodowane błędem wynikającym ze skoku sygnału Enable, który zmienia warunek IO0. Rozwiązaniem jest dodanie kondensatora 1 mikrofarada między pinem Enable a GND. To nieco spowalnia Enable i zapobiega pojawianiu się tego błędu.