Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'esp32s3'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 5 wyników

  1. Miałem opisać zupełnie inne urządzenie - cóż, w ostatniej chwili postanowiłem coś poprawić i wyskoczyło parę niedogodności. Ponieważ w międzyczasie udało mi się dokończyć mój odtwarzacz do książek - więc pozwolę sobie go przedstawić: oto Lekton. Dla tych którzy pamiętają poprzedną wersję: zrezygnowałem z określenia "czytak" z uwagi na istnienie komercyjnego produktu o tej nazwie, z którym nie mam zamiaru konkurować. Niech więc będzie (jak przystało na maniaka SF) Lekton... Zacząłem od przeanalizowania zalet i wad poprzedniego urządzenia (które zresztą uległo awarii, co prawda dość szybko usuniętej ale jednak). Na pierwszy rzut poszła konstrukcja. Niewątpliwie układ klawiatury był trafieniem w dziesiątkę: tylko dziewięć klawiszy, łatwych do odróżnienia bezwzrokowo, obsługujących najpotrzebniejsze funkcje... No i z zalet to tak praktycznie wszystko. Matrycowe podłączenie klawiatury praktycznie eliminowało możliwość odczytania więcej niż jednego klawisza jednocześnie. W dodatku stanowiąca całość z resztą obudowy klawiatura do jakiegokolwiek serwisowania wymagała rozebrania praktycznie całego urządzenia (a to mi się zdarzyło, bo wskutek upadku urwał mi się jeden z przewodów). Dalej: co prawda udało mi się zmieścić urządzenie w zakładanym rozmiarze paczki papierosów, ale okazało się to nieco bez sensu. Wewnątrz panował straszliwy ścisk, złożenie całości wymagało jakiejś potwornej ekwilibrystyki, rozmiar implikował niewygodne rozmieszczenie poszczególnych modułów których zresztą było za dużo. W dodatku użyty moduł WROVER co prawda miał wystarczającą ilość pamięci (16 MB flash, 8 MB PSRAM z czego praktycznie 4 MB do bezpośredniego użytku) ale konwerter UART/USB już się nie zmieścił i trzeba było użyć dedykowanego zewnętrznego konwertera. Poza tym stwierdziłem, że głośnik jest tu absolutnie niepotrzebny. Mogłem zamienić moduł MAX98357 na PCM5702A, w efekcie otrzymując możliwość zarówno odtwarzania w stereo (o tym potem), jak i podłączenia przycisku w słuchawkach (czego mi w poprzedniej wersji brakowało). Zahaczając nieco o program: Przede wszystkim założenie o trzymaniu wszystkiego w wewnętrznej pamięci flash modułu ESP32 wydawało się dobrym pomysłem - okazało się jednak, że miejsca nawet po kompresji jest trochę za mało. Co prawda teoretycznie obsługa przez interfejs WWW nie wymagała jakichś specjalnych dedykowanych aplikacji - jednak samo przygotowanie książki jej wymaga, co czyni ów pomysł niespecjalnie trafnym. Dlatego postanowiłem wrócić do pierwotnej koncepcji karty microSD. Dzięki temu mogłem ograniczyć wymagania co do pojemności pamięci flash do 8 MB (przy czym należało pamiętać, że ponad 4MB zajmuje partycja z głosem Mbroli), a tym samym użycie miniaturowej płytki XIAO S3. Tak więc postanowiłem nie opierać się na poprzednim projekcie. Ponieważ największym elementem był akumulator 5000 mAh - wewnętrzna szerokość wyszła mi 75mm. Pozostałe wymiary dopasowywałem na bieżąco w trakcie projektowania. Zacząłem od klawiatury. Postanowiłem zrobić z niej oddzielny moduł (zawierający również gniazdko słuchawkowe) po prostu wsuwany w odpowiednie szczeliny w obudowie. Jako że długość gniazda wyznaczała rozmiar modułu, nie musiałem bawić się w miniaturyzację. Na kawałku taniej płytki uniwersalnej umieściłem klawisze i wyłącznik, na drugiej (takiej porządniejszej) ekspander MCP23017 Wyszło to tak: Dzięki ekspanderowi mogłem podłączyć wszystkie klawisze oddzielnie oraz przycisk na słuchawkach. Oprócz scalaka są tak tylko dwa rezystory - jeden 10k jako pullup do resetu, drugi 3.3k do przysisku słuchawek. Całość łączy się pięcioma przewodami z główną płytką. Jako że z założenia konstrukcja miała być raczej prowizorycznym prototypem - nie bawiłem się w jakieś wymyślne płytki i miniaturyzacje. Znów kawałek uniwersalnej, na nim XIAO wetknięty w dwa żeńskie goldpiny (żeby można było później wyjąć) i dekoder I2S (co prawda wlutowany, ale pięć pinów wystarczy dmuchnąć hotairem). Dodatkowo rezystory dzielnika i kondensatorek do pomiaru stanu akumulatora - i prowizorka wyszła tak: Oddzielnie umieściłem moduł DS3231 (ten z EEPROM-em) i gniazdo karty microSD (miałem takie do Wemosa D1 Mini, wystarczyło dociągnąć jeden drucik żeby mieć wszystkie piny po jednej stronie): Docelowo miało to być umieszczone nad akumulatorem, czyli miejsca miałem dużo... I tu uwaga: mimo że starałem się zrobić to z gotowych modułów, jednego nie mogłem przeskoczyć: pamięci FRAM. Postanowiłem po prostu przylutować ją "na plecach" EEPROM-u moduły zegarka, zwierając linie adresowe do masy. W ten sposób miałem tam dwie pamięci: EEPROM na adresie 0x57 i FRAM na 0x50. Obudowa po umieszczeniu w niej akumulatora (widać, skąd takie a nie inne wymiary wygląda tak): A zmontowana całość razem z płytką główną i kłębowiskiem kabli: Teraz wystarczyło wydrukować górną część obudowy i urządzenie było gotowe do testów (przy okazji w zdjęciu zawarta jest informacja że nie jestem wielbłądem): W międzyczasie oczywiście powstawał program. Nie będę wnikał w szczegóły (kod w załączniku, każdy może obejrzeć), powiem tylko jakie są możliwości: Odtwarzanie audiobooków z możliwością przyspieszenia (pliki sonicFiler.cpp i sonicFilter.h w katalogu src są przystosowane do współpracy z popularną biblioteką ESP8266Audio) Odtwarzanie ebooków za pomocą syntezatora Mbrola Głosowe komunikaty (również generowane Mbrolą) Możliwość zrobienia zakładki (jednej na książkę) Autozakładka czyli możliwość zrobienia "redo" jeśli coś się pogubiłem w przewijaniu Możliwość przechowywania 511 książek (audio i ebook razem) z zapamiętywaniem ostatnio słuchanej książki oraz pozycji w każdej książce Zapis pozycji w pamięci FRAM co kilka sekund (audiobook) lub co zdanie (ebook) umożliwia powrót do ostatnio słuchanej pozycji nawet w przypadku nieoczekiwanego wyłączenia zasilania Ebooki podzielone na zestawy po max. 16 pozycji, ilość zestawów nieograniczona Przewijanie w trakcie odtwarzania jest możliwe (czasowe przy audio, zdanie/akapit przy ebookach) ale bez przeskoczenia granic pliku mp3 (audio) czy rozdziału (ebook), jast to możliwe tylko w trybie pauzy Podanie ogólnych lub szczegółowych informacji o bieżącej pozycji czytania Zegarek (godzina i minuta) oraz stan akumulatora (w procentach) Do wgrania audiobooka trzeba wyjąć kartę i przełożyć do czytnika. Za pomocą programu mkaudiobook mogę wgrać audio na kartę, z możliwą korektą (mono 65 kbps dla czytanych książek lub kopia dla słuchowisk stereo). Program przy okazji tworzy pliki informacyjne dla każdego pliku mp3 - nie jest to konieczne, Lekton potrafi sobie sam te pliki utworzyć, ale wtedy pierwsza próba odtworzenia rozpoczyna się od stworzenia owych plików, i ma się czas na zrobienie kawy. Co prawda nie przewiduję takiej sytuacji - ale pozostawiam sobie możliwość przegrania audiobooka z komputera na którym nie mogę uruchomić programu. Ebook (w odpowiednim formacie tekstowym, można go zrobić dowolnym edytorem tekstu w ciągu paru chwil z pliku txt ebooka) też może być przegrany bezpośrednio, ale wygodniejsze jest przegranie za pomocą dedykowaniej aplikacji. Aplikacja (Python3 i Gtk+ 3) umożliwia wygodne wgrywanie/usuwanie książek i robienie porządków na karcie poprzez połączenie do USB. Ogólnie jest tam tego trochę więcej, ale nie będę Was zanudzać szczegółami. Oczywiście jak najszybciej wziąłem się do testowania. Już następnego dnia wyskoczył problem: czy ja to coś wyłączyłem czy może leży sobie i podgryza akumulator? Mógłbym oczywiście dodać jakieś ledy ale w porę się opamiętałem: przecież na dekoderze I2S świeci sobie na czerwono śliczna dioda, wystarzy dodać okienko przez które będzie ją widać. Drugi problem był raczej natury usability: identyczne przyciski utrudniały szybkie znalesienie właściwego. Tak więc przycisk START zrobiłem nieco większy i wyczuwalny pod palcem, przy okazji poprawiłem suwak wyłącznika (na zdjęciu wydrukowane żółtym filamentem), dorobiłem okienka nad diodą I2S i przy okazji nad kontrolką ładowania XIAO - i wyszło to tak: Teraz mogłem wziąć się do dłuższych testów. Jak zwykle wyskoczyły jakeś drobne poprawki w programie, ale to było do przewidzenia i poprawiałem na bieżąco. I pewnie bym to w takiej postaci pozostawił, gdyby nie dwie sprawy: po pierwsze urządzenie było jednak nieco za duże, po drugie nie wziąłem pod uwagę drobiazgu - mianowicie naładowanie do pełna akumulatora za pomocą rachitycznej ładowareczki XIAO trwałoby jakiś tydzień... Ponieważ nie miałem jakiegoś porządnego modułu z gniazdem microSD, a nie bardzo miałem ochotę na lutowanie jakiegoś milimetrowego rastra (cóż, oczy już nie te co kiedyś) poszukałem trochę po sieci i znalazłem coś co wydawało mi się idealne do moich celów: produkcji Adafruit płytka z gniazdem, którą montuje się pod płytką XIAO. Trochę musiałem poczekać, bo botlandowe "kilka dni" zmieniło się w dwa tygodnie, ale wreszcie zamówiłem, przyszła... I po rozpakowaniu myślałem że mnie coś strzeli. Nauczka na przyszłość: zanim coś zamówisz obejrzyj sobie duże zdjęcie i nie chrzań, że się nie chce okularów szukać. Okazało się, że jakiś geniusz z Adafruit nie bardzo chyba wiedział jak się obchodzić z chińskimi wynalazkami. Gniazdo jest na płytce umieszczone tak, że kartę trzeba włożyć centralnie na płytce (trochę by to było niewygodne ale ujdzie), to jeszcze od tyłu (nie od strony gniazda USB na XIAO). Po prostu nie zauważyłem, że gniazdo na płytce nie jest umieszczone tak jak myślałem (czyli z przodu przy krawędzi) ale dokładnie odwrotnie! Czyli mój piękny projekt PCB mogłem wyrzucić do kosza i zacząłem się zastanawiać, co z tym fantem zrobić. W desperacji chwyciłem nożyce do laminatu, przyciąłem płytkę tak że mogłaby się zmieścić na PCB... i udało się! Teraz już mi sie nie chciało siadać do projektowania. Przed nosem leżała sobie porządna płytka uniwersalna 70x50 mm, akurat mieściły się obok siebie S3 i to nieszczęsne gniazdko. Rezystorki i kondensator w wersji SMD poszły na spód płytki (na szczęście 0805 bardzo ładnie pasują do rozstawu pól lutowniczych na płytce), parę połączeń kynarem - i gotowe! Mogłem zmniejszyć obudowę do jakichś rozsądnych rozmiarów! Wewnątrz wygląda to tak: Jak widać, cała elektronika zmieściła się nad akumulatorem, co pozwoliło mi na zmniejszenie długości obudowy. Dodałem jeszcze otwór przez który mogę się dostać do wtyczki akumulatora (zrobiłem sobie kiedyś taką uniwersalną ładowarkę do LiPo, przy 1A powinno się przez noc naładować), wydrukowane z polipropylenu zaślepki (wolałbym żeby jakieś paprochy z kieszeni nie dostały się do wnętrza), drugie okienko na drugą diodę XIAO (sygnalizuje stan urządzenia STOP/PAUZA/PLAY) - i w efekcie wygląda to tak: Tym razem kilkudniowe intensywne testy wykazały, że urządzenie w tej wersji jest wygodne i spełnia wszystkie moje oczekiwania. Na zakończenie kilka słów o załączonym pliku Lekton.zip. W kodzie pozostawiłem wyłączone fragmenty. MSC nie udało mi się uruchomić (zresztą w pewnym momencie zrezygnowałem z uwagi na dziwaczne problemy z komunikacją serial w trybier TinyUSB/CDC). Plik wifi pozostawiłem bo jest dość uniwersalny, krótki i być może ktoś będzie potrzebować czegoś podobnego. Plik OpenSCAD-a jest raczej do pooglądania sobie, nie jest stuprocentowo kompletny ale raczej chciałem pokazać w jaki sposób można w tym programie stworzyć projekt w miarę skomplikowanej obudowy. Gdyby ktoś koniecznie chciał uruchomić to u siebie, należy z GitHuba zgrać plik espola_pl1_full.blob i wgrać go do ESP od adresu 0x36E000 (zgodnie z adresem w mbro8nof.csv). W razie jakichkolwiek pytań jestem do dyspozycji.
  2. Słowo wstępu Jeśli chodzi o tworzenie własnych PCB, zawsze (oprócz zapachu lutownicy) w powietrzu zawsze wisi trochę magii... Eksplozja kreatywności kończy się urządzeniem, które będzie służyć do rozwiązania konkretnego problemu i ułatwi życie. W naszym starym mieszkaniu miałem gniazdka elektryczne sterowane za pomocą radiowej częstotliwości 433MHz, kontrolowane przez ESP8266. Jednak teraz, gdy zbliżamy się do kolejnych kamieni milowych w naszej wspólnej drodze z moją wspaniałą żoną, w mojej głowie zrodziła się pewna idea i postawiłem sobie wyzwanie, aby zbudować własną Bramkę Zigbee. Chciałbym mieć pełną kontrolę nad urządzeniami, kontrolę nad przepływem między Zigbee a internetem oraz powiadomienia głosowe w jednym urządzeniu. Szczegóły techniczne Pierwszy krok, znany również jako MVP, polegał na stworzeniu urządzenia, które działa jako proxy Ser2Net (zdalny port szeregowy) i potrafi obsługiwać wbudowaną integrację ZHA w Home Assistant poprzez protokół EZSP. Urządzenie miało docelowo również obsługiwać powiadomienia dźwiękowe i posiadać wbudowany czujnik temperatury. Wszystkie kroki zakończyły się powodzeniem. Design funkcjonalny opiera się o następujące układy: ESP32S3 - główny procesor aplikacyjny ze wsparciem USB oraz WiFi. EFR32MG1 (w postaci modułu Ebyte E-180) - Zigbee Network Co-processor (NCP). MAX98357A - Wzmacniacz i kodek audio I2S. Ponadto na płytce zamontowane są: filtr wejściowy zasilania oparty na dławiku ferrytowym w konfiguracji LC, celem filtracji ewentualnych sygnałów RF. układ ograniczający prąd do 1A (~1.5A peak), dodatkowo działający jako soft-start (zapobiega tzw. inrush current, co w przypadku USB jest ważne). regulator napięcia 3.3V (low noise, ultra-low dropout). Software oparty jest o ksIotFrameworkLib a aplikacja składa się z kilku komponentów: AudioPlay - komponent odpowiedzialny za obsługę audio, w tym sterowanie częstotliwością CPU (dekodowanie wymaga 240MHz a bazowo jest 80MHz). Ser2Net - komponent pośredniczacy w komunikacji między HomeAssistant a procesorem sieci Zigbee. TempSensor - komponent odpowiedzialny za pomiary temperatury. Funkcjonalności takie jak zarządzanie połączeniem WiFi, komunikacja MQTT czy konfiguracja parametrów są dostarczane poprzez framework. Galeria multimediów Linki: Strona projektu na hackaday.io
  3. - poniżej program w którym nie potrafię zmienić wyjścia espeak z i2s na głośność! - jak ściągamy mp3 z Url to schemat jest taki UrlStream -> copy-> EncodedAudioStream -> Volume -> I2S. - proszę o pomoc bo po powodzi klepki uciekły. /** * @file espeak-arduino-pl.ino * @author Phil Schatzmann * @brief Arduino C++ API - minimum example. The espeak-ng-data is stored on in * progmem with the arduino-posix-fs library and we output audio to I2S with the * help of the AudioTools library. * We use Polish instead of English! * @version 0.1 * @date 2022-10-27 * * @copyright Copyright (c) 2022 */ // UrlStream -copy-> EncodedAudioStream -> Volume -> I2S #include "AudioTools.h" // v 2.0.0 https://github.com/pschatzmann/arduino-audio-tools //#include "AudioLibs/AudioKit.h" // https://github.com/pschatzmann/arduino-audiokit #include "FileSystems.h" // https://github.com/pschatzmann/arduino-posix-fs #include "espeak.h" I2SStream i2s; // or replace with AudioKitStream for AudioKit VolumeStream volume(i2s); //VolumeMeter out; // 2 const bool load_english = false; ESpeak espeak(i2s, load_english); StreamCopy copier(volume, i2s); // StreamCopy copier(out, i2s); // 2 // -------------------------------------------------- setup --------------------------------- void setup() { Serial.begin(115200); file_systems::FSLogger.begin(file_systems::FSInfo, Serial); // ----------------------- tylko dla LilyGo T-embed ----------------------- pinMode(46, OUTPUT); digitalWrite(46, HIGH); // add foreign language configuration files espeak.add("/mem/data/pl_dict", espeak_ng_data_pl_dict,espeak_ng_data_pl_dict_len); espeak.add("/mem/data/lang/pl", espeak_ng_data_lang_zlw_pl, espeak_ng_data_lang_zlw_pl_len); // setup espeak espeak.begin(); espeak.setVoice("pl"); // setup output auto espeak_info = espeak.audioInfo(); // audio_info espeak_info = espeak_get_audio_info(); auto cfg = i2s.defaultConfig(); cfg.channels = espeak_info.channels; // 1 cfg.sample_rate = espeak_info.sample_rate; // 22050 cfg.bits_per_sample = espeak_info.bits_per_sample; // 16 i2s.begin(cfg); //espeak_set_audio_output(&i2s); // 3 // set initial volume volume.begin(cfg); // we need to provide the bits_per_sample and channels volume.setVolume(0.0); // } // --------------------------------------------------- loop ------------------------------- void loop() { espeak.say("Dzień dobry !"); delay(1000); espeak.say("Pogoda wspaniała "); delay(5000); copier.copy(); }
  4. - skopiowanie funkcji tego dużego radia TEF6686 do tej małej obudowy nie było łatwe. - radio TEF6686 do sterowania ma trzy przyciski oraz impulsator z przyciskiem. - mała obudowa Lilygo T-embed Arduino ESP32-S3 ver. 0.1 posiada tylko impulsator z przyciskiem. - dzięki maszynie stanów udało się oprogramować wszystkie funkcje a nawet więcej dzięki rozbiciu czasu naciśnięcia przycisku impulsatora na przedziały 500, 1000 oraz 4000 msek. - początkowo sprawia to trochę problemów dla mniej nerwowych. - obecnie ze spraw softwarowych pozostało rozwiązać problem interakcji pomiędzy przyciskiem impulsatora a pokrętłem impulsatora. - ze spraw mechanicznych to należy dorobić subpanel tylny w którym znajdzie się moduł radia (35 x 25 mm), chyba bateria 1000 mAh, wzmacniacz 1W, gniazdo miniJack 3.5 mm oraz antena 70 cm teleskopowa. - Lilygo T-embed zawiera miniaturowy głośnik 1W 8 om z komorą rezonsową, gra to dobrze. - robiłem próby aby zastować całkowicie w tym projekcie I2S ale było to zbyt rozbudowane ponieważ zastosowany moduł radia nie miał wyprowadzonych tych sygnałów. - dość dużym problemem dla mnie było dorobienie brakujących wymiarów ekranu do Lilygo T-embed. - radio TEF6686 ma ekran 240x320, Lilygo ekran ma tylko 170x320. - jak to wyszło to widać na zdjęciach, może to poprawię jak tylko cześć mechaniczna będzie ukończona. - martwi mnie ta wysokość anteny, podstawka będzie musiała być "odpowiednia" aby stabilność była wystarczająca. - chyba jak projekt będzie ukończony to pomyślę aby dorobić adBlockRadio i blokować reklamy.
  5. - 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. ardu esp32s3.zip
×
×
  • Utwórz nowe...