Am desenat un circuit pe această placă ESP32 de 40 de dolari, iar AI-ul l-a explicat.
Desenează un circuit cu degetul și lasă o IA să ți-l explice
Desenează sau scrie pe ecranul tactil cu degetul, apasă pe ASK, iar o IA îți spune ce ai desenat - pe ecran și cu voce tare. Trei moduri: numește forma, citește scrisul de mână sau explică circuitul desenat manual.
Ultimul este cel interesant. Schițează o baterie, un rezistor și un LED, iar placa va numi componentele și îți va spune ce face circuitul.
Robojax_Makerfab la finalizarea comenzii pe pagina produsului MaTouch AI ESP32-S3. Nu vă costă nimic să-l folosiți și ajută la susținerea codului și tutorialelor gratuite de aici.Problema pe care acest proiect a trebuit să o rezolve
Nu poți citi pixelii înapoi de pe acest afișaj prin SPI, iar biblioteca grafică desenează de obicei direct pe panou fără o copie în memorie - deci nu există nicio captură de ecran de trimis oriunde. Soluția este să nu desenezi niciodată direct pe panou. Această schiță desenează într-un Arduino_Canvas, care păstrează un framebuffer complet în PSRAM. Acel buffer este imaginea, deci fmt2jpg() o transformă direct într-un JPEG.
De ce cerneala este neagră pe alb
Modelele de viziune citesc marcajele întunecate pe un fundal deschis mult mai fiabil decât invers, iar pe cameră arată ca hârtia. Butoanele sunt desenate pe panou, nu în canvas, deci nu fac niciodată parte din imaginea pe care o vede IA - primește doar desenul tău pe un câmp alb curat.
Făcând ca liniile să arate ca linii
Două lucruri trebuiau să fie corecte înainte ca desenul să se simtă ca un stilou, nu ca o matrice de puncte:
- Canvasul nu este trimis pe ecran la fiecare eșantion de atingere - asta împinge 115 KB prin SPI de fiecare dată și încetinește totul. Fiecare linie este desenată în canvas și pictată pe panou separat, ceea ce costă aproape nimic.
- O linie se termină doar după ce panoul a fost liniștit timp de aproximativ 70 de milisecunde. Controlerul tactil nu returnează un punct la fiecare interogare, iar tratarea fiecărei interogări goale ca un deget ridicat rupe linia în puncte deconectate.
Trei moduri, un singur desen
Desenul tău rămâne sub răspuns, deci poți apăsa BACK TO DRAW, schimba modul și pune o întrebare diferită despre aceeași schiță. Ca imagine, sunt linii și forme; întrebat ca inginer, devine un circuit.
Sfaturi pentru rezultate bune
- Un stylus capacitiv ieftin funcționează mult mai bine decât un deget.
- Desenează mare - canvasul este 240×240, deci câteva elemente mari, nu detalii fine.
- Nu există respingere a palmei. Ține mâna departe de sticlă.
Despre placa MaTouch AI ESP32-S3 2.8"
Fiecare proiect de pe această pagină rulează pe MaTouch AI ESP32-S3 2.8" TFT ST7789V de la Makerfabs. Este o placă all-in-one: un ecran tactil color, o cameră de 3 megapixeli, două microfoane și un amplificator real de difuzor, toate conduse de un ESP32-S3 cu 8 MB de PSRAM. Această combinație este cea care face posibile aceste proiecte IA pe o singură placă, fără nimic altceva atașat.
Cei 8 MB de PSRAM contează mai mult decât orice alt număr de aici. Este ceea ce permite plăcii să țină un cadru de cameră, câteva secunde de audio înregistrat sau o fotografie codificată în base64 în memorie în același timp - nimic din toate acestea nu încape în RAM-ul normal al ESP32.
Documentația producătorului: pagina wiki Makerfabs.
Specificații cheie
- Procesor: ESP32-S3, dual core 240 MHz, WiFi 2.4 GHz + Bluetooth 5.0
- Memorie: 16 MB flash, 8 MB PSRAM (necesar pentru aproape fiecare proiect de aici)
- Afișaj: 2.8" IPS, 320×240, driver ST7789V, SPI
- Tactil: GT911 capacitiv, urmărește 5 degete simultan
- Cameră: OV3660, 3 megapixeli, până la 2048×1536
- Microfoane: două microfoane digitale I2S INMP441 (o pereche stereo autentică)
- Difuzor: amplificator clasa-D MAX98357A, 3.2 W pe 4 Ω
- Stocare: slot card microSD (mod SPI)
- Alimentare: USB-C, conector baterie JST, încărcător TP4056, întrerupător de alimentare
- De asemenea pe placă: LED RGB WS2812B, ceas de timp real cu baterie PCF8563T și un indicator de nivel baterie MAX17048 care nu este listat în specificațiile oficiale
USB CDC On Boot la Disabled. Folosiți portul greșit și audio-ul se va comporta necorespunzător sau încărcările vor eșua.Îl alimentați de la o baterie? Cele două socket-uri USB-C, încărcătorul TP4056 și întrerupătorul de alimentare sunt explicate complet, cu schema, în articolul de testare a plăcii — inclusiv care socket se încarcă și dacă întrerupătorul ar trebui să fie pornit sau oprit.
Setări Arduino IDE
Aceste setări contează. Majoritatea problemelor raportate de oameni cu această placă sunt una dintre acestea fiind greșită și se resetează când schimbați versiunea nucleului, deci verificați-le din nou după orice schimbare.
| Setare | Valoare |
|---|---|
| Placă | ESP32S3 Dev Module |
| Versiune nucleu ESP32 | 2.0.17 |
| PSRAM | OPI PSRAM |
| Dimensiune Flash | 16MB (128Mb) |
| Schema de partiționare | 16M Flash (3MB APP/9.9MB FATFS) |
| USB CDC On Boot | Disabled |
| Viteză de încărcare | 921600 |
| Șterge tot Flash-ul înainte de încărcare | Disabled |
| Port | portul USB-C CH340K |
Biblioteci necesare
Acest proiect are nevoie de fiecare bibliotecă din tabelul de mai jos - nimic mai mult, nimic mai puțin. Majoritatea se instalează direct din Tools → Manage Libraries în Arduino IDE, dar GFX Library for Arduino trebuie instalată dintr-un fișier ZIP. Numerele de versiune contează, deci vă rugăm să folosiți exact cele listate.
| Bibliotecă | Versiune | Autor | Instalați din |
|---|---|---|---|
| GFX Library for Arduino | 1.5.6 | moononournation | Fișier ZIP - vezi mai jos |
| bb_captouch | 1.3.1 | Larry Bank | Library Manager |
| ArduinoJson | 7.x | Benoit Blanchon | Library Manager |
| Adafruit NeoPixel | orice recent | Adafruit | Library Manager |
Instalarea bibliotecii GFX dintr-un fișier ZIP
- Descărcați ZIP-ul. Este inclus în descărcarea acestui proiect sau îl puteți obține din depozitul Arduino_GFX - faceți clic pe butonul verde Code, apoi pe Download ZIP.
- Salvați-l undeva unde îl puteți găsi din nou. Nu-l dezarhivați.
- În Arduino IDE, faceți clic pe Sketch → Include Library → Add .ZIP Library.
- Navigați la fișierul ZIP descărcat și faceți clic pe Open.
- IDE-ul îl instalează și confirmă în partea de jos a ferestrei. Dacă aveți deja o versiune 1.6 instalată, ștergeți mai întâi acel folder din
Documents/Arduino/libraries, altfel cele două vor intra în conflict.
Configurarea secrets.h
Detaliile tale WiFi și orice chei API merg în secrets.h, care este inclus în descărcare cu valori placeholder. Deschideți acea filă în Arduino IDE și înlocuiți-le cu ale voastre.
secrets.h.Obținerea cheilor API
Acest proiect comunică cu un serviciu IA cloud, deci aveți nevoie de propria cheie. Dacă nu ați făcut asta niciodată, nu vă îngrijorați - este aceeași idee ca o parolă care identifică contul dvs. la serviciu. Durează câteva minute, o singură dată.
OpenAI - ochii
OpenAI oferă modelul de viziune care se uită la imagini. Doar proiectele care trimit o imagine au nevoie de acesta.
- Mergeți la platform.openai.com/api-keys și conectați-vă sau creați un cont.
- Faceți clic pe Create new secret key, dați-i un nume și creați-o.
- Copiați-o imediat - este afișată doar o dată.
- Deschideți Billing și adăugați o mică sumă de credit. API-ul este prepaid și separat de orice abonament ChatGPT pe care îl aveți deja.
Puneți cheia în secrets.h ca OPENAI_KEY.
Microsoft Azure Speech - pentru ascultare și vorbire
Azure transformă vorbirea în text și răspunsul înapoi în voce. Nivelul gratuit este suficient de generos pentru tot ce este pe această pagină.
- Mergeți la portal.azure.com și conectați-vă cu un cont Microsoft (unul gratuit este ok).
- Dacă nu ați folosit niciodată Azure, veți vedea un ecran Welcome to Azure care oferă trei opțiuni. Alegeți Start with an Azure free trial - aveți nevoie de un abonament înainte ca Azure să vă lase să creați ceva. (Studenții ar trebui să aleagă Azure for Students în schimb: același rezultat, fără card necesar.) Ignorați Manage Microsoft Entra ID, care este cu totul altceva.
- Faceți clic pe Create a resource, căutați Speech și alegeți Speech service publicat de Microsoft.
- Completați formularul: orice grup de resurse, orice nume și alegeți o Regiune aproape de dvs. - notați acea regiune exact cum apare, de exemplu
eastus. - Pentru Pricing tier alegeți F0 (Free). Asta permite aproximativ cinci ore de vorbire în text și jumătate de milion de caractere de text în vorbire în fiecare lună.
- Faceți clic pe Review + create, apoi pe Create. Așteptați aproximativ un minut, apoi faceți clic pe Go to resource.
- În meniul din stânga deschideți Keys and Endpoint. Copiați KEY 1 și Location/Region.
Puneți-le în secrets.h ca AZURE_SPEECH_KEY și AZURE_REGION.
Cât costă să ruleze
Foarte puțin, dar nu este gratuit și ar trebui să știți aproximativ cât cheltuiți înainte de a lăsa un proiect să ruleze.
| Serviciu | Cost aproximativ |
|---|---|
| OpenAI vision | aproximativ unul sau doi cenți pe imagine, în funcție de model |
| Azure Speech | nivelul gratuit acoperă aproximativ 5 ore de ascultare și 0.5 M de caractere de vorbire pe lună |
Prețurile se schimbă, deci tratați-le ca un ghid, nu ca o ofertă. Fiecare dintre aceste servicii are o pagină de utilizare unde puteți urmări ce ați cheltuit și toate vă permit să setați o limită de cheltuieli - ceea ce merită făcut din prima zi.
Depanare
| Simptom | Cauză și soluție |
|---|---|
| Ecranul rămâne negru | Versiune greșită a bibliotecii GFX (folosiți 1.5.6) sau setări greșite ale plăcii. |
PSRAM alloc failed |
Tools → PSRAM nu este setat la OPI PSRAM. |
| Nimic nu se încarcă / niciun port COM | Port USB-C greșit sau driverul CH340 nu este instalat. |
Imagini
This code has not been parsed yet. Please return to the admin panel to parse it.
Lucruri de care ai putea avea nevoie
-
AltulProduct page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
Resurse și referințe
-
DocumentațieMakerfabs MaTouch ESP32-S3 2.8" Camera and Touchscreen: user's manualwiki.makerfabs.com
-
Documentație
-
DocumentațieProduct page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
-
ExternMakerfabs websitemakerfabs.com
Fișiere📁
Cod Arduino (.ino)
-
makerfabs_ESP32S3_Draw_AI.zip Arduino sketchincludes the pin header and secrete header .h files
makerfabs_ESP32S3_Draw_AI.zip0.02 MB