Search Code

Nilichora Mzunguko kwenye Bodi hii ya ESP32 ya $40 na AI Iliielezea

Nilichora Mzunguko kwenye Bodi hii ya ESP32 ya $40 na AI Iliielezea

Chora mzungu kwa kidole chako na AI ikueleze

Chora au andika kwenye skrini ya kugusa kwa kidole chako, gonga ASK, na AI ikwambie ulichochora - kwenye skrini na kwa sauti. Njia tatu: taja umbo, soma mwandiko, au eleza mzungu uliochorwa kwa mkono.

Hiyo ya mwisho ndiyo ya kuvutia. Chora betri, resistor na LED, na bodi itataja vifaa na kukuambia mzungu huo unafanya nini.

Makerfab_ESP32S3-MaTouch-draw-7-_main

Tatizo ambalo mradi huu ulipaswa kutatua

Huwezi kusoma pikseli kutoka kwenye onyesho hili kupitia SPI, na maktaba ya michoro kwa kawaida huchora moja kwa moja kwenye paneli bila nakala kwenye kumbukumbu - kwa hivyo hakuna picha ya skrini ya kutuma popote. Suluhisho ni kutochora kwenye paneli moja kwa moja. Mchoro huu huchora ndani ya Arduino_Canvas, ambayo huhifadhi fremu kamili kwenye PSRAM. Bafa hiyo ndiyo picha, kwa hivyo fmt2jpg() inaigeuza moja kwa moja kuwa JPEG.

 

Kwa nini wino ni mweusi kwenye nyeupe

Modeli za maono husoma alama nyeusi kwenye mandharinyuma mepesi kwa uaminifu zaidi kuliko kinyume chake, na inaonekana kama karatasi kwenye kamera. Vitufe huchorwa kwenye paneli badala ya ndani ya canvas, kwa hivyo havijawahi kuwa sehemu ya picha anayoona AI - inapata chochote isipokuwa mchoro wako kwenye uwanja mweupe safi.

Kufanya mistari ionekane kama mistari

Vitu viwili vilipaswa kuwa sawa kabla ya kuchora kuhisi kama kalamu badala ya dot matrix:

  • Canvas haitumwi kwenye skrini kila wakati sampuli ya kugusa inapopokelewa - hiyo inasukuma 115 KB kupitia SPI kila wakati na kupunguza kasi ya kila kitu. Kila mstari huchorwa ndani ya canvas na kupakwa rangi kwenye paneli kando, ambayo inagharimu karibu chochote.
  • Mstari unaisha tu baada ya paneli kuwa kimya kwa takriban milisekunde 70. Kidhibiti cha kugusa hakirudishi nukta kila uchunguzi, na kuchukulia kila uchunguzi tupu kama kidole kilichoinuliwa kunavunja mstari kuwa nukta zisizounganishwa.

Njia tatu, mchoro mmoja

Mchoro wako unabaki chini ya jibu, kwa hivyo unaweza kugonga RUDI KWA KUCHORA, ubadilishe njia, na uulize swali tofauti kuhusu mchoro huo huo. Kama picha ni mistari na maumbo; ukiulizwa kama mhandisi, inakuwa mzungu.

Vidokezo vya matokeo mazuri

  • Kalamu ya capacitive ya bei nafuu inafanya kazi vizuri zaidi kuliko ncha ya kidole.
  • Chora kubwa - canvas ni 240×240, kwa hivyo vitu vichache vikubwa, si maelezo madogo.
  • Hakuna kukataliwa kwa kiganja. Weka mkono wako mbali na glasi.

Kuhusu bodi ya MaTouch AI ESP32-S3 2.8"

Kila mradi kwenye ukurasa huu unaendesha kwenye MaTouch AI ESP32-S3 2.8" TFT ST7789V kutoka Makerfabs. Ni bodi ya kila kitu kwa moja: skrini ya kugusa ya rangi, kamera ya megapikseli 3, maikrofoni mbili na amplifier halisi ya spika, zote zinaendeshwa na ESP32-S3 yenye PSRAM ya 8 MB. Mchanganyiko huo ndio unaofanya miradi hii ya AI iwezekane kwenye bodi moja bila kitu kingine chochote kimeunganishwa.

PSRAM ya 8 MB ina umuhimu zaidi kuliko nambari nyingine yoyote hapa. Ni hiyo inayoruhusu bodi kushikilia fremu ya kamera, sekunde chache za sauti iliyorekodiwa, au picha iliyosimbwa kwa base64 kwenye kumbukumbu kwa wakati mmoja - hakuna hata moja inayofaa kwenye RAM ya kawaida ya ESP32.

Nyaraka za mtengenezaji: ukurasa wa wiki wa Makerfabs.

Vipimo muhimu

  • Kichakataji: ESP32-S3, core mbili 240 MHz, WiFi 2.4 GHz + Bluetooth 5.0
  • Kumbukumbu: flash 16 MB, PSRAM 8 MB (inahitajika na karibu kila mradi hapa)
  • Onyesho: IPS 2.8", 320×240, kiendeshaji ST7789V, SPI
  • Kugusa: GT911 capacitive, hufuatilia vidole 5 kwa wakati mmoja
  • Kamera: OV3660, megapikseli 3, hadi 2048×1536
  • Maikrofoni: mbili INMP441 I2S digital mics (jozi halisi ya stereo)
  • Spika: amplifier MAX98357A class-D, 3.2 W kwenye 4 Ω
  • Hifadhi: slot ya kadi ya microSD (hali ya SPI)
  • Nguvu: USB-C, kiunganishi cha betri JST, chaja TP4056, swichi ya nguvu
  • Pia kwenye bodi: WS2812B RGB LED, saa ya wakati halisi ya PCF8563T inayotumia betri, na kipimo cha betri MAX17048 ambacho hakijaorodheshwa kwenye vipimo rasmi

Kuiitumia betri? Soketi mbili za USB-C, chaja ya TP4056 na swichi ya nguvu zimeelezwa kwa undani, pamoja na mchoro wa saketi, katika makala ya majaribio ya bodi — ikijumuisha ni soketi gani inachaji na kama swichi inapaswa kuwashwa au kuzimwa.

Mipangilio ya Arduino IDE

Mipangilio hii ni muhimu. Matatizo mengi ambayo watu wanaripoti kuhusu bodi hii ni mojawapo ya haya kuwa mabaya, na yanarejesha yanapobadilisha toleo la msingi, kwa hiyo yaangalie tena baada ya mabadiliko yoyote.

Mpangilio Thamani
Bodi ESP32S3 Dev Module
Toleo la msingi la ESP32 2.0.17
PSRAM OPI PSRAM
Ukubwa wa Flash 16MB (128Mb)
Mpango wa Ugawaji 16M Flash (3MB APP/9.9MB FATFS)
USB CDC On Boot Imekatwa
Kasi ya Kupakia 921600
Futa Flash Yote Kabla ya Kupakia Imekatwa
Bandari Bandari ya CH340K USB-C

Maktaba zinazohitajika

Mradi huu unahitaji kila maktaba kwenye jedwali hapa chini - si zaidi, si chini. Nyingi husakinishwa moja kwa moja kutoka Tools → Manage Libraries kwenye Arduino IDE, lakini GFX Library for Arduino inapaswa kusakinishwa kutoka kwenye faili ya ZIP. Nambari za matoleo ni muhimu, kwa hiyo tafadhali tumia zile zilizoorodheshwa haswa.

Maktaba Toleo Mwandishi Sakinisha kutoka
GFX Library for Arduino 1.5.6 moononournation Faili ya ZIP - tazama hapa chini
bb_captouch 1.3.1 Larry Bank Library Manager
ArduinoJson 7.x Benoit Blanchon Library Manager
Adafruit NeoPixel yoyote ya hivi karibuni Adafruit Library Manager

Kusakinisha maktaba ya GFX kutoka kwenye faili ya ZIP

  1. Pakua faili ya ZIP. Imojumuishwa kwenye upakuaji wa mradi huu, au unaweza kuipata kutoka hifadhi ya Arduino_GFX - bofya kitufe cha kijani cha Code, kisha Download ZIP.
  2. Hifadhi mahali utakapoweza kuipata tena. Usiifungue.
  3. Kwenye Arduino IDE, bofya SketchInclude LibraryAdd .ZIP Library.
  4. Tafuta faili ya ZIP uliyopakua na bofya Open.
  5. IDE inaisakinisha na kuthibitisha chini ya dirisha. Ikiwa tayari una toleo la 1.6 lililosakinishwa, futa folda hiyo kutoka Documents/Arduino/libraries kwanza, au hizo mbili zitasumbukana.

 

Makerfab_ESP32S3-MaTouch-draw-6-robojax iliyoandikwa kwa mkono kwenye skrini
Makerfab_ESP32S3-MaTouch-draw-3-saketi iliyochorwa kwa mkono
Makerfab_ESP32S3-MaTouch-draw-4-hello word iliyoandikwa kwa mkono

Kusanidi secrets.h

Maelezo yako ya WiFi na funguo zozote za API zinaingia kwenye secrets.h, ambayo imojumuishwa kwenye upakuaji na thamani za mfano. Fungua kichupo hicho kwenye Arduino IDE na ubadilishe na zako mwenyewe.

Kupata funguo zako za API

Mradi huu unazungumza na huduma ya AI ya wavuti, kwa hivyo unahitaji ufunguo wako mwenyewe. Ikiwa hujawahi kufanya hivi hapo awali, usijali - ni wazo sawa na nenosiri linalotambulisha akaunti yako kwa huduma. Inachukua dakika chache, mara moja tu.

OpenAI - macho

OpenAI hutoa mfano wa maono unaoangalia picha. Ni miradi inayotuma picha pekee inayohitaji hii.

  1. Nenda kwenye platform.openai.com/api-keys na uingie au uunde akaunti.
  2. Bonyeza Create new secret key, lipe jina, na liunde.
  3. Linakili mara moja - linaonyeshwa mara moja tu.
  4. Fungua Billing na ongeza kiasi kidogo cha salio. API hulipwa mapema na ni tofauti na usajili wowote wa ChatGPT ambao huenda tayari unao.

Weka ufunguo kwenye secrets.h kama OPENAI_KEY.

Microsoft Azure Speech - kwa kusikiliza na kuzungumza

Azure hubadilisha hotuba yako kuwa maandishi na hubadilisha jibu kuwa sauti. Kiwango cha bure kinatosha kwa kila kitu kwenye ukurasa huu.

  1. Nenda kwenye portal.azure.com na uingie kwa akaunti ya Microsoft (akaunti ya bure ni sawa).
  2. Ikiwa hujawahi kutumia Azure hapo awali utaona skrini ya Welcome to Azure inayotoa chaguo tatu. Chagua Start with an Azure free trial - unahitaji usajili kabla Azure haikuruhusu kuunda chochote. (Wanafunzi wanapaswa kuchagua Azure for Students badala yake: matokeo sawa, hakuna kadi inayohitajika.) Puuza Manage Microsoft Entra ID, ambayo ni kitu kingine kabisa.
  3. Bonyeza Create a resource, tafuta Speech, na uchague Speech service iliyochapishwa na Microsoft.
  4. Jaza fomu: kikundi chochote cha rasilimali, jina lolote, na chagua Region karibu nawe - andika eneo hilo kama linavyoonekana haswa, kwa mfano eastus.
  5. Kwa Pricing tier chagua F0 (Free). Hiyo inaruhusu takriban saa tano za hotuba-kwa-maandishi na nusu milioni ya herufi za maandishi-kwa-hotuba kila mwezi.
  6. Bonyeza Review + create, kisha Create. Subiri takriban dakika moja, kisha bonyeza Go to resource.
  7. Katika menyu ya kushoto fungua Keys and Endpoint. Nakili KEY 1 na Location/Region.

Weka hizo kwenye secrets.h kama AZURE_SPEECH_KEY na AZURE_REGION.

Gharama ya kuiendesha

Ni kidogo sana, lakini sio bure, na unapaswa kujua takriban unachotumia kabla ya kuacha mradi ukiendelea.

Huduma Gharama takriban
OpenAI vision takriban senti moja au mbili kwa picha, kulingana na mfano
Azure Speech kiwango cha bure kinashughulikia takriban saa 5 za kusikiliza na herufi 0.5 M za kuzungumza kwa mwezi

Bei zinabadilika, kwa hivyo zizingatie kama mwongozo badala ya nukuu. Kila moja ya huduma hizi ina ukurasa wa matumizi ambapo unaweza kuangalia kile ulichotumia, na zote zinakuruhusu kuweka kikomo cha matumizi - ambacho kinafaa kufanywa siku ya kwanza.

Utatuzi wa shida

Dalili Sababu na suluhisho
Skrini inabaki nyeusi Toleo mbaya la maktaba ya GFX (tumia 1.5.6) au mipangilio mbaya ya bodi.
PSRAM alloc failed Tools → PSRAM haijawekwa kwenye OPI PSRAM.
Hakuna kinachopakia / hakuna bandari ya COM Bandari mbaya ya USB-C, au kiendeshaji cha CH340 hakijasakinishwa.

Bilder

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)
Språk: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Resurser och referenser

Filer📁

Arduino-kod (.ino)