Skocz do zawartości

Arduino esp32 Nano: zabawa kotka z myszką.


99teki

Pomocna odpowiedź

- wymagane elementy do tej zabawy: Arduino esp32 Nano, LCD ILI9341, 6 GB wolnego dysku, system win 10 i wyżej.

- instalujemy IDF Espressifa ze stronki https://dl.espressif.com/dl/esp-idf/ wersja 5.1.2
- instalujemy w systemie Windows min. wersja 10.
- zwracamy uwagę aby zainstalował się patch dla długiej nazwy,  
- ja wybieram scieżkę typu f:\esp32s3\Espressif.
[zrzuty w katalogu IDF]

- po uruchomieniu Espressif IDF konfigurujemy Eclipsa, ścieżki odpowiednio F:\esp32s3\workspace
- konfigurujemy Windows | Preferences | w zakładce wpisujemy "spell" i odznaczamy. 
- Windows | C/C++ | Build | Enviroment | dodajemy ESPBAUD z wartością 921600 | Apply and close
- kopiujemy projekt z examplesów File | New | Espressif IDF Projekt | nazwa dowolna | zaznaczyc Use Default location
- zaznaczyć  Create a project using one of the templates | wybieramy przykład spi_lcd_touch.
- sprawdzamy czy nasz uP znajduje się w Supported Targets.
- teraz wybieramy Lauch Target czyli pole z esp32s3, sprawdzamy czy IDF Target to nasz uP.
- młoteczkiem na pasku zadań robimy kompilację, pojawia się nam plik sdkkonfig
[zrzuty w katalogu Eclips]

Arduino 
- Arduino esp32 Nano ma dwa tryby wgrywania firmware (programu).
1.- bootloader mode, wchodzimy w ten tryb poprzez dwukrotne naciśnięcie klawisza Reset.
- jesteśmy w tym trybie jeśli dioda RGB zielona świeci światłem pulsującym, wolnym.
2.- ROM boot mode, zwieramy pin GND do pinu boot1, zaświeci się zielona RGB światłem ciągłym.
- teraz naciskamy Reset i rozwieramy zwarcie pinów, jesteśmy w tym trybie jeśli dioda RGB świeci na fioletowo światłem ciągłym.
- aby wgrać program do Arduino wchodzimy na płytce w tryb bootloader mode i sprawdzamy w menadzerze urządzeń 
czy jeden z portów jest w trybie DFU (DFU Download Firmare Unit).
- jeśli nie to z internetu ściągamy program Zadig wersja 2.8 i wgrywamy sterownik WinUsb do systemu.
- teraz możemy zrobić kompilację jakiegoś programu pod Arduino, kompilacja się wgrywa.
[zrzuty w katalogu Arduino]

Espressif IDF
- jeśli kompilacja projektu poszła poprawnie to teraz możemy skonfigurować nasz projekt.
(GPIO, wybór elementów do projektu)
- otwieramy plik main.c w katalogu main (może się nazywać inaczej to zaznaczamy go LKM [Lewy Klawisz Myszy] 
i wciskamy klawisz F2, w tym trybie edycji poprawiamy nazwę lub nie.)
- jeśli nazwa była korygowana to jeszcze musimy poprawić w tym katalogu CMakelist.txt w ten sposób
 aby było to coś podobnego  SRCS "main.c" "lvgl_demo_ui.c"
- otwieramy plik main.c i poprawiamy GPIO tak jak nasze połączenia, zapisujemy (dyskietka na pasku zadań)
- otwieramy plik sdkconfig, w polu Serial flasher config ustawiamy rozmiar flasha na 2MB lub więcej
- w polu Example configuration dla LCD controller model wybieramy ILI9341
- w polu Component Config | Hardware Settings |Chip Revision | ustawiamy Rev v0.2(ECO2)
- dla niższych wersji Python nie będzie chciał zaprogramować modułu.
- zapisujemy sdkconfiga.
- pozostał tylko do ustawienia Lauch target czyli on: esp32s3, najezdzamy myszką na słoneczko 
w tym ekraniku (EDIT) i wybieramy Serial port (moduł musi być podłączony pod kabel USB)
- wcześnie należy wybrać ROM BOOT Mode, jeśli system nie znajduje portów należy kilka razy rozłączyć kabel USB.
- konfiguracja skończona , wybieramy RUN Mode, zielona strzałka na pasku zadań nastepuje wgranie firmware do flasha.
- musimy uważać podczas tych ustawień portów ponieważ często zmienia się target procesora i robimy 
kompilacje esp32s6 zamiast esp32s3.
[zrzuty w katalogu IDF kompilacja]

wnioski.
- po wgraniu naszego projektu wracamy do Arduino i próbujemy coś wgrać.
- nie ma takiej możliwości esp32s3 jest cały czas w trybie ROM Boot Mode, na fioletowo świeci się dioda RGB.
- IDF wgrał do flasha (tak się domyślam) sterowniki Serial JTAG i nie ma portu COM dla DFU Arduino.
- menadzer urządzeń cały czas pokazuje tylko dwa porty Serial JTAG.
- resetowanie esp32s3 jak doradzają w internecie nie pomaga.
- programator esptools oraz Wgraj używając programatora nie działa.
- w tym przypadku pomogło zainstalowanie micro python 101 i wgranie jego firmware.
- po tej operacji bootloader mode jest już osiągalny.
- po kilku próbach i ta metoda zawiodła.
- może ktoś zna jakieś inne metody do sprawdzenia.

esp32-nano.thumb.png.a82dff343c1942864ca015dbb3df89a2.pngmicroPY1.thumb.png.0187fd44d9894a9c5a71bb355294f115.png

ardu esp32s3.zip

Edytowano przez 99teki
  • Lubię! 2
Link do komentarza
Share on other sites

- problem rozwiązany, trzeba zastosować procedurę resetu "Reset the Arduino bootloader on the Nano ESP32"

- trick polega na tym że na Arduino w wersji > 2.2.0. działa.

nano-esp32-gnd-b1.thumb.png.7ddaa95b893c67c63743739ab72614e4.png

Link do komentarza
Share on other sites

- zacząłem rozgryzać prace wyświetlacza w Doomie.

- dla testów zainstalowałem w IDF 5.1.2 przykładowy projekt "SPI_MASTER/LCD".

- kompilacja wyświetla 3 ostrzeżenia i aplikacja nie działa.

- te ostrzeżenia to 

Symbol 'SPI_TRANS_CS_KEEP_ACTIVE' could not be resolved
Symbol 'SPI_TRANS_USE_RXDATA' could not be resolved

- nigdzie nie mogę znależć tych symboli, internet milczy albo ja nie potrafię tego znależć.

- zmiana w parametrach Indexera nie pomaga

- może ktoś skompiluje ten projekt na wersji 5.1.2 i podpowie czy to się kompiluje u niego bez błędów. i ostrzeżeń.

Capture-2.thumb.png.a78fc33bc567dcafd18ecb4de1131908.pngCapture-3.thumb.png.12d56872669334d9f8f7aec35a50d10e.png 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

- sdkconfig mam ustawiony firmowo.

- inny projekt spi_lcd_touch na tych ustawieniach sdkconfiga działa bez problemu.

- wg mnie to ewidentnie problem spi_master.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.