Ek het 'n stroombaan op hierdie $40 ESP32-bord geteken en AI het dit verduidelik
Teken 'n stroombaan met jou vinger en laat 'n KI dit verduidelik
Teken of skryf op die raakskerm met jou vinger, tik ASK, en 'n KI vertel jou wat jy geteken het - op die skerm en hardop. Drie modusse: noem die vorm, lees die handskrif, of verduidelik die handgetekende stroombaan.
Daardie laaste een is die interessante een. Teken 'n battery, 'n resistor en 'n LED, en die bord sal die komponente noem en jou vertel wat die stroombaan doen.
Robojax_Makerfab in by die betaalpunt op die MaTouch AI ESP32-S3 produkbladsy. Dit kos jou niks om te gebruik nie, en dit help om die gratis kode en tutoriaal hier te ondersteun.Die probleem wat hierdie projek moes oplos
Jy kan nie pixels teruglees uit hierdie skerm oor SPI nie, en die grafiese biblioteek teken normaalweg direk na die paneel sonder 'n kopie in geheue - so daar is geen skermkiekie om enige plek heen te stuur nie. Die oplossing is om nooit direk na die paneel te teken nie. Hierdie skets teken in 'n Arduino_Canvas, wat 'n volle raambuffer in PSRAM hou. Daardie buffer is die beeld, so fmt2jpg() verander dit direk in 'n JPEG.
Hoekom die ink swart op wit is
Visiemodelle lees donker merke op 'n ligte agtergrond baie meer betroubaar as die omgekeerde, en dit lyk soos papier op kamera. Die knoppies word op die paneel geteken eerder as in die canvas, so hulle is nooit deel van die beeld wat die KI sien nie - dit kry niks anders as jou tekening op 'n skoon wit veld nie.
Maak dat beroertes soos beroertes lyk
Twee dinge moes reg wees voordat teken soos 'n pen gevoel het eerder as 'n dot-matriks:
- Die canvas word nie na die skerm gestuur by elke raakmonster nie - dit stoot 115 KB oor SPI elke keer en vertraag alles. Elke beroerte word in die canvas geteken en afsonderlik op die paneel geverf, wat byna niks kos nie.
- 'n Beroerte eindig eers nadat die paneel vir ongeveer 70 millisekondes stil was. Die raakbeheerder gee nie 'n punt by elke poll terug nie, en om elke leë poll as 'n geligte vinger te behandel, breek die lyn in losstaande kolletjies.
Drie modusse, een tekening
Jou tekening oorleef onder die antwoord, so jy kan BACK TO DRAW tik, die modus verander, en 'n ander vraag oor dieselfde skets vra. As 'n prent is dit lyne en vorms; gevra as 'n ingenieur, word dit 'n stroombaan.
Wenke vir goeie resultate
- 'n Goedkoop kapasitiewe stylus werk baie beter as 'n vingerpunt.
- Teken groot - die canvas is 240×240, so 'n paar groot elemente, nie fyn besonderhede nie.
- Daar is geen palmverwerping nie. Hou jou hand van die glas af.
Oor die MaTouch AI ESP32-S3 2.8" bord
Elke projek op hierdie bladsy loop op die MaTouch AI ESP32-S3 2.8" TFT ST7789V van Makerfabs. Dit is 'n alles-in-een-bord: 'n kleur-raakskerm, 'n 3 megapixel-kamera, twee mikrofoons en 'n regte luidsprekerversterker, alles aangedryf deur 'n ESP32-S3 met 8 MB PSRAM. Daardie kombinasie is wat hierdie KI-projekte moontlik maak op 'n enkele bord met niks anders aangeheg nie.
Die 8 MB PSRAM is belangriker as enige ander getal hier. Dit is wat die bord in staat stel om 'n kameraraam, 'n paar sekondes van opgeneemde klank, of 'n base64-geënkodeerde foto in geheue te hou op dieselfde tyd - nie een daarvan pas in die ESP32 se normale RAM nie.
Vervaardigerdokumentasie: Makerfabs wiki-bladsy.
Sleutelspesifikasies
- Verwerker: ESP32-S3, dubbelkern 240 MHz, WiFi 2.4 GHz + Bluetooth 5.0
- Geheue: 16 MB flits, 8 MB PSRAM (vereis deur byna elke projek hier)
- Skerm: 2.8" IPS, 320×240, ST7789V-bestuurder, SPI
- Raak: GT911 kapasitief, volg 5 vingers gelyktydig
- Kamera: OV3660, 3 megapixel, tot 2048×1536
- Mikrofoons: twee INMP441 I2S digitale mikrofoons ('n egte stereo-paar)
- Luidspreker: MAX98357A klas-D-versterker, 3.2 W in 4 Ω
- Berging: microSD-kaartgleuf (SPI-modus)
- Krag: USB-C, JST-batterykonnektor, TP4056-laaier, kragskakelaar
- Ook op die bord: WS2812B RGB-LED, PCF8563T battery-ondersteunde regte-tyd-klok, en 'n MAX17048 battery-brandstofmeter wat nie in die amptelike spesifikasies gelys is nie
USB CDC On Boot op Disabled. Gebruik die verkeerde poort en klank sal wanfunksioneer of oplaai sal misluk.Krag dit van 'n battery af? Die twee USB-C-sokke, die TP4056-laaier en die kragskakelaar word volledig verduidelik, met die skematiese, in die bordtoets-artikel — insluitend watter sok laai en of die skakelaar aan of af moet wees.
Arduino IDE-instellings
Hierdie instellings maak saak. Die meeste probleme wat mense met hierdie bord rapporteer, is een van hierdie wat verkeerd is, en hulle stel terug wanneer jy die kernweergawe verander, so kyk hulle weer na enige verandering.
| Instelling | Waarde |
|---|---|
| Bord | ESP32S3 Dev Module |
| ESP32-kernweergawe | 2.0.17 |
| PSRAM | OPI PSRAM |
| Flitsgrootte | 16MB (128Mb) |
| Partisie-skema | 16M Flash (3MB APP/9.9MB FATFS) |
| USB CDC On Boot | Disabled |
| Oplaaispoed | 921600 |
| Vee alle flits uit voor oplaai | Disabled |
| Poort | die CH340K USB-C-poort |
Vereiste biblioteke
Hierdie projek benodig elke biblioteek in die tabel hieronder - niks meer, niks minder nie. Die meeste installeer direk vanaf Tools → Manage Libraries in die Arduino IDE, maar GFX Library for Arduino moet vanaf 'n ZIP-lêer geïnstalleer word. Die weergawe-nommers maak saak, so gebruik asseblief presies die wat gelys is.
| Biblioteek | Weergawe | Skrywer | Installeer vanaf |
|---|---|---|---|
| GFX Library for Arduino | 1.5.6 | moononournation | ZIP-lêer - sien hieronder |
| bb_captouch | 1.3.1 | Larry Bank | Library Manager |
| ArduinoJson | 7.x | Benoit Blanchon | Library Manager |
| Adafruit NeoPixel | enige onlangse | Adafruit | Library Manager |
Installeer die GFX-biblioteek vanaf 'n ZIP-lêer
- Laai die ZIP af. Dit is ingesluit in hierdie projek se aflaai, of jy kan dit kry vanaf die Arduino_GFX-bewaarplek - klik die groen Code-knoppie, dan Download ZIP.
- Stoor dit op 'n plek waar jy dit weer kan vind. Moet dit nie uitpak nie.
- In die Arduino IDE, klik Sketch → Include Library → Add .ZIP Library.
- Blaai na die ZIP-lêer wat jy afgelaai het en klik Open.
- Die IDE installeer dit en bevestig aan die onderkant van die venster. As jy reeds 'n 1.6-weergawe geïnstalleer het, verwyder daardie gids van
Documents/Arduino/librarieseers, of die twee sal konflik.
Stel secrets.h op
Jou WiFi-besonderhede en enige API-sleutels gaan in secrets.h, wat ingesluit is in die aflaai met plekhouerwaardes. Maak daardie oortjie in die Arduino IDE oop en vervang hulle met jou eie.
secrets.h.Kry jou API-sleutels
Hierdie projek praat met 'n wolk-KI-diens, so jy benodig jou eie sleutel. As jy dit nog nooit gedoen het nie, moenie bekommerd wees nie - dit is dieselfde idee as 'n wagwoord wat jou rekening aan die diens identifiseer. Dit neem 'n paar minute, een keer.
OpenAI - die oë
OpenAI verskaf die visiemodel wat na prente kyk. Slegs projekte wat 'n beeld stuur, benodig hierdie een.
- Gaan na platform.openai.com/api-keys en teken aan of skep 'n rekening.
- Klik Create new secret key, gee dit 'n naam, en skep dit.
- Kopieer dit onmiddellik - dit word slegs een keer gewys.
- Maak Billing oop en voeg 'n klein hoeveelheid krediet by. Die API is voorafbetaal en apart van enige ChatGPT-intekening wat jy dalk reeds het.
Plaas die sleutel in secrets.h as OPENAI_KEY.
Microsoft Azure Speech - vir luister en praat
Azure verander jou spraak in teks en verander die antwoord terug in 'n stem. Die gratis vlak is ruim genoeg vir alles op hierdie bladsy.
- Gaan na portal.azure.com en teken aan met 'n Microsoft-rekening ('n gratis een is fyn).
- As jy Azure nog nooit gebruik het nie, sal jy 'n Welcome to Azure-skerm sien wat drie keuses bied. Kies Start with an Azure free trial - jy benodig 'n intekening voordat Azure jou sal toelaat om enigiets te skep. (Studente moet eerder Azure for Students kies: dieselfde resultaat, geen kaart nodig nie.) Ignoreer Manage Microsoft Entra ID, wat iets heeltemal anders is.
- Klik Create a resource, soek vir Speech, en kies Speech service gepubliseer deur Microsoft.
- Vul die vorm in: enige hulpbrongroep, enige naam, en kies 'n Region naby jou - skryf daardie streek neer presies soos dit verskyn, byvoorbeeld
eastus. - Vir Pricing tier kies F0 (Free). Dit laat ongeveer vyf ure van spraak-na-teks en 'n halfmiljoen karakters van teks-na-spraak elke maand toe.
- Klik Review + create, dan Create. Wag ongeveer 'n minuut, dan klik Go to resource.
- In die linkerkantse kieslys maak Keys and Endpoint oop. Kopieer KEY 1 en die Location/Region.
Plaas daardie in secrets.h as AZURE_SPEECH_KEY en AZURE_REGION.
Wat dit kos om te loop
Baie min, maar dit is nie gratis nie, en jy moet ongeveer weet wat jy spandeer voordat jy 'n projek laat loop.
| Diens | Rowwe koste |
|---|---|
| OpenAI-visie | ongeveer 'n sent of twee per prent, afhangende van die model |
| Azure Speech | gratis vlak dek ongeveer 5 ure van luister en 0.5 M karakters van praat per maand |
Pryse verander, so behandel hierdie as 'n gids eerder as 'n kwotasie. Elkeen van hierdie dienste het 'n gebruiksbladsy waar jy kan kyk wat jy spandeer het, en almal laat jou toe om 'n bestedingslimiet te stel - wat die moeite werd is om op dag een te doen.
Probleemoplossing
| Simeptoom | Oorsaak en regstelling |
|---|---|
| Skerm bly swart | Verkeerde GFX-biblioteekweergawe (gebruik 1.5.6) of verkeerde bordinstellings. |
PSRAM alloc failed |
Tools → PSRAM is nie op OPI PSRAM gestel nie. |
| Niks laai op / geen COM-poort | Verkeerde USB-C-poort, of die CH340-bestuurder is nie geïnstalleer nie. |
Beelde
This code has not been parsed yet. Please return to the admin panel to parse it.
Goedere wat jy dalk nodig het
-
AnderProduct page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
Hulpbronne en verwysings
-
DokumentasieMakerfabs MaTouch ESP32-S3 2.8" Camera and Touchscreen: user's manualwiki.makerfabs.com
-
Dokumentasie
-
DokumentasieProduct page for MaTouch AI ESP32S3 2.8" TFT ST7789Vmakerfabs.com
-
BuitenburgMakerfabs websitemakerfabs.com
Lêers📁
Arduino-kode (.ino)
-
makerfabs_ESP32S3_Draw_AI.zip Arduino sketchincludes the pin header and secrete header .h files
makerfabs_ESP32S3_Draw_AI.zip0.02 MB