AI ya rubuta waƙa kuma wannan ESP32 yana koya maka ka kunna ta
Tambayi AI ya rubuta waƙa, ji ana kunna ta, sannan ka bar allo ya koya maka kunna ta
Zaɓi yanayi, danna WRITE, kuma AI ya tsara ɗan waƙa. Allon ya kunna ta, yana haskaka kowace maɓallin yayin da take tafiya. Sannan danna LEARN kuma ya zama malami: yana haskaka maɓalli ɗaya a lokaci guda kuma yana jira ka danna shi, bayanin bayanin, har sai ka kunna dukan waƙar da kanka.
922-Wannan Labarin AI Music ne (labarin na yanzu)
923-Piano aikin yana nan.
Har yanzu cikakken piano mai maɓalli 21 ne a kowane lokaci - kawai ka kunna shi.
Robojax_Makerfab a wurin biya akan shafin samfurin MaTouch AI ESP32-S3. Ba ya kashe maka komai don amfani, kuma yana taimakawa tallafawa lambar kyauta da darussa a nan.Allon

Maɓallai shida a saman, sannan keyboard mai maɓalli 21 - layuka uku na bakwai, C3 zuwa B5. Ba kamar aikin piano ba babu shimfidar baki da fari a nan, domin an ƙuntata AI ga bayanan halitta bakwai kuma grid shine abin da waɗannan bayanan suke kama.
| Maɓalli | Abin da yake yi |
|---|---|
| STYLE | Yana jujjuya yanayi: HAPPY, SAD, SPOOKY, FOLK, LULLABY. Wannan shine abin da ake aika wa AI. |
| WRITE | Yana tambayar AI don waƙa a wannan yanayin. Yana nuna WAIT yayin da yake tunani, sannan yana kunna abin da ya dawo. |
| PLAY | Yana sake kunna waƙar da ke ciki a yanzu. Danna sake don tsayarwa. |
| LEARN | Yanayin koyarwa - yana haskaka maɓalli ɗaya kuma yana jira ka. |
| WAVE | Launin sauti: SOFT, ORGAN ko BRIGHT. |
| VOL | Danna don matsawa ƙarar 1 zuwa 5. Alamar tana nuna matakin. |
Ƙarar da allo ke farawa da ita an saita ta da #define VOLUME kusa da saman sketch, don haka za ka iya haɗa matakin da kake so kuma har yanzu canza shi kai tsaye.
Abin da AI ke haifarwa a zahiri
Wannan shine ɓangaren da ya cancanci a fayyace shi, domin yana da sauƙi a wuce gona da iri. AI ba ya haifar da audio. Samar da ainihin igiyar sauti yana buƙatar babban samfurin da katin zane; babu microcontroller da ke yin hakan, kuma duk wanda ya ce akasin haka yana kunna fayil ɗin da aka yi a wani wuri.
Abin da yake haifarwa shine jerin bayanan, a matsayin rubutu na yau da kullun:
[{"n":"C4","ms":300},{"n":"E4","ms":300},{"n":"G4","ms":600}]
Allon yana nazarin wannan da ArduinoJson kuma yana kunna shi ta amfani da wannan synthesiser kamar aikin piano. Ɗan buƙatar rubutu mai gajere yana kashe ɗan ƙaramin kaso na cent, kuma da zarar waƙa ta zo za a iya sake kunna ta har abada ba tare da intanet ba.
Dalilin da yasa prompt ɗin ke ƙuntata AI
Buƙatar tana gaya wa samfurin cewa yana iya amfani da bayanan 21 kawai waɗanda suke a zahiri akan wannan keyboard - halitta daga C3 zuwa B5, babu sharps ko flats. Wannan ba iyaka ce ta synthesiser ba, wanda zai iya kunna kowane mitar. Yana nan don dalilai biyu masu kyau:
- kowace bayanin da ya rubuta ita ce LEARN zai iya koya maka a zahiri, domin akwai maɓalli don ita
- zama a cikin maɓalli ɗaya yana nufin sakamakon koyaushe yana jin daɗin kiɗa, ko da samfurin yana da ranar rashin ilhami
Nazarin amsa daga samfurin harshe
Samfura suna son zama masu taimako, wanda a nan yana nufin nannade amsar a cikin shingen markdown da ƙara jimla mai abokantaka game da abin da suka rubuta. Sketch ɗin yana buƙatar ƙarfi don JSON marar kayan ado sannan kuma yana ɗaukar komai tsakanin farkon [ da ƙarshen ] a matsayin kariya. Duk bayanin da ba zai iya sanyawa akan keyboard ba ana tsallake shi, kuma ana karɓar sakamakon kawai idan aƙalla bayanai huɗu masu amfani suka tsira. Yin haƙuri da fitarwa marar cikakkiya shine mafi yawan aiki a kowane aikin da ke nazarin rubutun AI.
Amsar marar komai, da yadda za a guje mata
Abu ɗaya zai kama ka idan ka canza samfurin ko umarnin. DeepSeek yana tunani kafin ya amsa, kuma wannan tunanin ana biyansa daga wannan kasafin max_tokens ɗin da ake amfani da shi don amsar. Ka tambaye shi wani abu mai wahala kuma zai iya kashe dukan kasafin yana tunani, sannan ya dawo da amsa marar komai - buƙatar da ta yi nasara amma ba ta ƙunshe da kome ba.
A wannan aikin, wannan ya bayyana yayin da yanayin da suka fi wahala suka kasa yin aiki yayin da masu sauƙi suka yi aiki. SPOOKY da LULLABY suna son maɓallin ƙarami, wanda ke da wahala sosai lokacin da aka hana kowane ƙararrawa da ƙasa, don haka samfurin ya yi tunani - kuma ya ƙare. HAPPY a cikin C major ya amsa nan take.
Akwai gyare-gyare biyu kuma wannan zanen yana amfani da duka biyun. Buƙatar tana aika "thinking": {"type": "disabled"}, wanda ke kashe tunanin gaba ɗaya don haka dukan kasafin ya tafi ga amsar kuma amsar ta dawo da sauri. Kuma umarnin yanzu yana gaya wa samfurin yadda za a yi sautin ƙarami ba tare da ƙararrawa ba - a tsakiyar waƙar a kan A ko E, wanda ke amfani da irin waɗannan bayanan.
finish_reason. length yana nufin kasafin ya ƙare - ƙara MELODY_TOKENS. stop yana nufin samfurin ya zaɓi ya ce kome ba, wanda matsala ce ta umarni.Yanayin koyarwa
Ka danna LEARN kuma maɓalli ɗaya ya zama kore. Ka danna shi kuma allo ya ci gaba zuwa bayanin na gaba. Ka danna maɓallin da ba daidai ba kuma har yanzu yana yin sauti - piano ne, bayan haka - amma ba ya ci gaba. Sandar matsayi tana ƙidaya ci gabanka, kuma idan ka kai ƙarshe, tana gaya maka haka.
Babu matsin lokaci ko maki. Yana jira ka muddin kake buƙata, wanda shine abin da ya sa ya zama mai amfani da gaske don koyan jumla maimakon kawai sabon abu.
Yana aiki ba tare da WiFi ba kuma
An gina waƙa a cikin zanen, don haka PLAY da LEARN suna aiki ba tare da hanyar sadarwa ba kwata-kwata. WRITE ne kawai ke buƙatar intanet - kuma yana buƙatar maɓallin DeepSeek kawai. Babu asusun Azure ko OpenAI da ake buƙata don wannan aikin.
Lokacin da kake gwadawa, danna PLAY da farko: wannan yana tabbatar da hanyar sauti da madannai kafin a shiga hanyar sadarwa, don haka idan WRITE ya kasa daga baya, ka riga ka san inda za ka duba.
Ra'ayoyi don ci gaba
- Nemi waƙa "a salon waƙar teku" ta hanyar gyara jerin salon.
- Ka sa ta rubuta jumla ta biyu da ke amsa ta farko.
- Ajiye waƙoƙin a katin SD don allo ya gina littafin waƙa a tsawon lokaci.
- Ƙara makirufonin daga aikin mataimakin murya don ka iya magana da buƙatar maimakon danna zaɓi da aka riga aka saita.
Game da allo na MaTouch AI ESP32-S3 2.8"
Kowane aiki a wannan shafin yana gudana akan MaTouch AI ESP32-S3 2.8" TFT ST7789V daga Makerfabs. Allo ne mai haɗa komai: allon taɓawa mai launi, kyamara mai megapixel 3, makirufoni biyu da kuma amplifier na hakika na lasifika, duk ana sarrafa su ta ESP32-S3 tare da PSRAM 8 MB. Wannan haɗin shine abin da ke sa waɗannan ayyukan AI su yiwu akan allo ɗaya ba tare da wani abu da aka haɗa ba.
PSRAM 8 MB ɗin yana da muhimmanci fiye da kowane lamba a nan. Shi ne abin da ke ba allo damar riƙe hoton kyamara, ƴan daƙiƙan rikodin sauti, ko hoton da aka ɓoye a cikin base64 a ƙwaƙwalwa a lokaci guda - babu ɗayansu da ya dace a cikin RAM ɗin ESP32 na yau da kullun.
Takardun masana'anta: Shafin wiki na Makerfabs.
Kowane aiki na wannan allo - kyamara, tantance fuska ba tare da layi ba, mataimakin murya na AI, hangen nesa na AI da aikin zane - yana da nasa koyarwar. Hanyoyin haɗi zuwa dukansu suna ƙasa da wannan labarin.
Muhimman ƙayyadaddun bayanai
- Processor: ESP32-S3, dual core 240 MHz, WiFi 2.4 GHz + Bluetooth 5.0
- Ƙwaƙwalwa: Flash 16 MB, PSRAM 8 MB (wanda kusan kowane aiki a nan ke buƙata)
- Nuni: IPS 2.8", 320×240, direban ST7789V, SPI
- Taɓawa: GT911 capacitive, yana bin yatsu 5 a lokaci ɗaya
- Kyamara: OV3660, megapixel 3, har zuwa 2048×1536
- Makirufoni: INMP441 I2S dijital biyu (nau'in sitiriyo na hakika)
- Lasifika: MAX98357A class-D amplifier, 3.2 W a cikin 4 Ω
- Adana bayanai: Ramin katin microSD (yanayin SPI)
- Wutar lantarki: USB-C, haɗin baturi JST, caja TP4056, maɓallin wuta
- Har ila yau a kan allo: WS2812B RGB LED, agogon lokaci na hakika PCF8563T mai baturi, da ma'aunin man fetur na baturi MAX17048 wanda ba a jera shi a cikin ƙayyadaddun bayanai na hukuma ba
USB CDC On Boot zuwa Disabled. Idan ka yi amfani da tashar da ba daidai ba, sauti zai yi kuskure ko kuma lodawa zai gaza.Kuna kunna shi da baturi? An yi cikakken bayani game da kofofin USB-C guda biyu, cajar TP4056 da maɓallin wuta, tare da zanen tsarin, a cikin labarin gwajin allo — gami da wace kofa take caji da kuma ko maɓallin ya kamata a kunna ko a kashe.
Saitunan Arduino IDE
Waɗannan saitunan suna da mahimmanci. Yawancin matsalolin da mutane ke fuskanta da wannan allo ɗaya ne daga cikin waɗannan da ba daidai ba, kuma suna sake saitawa lokacin da kuka canza sigar core, don haka sake duba su bayan kowane canji.
| Saiti | Ƙima |
|---|---|
| Allo | ESP32S3 Dev Module |
| Sigar core ESP32 | 2.0.17 |
| PSRAM | OPI PSRAM |
| Girman Flash | 16MB (128Mb) |
| Tsarin Rarraba | 16M Flash (3MB APP/9.9MB FATFS) |
| USB CDC On Boot | Disabled |
| Saurin Lodawa | 921600 |
| Share Duk Flash Kafin Lodawa | Disabled |
| Tasha | tashar CH340K USB-C |
Idan lodawa ta gaza: sanya allo cikin yanayin saukewa da hannu
Yawancin lokaci kawai ku danna Upload kuma yana aiki. Wani lokaci ba ya aiki - IDE yana zaune a Connecting...... sannan ya daina da Failed to connect to ESP32-S3: No serial data received.
Wannan yana faruwa saboda IO0 yana yin ayyuka uku a wannan allo lokaci ɗaya: shine maɓallin BOOT, shine layin sake kunnawa daga CH340K, kuma shine layin bayanan RGB LED. Lokacin da sketch da ke gudana akan allo ke tuka wannan LED, yana iya yaƙi da sake kunnawa ta atomatik, don haka chip ɗin zai sake farawa cikin tsohon sketch ɗinku maimakon bootloader.
Maganin yana ɗaukar daƙiƙa biyar. Sanya shi cikin yanayin saukewa da kanku:
- Danna kuma rike maɓallin BOOT.
- Yayin da kuke riƙe BOOT, danna RESET kuma ku saki RESET.
- Yanzu ku saki BOOT. Allon ya zama fanko - wannan shine bootloader yana jira.
- Danna Upload.
- Lokacin da ya gama, danna RESET sau ɗaya don kunna sabon sketch.
Idan har yanzu ba zai haɗu ba, rage Upload Speed zuwa 115200 kuma ku sake gwadawa. Kuma ku duba maɓallin wutar allo yana kunne - CH340K yana ƙidaya kuma yana ba ku tashar COM ko da allon kansa an kashe shi, wanda ke yaudarar mutane.
Libraries da ake buƙata
Wannan aikin yana buƙatar kowane library a cikin teburin da ke ƙasa - babu wani abu ƙari, babu wani abu kaɗan. Yawancin suna shigar kai tsaye daga Tools → Manage Libraries a cikin Arduino IDE, amma GFX Library for Arduino dole ne a shigar daga fayil ɗin ZIP. Lambobin sigar suna da mahimmanci, don haka da fatan za ku yi amfani da ainihin waɗanda aka jera.
| Library | Sigar | Marubuci | Shigar daga |
|---|---|---|---|
| GFX Library for Arduino | 1.5.6 | moononournation | Fayil ɗin ZIP - duba ƙasa |
| bb_captouch | 1.3.1 | Larry Bank | Library Manager |
| ArduinoJson | 7.x | Benoit Blanchon | Library Manager |
| Adafruit NeoPixel | kowanne na kwanan nan | Adafruit | Library Manager |
Shigar da GFX library daga fayil ɗin ZIP
- Sauke ZIP ɗin. Yana cikin wannan aikin’s download, ko kuma za ka iya samunsa daga Arduino_GFX repository - danna koren Code button, sannan Download ZIP.
- Ajiye shi a inda za ka iya sake samunsa. Kada ka buɗe shi (unzip).
- A cikin Arduino IDE, danna Sketch → Include Library → Add .ZIP Library.
- Nemo ZIP file ɗin da ka sauke sannan danna Open.
- IDE ɗin zai shigar da shi kuma ya tabbatar a ƙasan taga. Idan kana da sigar 1.6 da aka shigar, share wannan folder ɗin daga
Documents/Arduino/librariestukuna, in ba haka ba su biyun za su yi rikici.
Saita secrets.h
Bayanan WiFi ɗinka da duk wani API keys za su shiga cikin secrets.h, wanda ke cikin download ɗin tare da ƙimar da ba a cika ba. Buɗe wannan tab ɗin a cikin Arduino IDE sannan ka maye gurbinsu da naka.
secrets.h.Samun API keys ɗinka
Wannan aikin yana magana da sabis ɗin AI na cloud, don haka kana buƙatar naka key ɗin. Idan ba ka taɓa yin wannan ba, kada ka damu - yana da irin ra'ayin kalmar sirri da ke gano asusunka ga sabis ɗin. Yana ɗaukar ƴan mintuna, sau ɗaya.
DeepSeek - ɓangaren tunani
DeepSeek shine samfurin harshe wanda ke amsa tambayarka a zahiri. Ba shi da tsada - ƴan daloli na kuɗi suna ɗaukar dubban amsoshi.
- Je zuwa platform.deepseek.com sannan ka ƙirƙiri asusu.
- Buɗe API keys a cikin menu ɗin sannan danna Create new API key.
- Kwafi shi nan take. Ana nuna shi sau ɗaya kawai kuma ba za a sake shi ba - idan ka rasa shi, share wannan key ɗin sannan ka yi wani.
- Ƙara ɗan ƙaramin kuɗi a ƙarƙashin Top up. Babu free tier, amma mafi ƙarancin top-up yana daɗe sosai a wannan amfani.
Saka key ɗin a cikin secrets.h a matsayin DEEPSEEK_KEY. Yana farawa da sk-.
deepseek-chat da deepseek-reasoner an janye su, don haka yawancin koyarwar da za ka samu a kan layi za su gaza da kuskuren 400. Yi amfani da deepseek-v4-flash, wanda waɗannan ayyukan suka riga sun saita.Menene kuɗin gudanarwa
Kaɗan ne, amma ba kyauta ba ne, kuma ya kamata ka san kusan abin da kake kashewa kafin ka bar aiki yana gudana.
| Sabis | Kimanin kuɗi |
|---|---|
| DeepSeek | ɗan ƙaramin kaso na cent ɗaya a kowace amsa - dubban amsoshi don ƴan daloli |
Farashin yana canzawa, don haka ɗauki waɗannan a matsayin jagora maimakon ƙididdiga. Kowane ɗayan waɗannan sabis ɗin yana da shafin amfani inda za ka iya kallon abin da ka kashe, kuma dukansu suna ba ka damar saita iyakar kashewa - wanda ya cancanci yi a rana ta farko.
Magance matsaloli
| Alamar | Dalili da magani |
|---|---|
| Allon ya kasance baƙi | Ba daidai ba GFX library version (yi amfani da 1.5.6) ko kuma ba daidai ba saitunan board. |
PSRAM alloc failed |
Tools → PSRAM ba a saita shi zuwa OPI PSRAM ba. |
| Babu abin da ke upload / babu COM port | Ba daidai ba USB-C port, ko kuma ba a shigar da CH340 driver ɗin ba. |
Abin da zaka iya bukata
Albarkatun da kuma shafukan da za a duba
-
TakarduMakerfabs MaTouch ESP32-S3 2.8" Camera and Touchscreen: User's Manualwiki.makerfabs.com
-
Takardu
-
WajeMakerfabs websitemakerfabs.com
Fayiloli📁
Lambar Arduino (.ino)
-
Arduino sketch na makerfabs_ESP32S3_Draw_AI.zipya hada da fayilolin .h na pin header da kuma secrete header
makerfabs_ESP32S3_Draw_AI.zip0.02 MB
Takardar bayanai (pdf)
-
Bayanan ESP32-S3 na Turanci
esp32-s3_datasheet_en[1].pdf1.05 MB