Search Code

Nakreslil som obvod na túto dosku ESP32 za 40 dolárov a AI mi ho vysvetlila

Nakreslil som obvod na túto dosku ESP32 za 40 dolárov a AI mi ho vysvetlila

Načrtnite obvod prstom a AI vám ho vysvetlí

Kreslite alebo píšte na dotykovú obrazovku prstom, klepnite na ASK a AI vám povie, čo ste nakreslili – na obrazovke aj nahlas. Tri režimy: pomenovať tvar, prečítať rukopis alebo vysvetliť ručne nakreslený obvod.

Ten posledný je zaujímavý. Načrtnite batériu, rezistor a LED a doska pomenuje komponenty a povie vám, čo obvod robí.

Makerfab_ESP32S3-MaTouch-draw-7-_main

Problém, ktorý tento projekt musel vyriešiť

Z tohto displeja nemôžete prečítať pixely späť cez SPI a grafická knižnica normálne kreslí priamo na panel bez kópie v pamäti – takže neexistuje žiadna snímka obrazovky, ktorú by ste mohli poslať. Riešením je nikdy nekresliť priamo na panel. Táto skica kreslí do Arduino_Canvas, ktorý uchováva plný framebuffer v PSRAM. Tento buffer je obrázok, takže fmt2jpg() ho premení priamo na JPEG.

 

Prečo je atrament čierny na bielom

Modely videnia čítajú tmavé značky na svetlom pozadí oveľa spoľahlivejšie ako naopak a na kamere to vyzerá ako papier. Tlačidlá sú nakreslené na paneli, nie do plátna, takže nikdy nie sú súčasťou obrázka, ktorý AI vidí – dostane iba vašu kresbu na čistom bielom poli.

Aby ťahy vyzerali ako ťahy

Dve veci museli byť správne, aby kreslenie vyzeralo ako pero, nie ako bodová matrica:

  • Plátno sa nevyprázdňuje na obrazovku pri každej vzorke dotyku – to by tlačilo 115 KB cez SPI zakaždým a všetko by to spomalilo. Každý ťah sa kreslí do plátna a maľuje sa na panel samostatne, čo stojí takmer nič.
  • Ťah sa končí až po tom, čo je panel tichý asi 70 milisekúnd. Ovládač dotyku nevracia bod pri každom dotaze a považovanie každého prázdneho dotazu za zdvihnutý prst rozbije čiaru na nespojené bodky.

Tri režimy, jedna kresba

Vaša kresba prežije pod odpoveďou, takže môžete klepnúť na BACK TO DRAW, zmeniť režim a položiť inú otázku o rovnakej skici. Ako obrázok sú to čiary a tvary; opýtaný ako inžinier sa stane obvodom.

Tipy pre dobré výsledky

  • Lacné kapacitné pero funguje oveľa lepšie ako konček prsta.
  • Kreslite veľké – plátno je 240×240, takže pár veľkých prvkov, nie jemné detaily.
  • Neexistuje žiadne odmietnutie dlane. Držte ruku mimo skla.

O doske MaTouch AI ESP32-S3 2.8"

Každý projekt na tejto stránke beží na MaTouch AI ESP32-S3 2.8" TFT ST7789V od Makerfabs. Je to all-in-one doska: farebná dotyková obrazovka, 3 megapixelová kamera, dva mikrofóny a skutočný zosilňovač reproduktora, všetko poháňané ESP32-S3 s 8 MB PSRAM. Táto kombinácia umožňuje tieto AI projekty na jednej doske bez čohokoľvek ďalšieho.

8 MB PSRAM je dôležitejšie ako akékoľvek iné číslo tu. Umožňuje doske držať snímku kamery, pár sekúnd nahraného zvuku alebo base64 zakódovanú fotografiu v pamäti súčasne – žiadne z toho sa nezmestí do bežnej RAM ESP32.

Dokumentácia výrobcu: wiki stránka Makerfabs.

Kľúčové špecifikácie

  • Procesor: ESP32-S3, dvojjadrový 240 MHz, WiFi 2.4 GHz + Bluetooth 5.0
  • Pamäť: 16 MB flash, 8 MB PSRAM (vyžadované takmer každým projektom tu)
  • Displej: 2.8" IPS, 320×240, ovládač ST7789V, SPI
  • Dotykové ovládanie: GT911 kapacitné, sleduje 5 prstov naraz
  • Kamera: OV3660, 3 megapixely, až 2048×1536
  • Mikrofóny: dva INMP441 I2S digitálne mikrofóny (skutočný stereo pár)
  • Reproduktor: MAX98357A zosilňovač triedy D, 3.2 W do 4 Ω
  • Úložisko: slot na microSD kartu (SPI režim)
  • Napájanie: USB-C, JST konektor batérie, nabíjačka TP4056, vypínač
  • Tiež na doske: WS2812B RGB LED, PCF8563T hodiny reálneho času s batériou a MAX17048 merač stavu batérie, ktorý nie je uvedený v oficiálnych špecifikáciách

Napájanie z batérie? Dve USB-C zásuvky, nabíjačka TP4056 a vypínač sú vysvetlené úplne, so schémou, v článku o testovaní dosky — vrátane toho, ktorá zásuvka nabíja a či má byť vypínač zapnutý alebo vypnutý.

Nastavenia Arduino IDE

Tieto nastavenia sú dôležité. Väčšina problémov, ktoré ľudia hlásia s touto doskou, je jedna z týchto vecí zle nastavená a resetujú sa, keď zmeníte verziu jadra, takže ich skontrolujte znova po akejkoľvek zmene.

Nastavenie Hodnota
Doska ESP32S3 Dev Module
Verzia jadra ESP32 2.0.17
PSRAM OPI PSRAM
Veľkosť flash 16MB (128Mb)
Schéma oddielov 16M Flash (3MB APP/9.9MB FATFS)
USB CDC On Boot Disabled
Rýchlosť nahrávania 921600
Vymazať všetku flash pred nahrávaním Disabled
Port CH340K USB-C port

Požadované knižnice

Tento projekt potrebuje každú knižnicu v tabuľke nižšie – nič viac, nič menej. Väčšina sa inštaluje priamo z Tools → Manage Libraries v Arduino IDE, ale GFX Library for Arduino sa musí nainštalovať zo ZIP súboru. Čísla verzií sú dôležité, takže použite presne tie, ktoré sú uvedené.

Knižnica Verzia Autor Inštalovať z
GFX Library for Arduino 1.5.6 moononournation ZIP súbor – pozri nižšie
bb_captouch 1.3.1 Larry Bank Library Manager
ArduinoJson 7.x Benoit Blanchon Library Manager
Adafruit NeoPixel akákoľvek nedávna Adafruit Library Manager

Inštalácia GFX knižnice zo ZIP súboru

  1. Stiahnite ZIP. Je zahrnutý v stiahnutí tohto projektu, alebo ho môžete získať z repozitára Arduino_GFX – kliknite na zelené tlačidlo Code, potom Download ZIP.
  2. Uložte ho na miesto, kde ho znova nájdete. Nerozbaľujte ho.
  3. V Arduino IDE kliknite na SketchInclude LibraryAdd .ZIP Library.
  4. Prejdite na ZIP súbor, ktorý ste stiahli, a kliknite na Open.
  5. IDE ho nainštaluje a potvrdí v spodnej časti okna. Ak už máte nainštalovanú verziu 1.6, najprv odstráňte ten priečinok z Documents/Arduino/libraries, inak budú kolidovať.

 

Makerfab_ESP32S3-MaTouch-draw-6-robojax napísané rukou na obrazovke
Makerfab_ESP32S3-MaTouch-draw-3-obvod nakreslený rukou
Makerfab_ESP32S3-MaTouch-draw-4-slovo hello nakreslené rukou

Nastavenie secrets.h

Vaše WiFi údaje a akékoľvek API kľúče idú do secrets.h, ktorý je zahrnutý v stiahnutí s zástupnými hodnotami. Otvorte túto kartu v Arduino IDE a nahraďte ich vlastnými.

Získanie vašich API kľúčov

Tento projekt komunikuje s cloudovou AI službou, takže potrebujete vlastný kľúč. Ak ste to nikdy nerobili, nebojte sa – je to rovnaký nápad ako heslo, ktoré identifikuje váš účet službe. Trvá to pár minút, raz.

OpenAI – oči

OpenAI poskytuje model videnia, ktorý sa pozerá na obrázky. Iba projekty, ktoré posielajú obrázok, potrebujú tento.

  1. Prejdite na platform.openai.com/api-keys a prihláste sa alebo vytvorte účet.
  2. Kliknite na Create new secret key, dajte mu názov a vytvorte ho.
  3. Skopírujte ho okamžite – zobrazí sa iba raz.
  4. Otvorte Billing a pridajte malý kredit. API je predplatené a oddelené od akéhokoľvek ChatGPT predplatného, ktoré už môžete mať.

Vložte kľúč do secrets.h ako OPENAI_KEY.

Microsoft Azure Speech – pre počúvanie a rozprávanie

Azure mení vašu reč na text a odpoveď späť na hlas. Bezplatná úroveň je dostatočne veľkorysá pre všetko na tejto stránke.

  1. Prejdite na portal.azure.com a prihláste sa s účtom Microsoft (bezplatný je v poriadku).
  2. Ak ste Azure nikdy nepoužívali, uvidíte obrazovku Welcome to Azure s tromi možnosťami. Vyberte Start with an Azure free trial – potrebujete predplatné, kým vám Azure dovolí niečo vytvoriť. (Študenti by mali namiesto toho zvoliť Azure for Students: rovnaký výsledok, bez karty.) Ignorujte Manage Microsoft Entra ID, čo je úplne niečo iné.
  3. Kliknite na Create a resource, vyhľadajte Speech a vyberte Speech service publikované spoločnosťou Microsoft.
  4. Vyplňte formulár: akákoľvek skupina zdrojov, akýkoľvek názov a vyberte Region blízko vás – zapíšte si tento región presne tak, ako sa zobrazuje, napríklad eastus.
  5. Pre Pricing tier vyberte F0 (Free). To umožňuje asi päť hodín prevodu reči na text a pol milióna znakov prevodu textu na reč každý mesiac.
  6. Kliknite na Review + create, potom Create. Počkajte asi minútu, potom kliknite na Go to resource.
  7. V ľavom menu otvorte Keys and Endpoint. Skopírujte KEY 1 a Location/Region.

Vložte ich do secrets.h ako AZURE_SPEECH_KEY a AZURE_REGION.

Čo to stojí na prevádzku

Veľmi málo, ale nie je to zadarmo, a mali by ste približne vedieť, čo míňate, skôr než necháte projekt bežať.

Služba Približná cena
OpenAI vision približne cent alebo dva za obrázok, v závislosti od modelu
Azure Speech bezplatná úroveň pokrýva asi 5 hodín počúvania a 0.5 M znakov rozprávania za mesiac

Ceny sa menia, takže ich berte ako sprievodcu, nie ako cenovú ponuku. Každá z týchto služieb má stránku s využitím, kde môžete sledovať, čo ste minuli, a všetky vám umožňujú nastaviť limit výdavkov – čo stojí za to urobiť v prvý deň.

Riešenie problémov

Príznak Príčina a oprava
Obrazovka zostane čierna Nesprávna verzia GFX knižnice (použite 1.5.6) alebo nesprávne nastavenia dosky.
PSRAM alloc failed Tools → PSRAM nie je nastavené na OPI PSRAM.
Nič sa nenahráva / žiadny COM port Nesprávny USB-C port alebo ovládač CH340 nie je nainštalovaný.

Images

Makerfab_ESP32S3-MaTouch-draw-7-_main
Makerfab_ESP32S3-MaTouch-draw-7-_main
Makerfab_ESP32S3-MaTouch-draw-2-
Makerfab_ESP32S3-MaTouch-draw-2-
Makerfab_ESP32S3-MaTouch-draw-3-
Makerfab_ESP32S3-MaTouch-draw-3-
Makerfab_ESP32S3-MaTouch-draw-4-
Makerfab_ESP32S3-MaTouch-draw-4-
Makerfab_ESP32S3-MaTouch-draw-5-
Makerfab_ESP32S3-MaTouch-draw-5-
Makerfab_ESP32S3-MaTouch-draw-6-
Makerfab_ESP32S3-MaTouch-draw-6-
Makerfab_ESP32S3-MaTouch-draw-7-_main
Makerfab_ESP32S3-MaTouch-draw-7-_main
Makerfab_ESP32S3-MaTouch-draw-8-
Makerfab_ESP32S3-MaTouch-draw-8-
Makerfab ESP32S3 MaTouch draw 1
Makerfab ESP32S3 MaTouch draw 1
890-Makerfabs MaTouch ESP32-S3 2.8" Camera and Touchscreen: Daraw AI (video 2)
Language: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Resources & references

Files📁

Arduino Code (.ino)