ESP32 የመዳሰሻ ስክሪን ወደ ፒያኖ ይቀይሩ – የድምጽ ፋይሎች አያስፈልጉም
የተነሱ ቁልፎች፣ እውነተኛ ኮርዶች፣ እና በቺፑ ላይ የሚፈጠር ድምጽ
በመዳሰሻ ስክሪን ላይ የሚጫወት ፒያኖ። ቁልፎቹ የተነሱ ይመስላሉ እና ሲነኩዋቸው ይጫናሉ፣ የመዳሰሻ ፓነሉ አምስት ጣቶችን ይከታተላል ስለዚህ ኮርዶችን መጫወት ይችላሉ፣ እና እያንዳንዱ ኖት በፕሮሰሰሩ የተዋሃደ ነው - ምንም የድምጽ ፋይሎች እና ምንም ኤስዲ ካርድ የሚሳተፍ የለም።
922-ይህ የ AI ሙዚቃ ጽሑፍ ነው ፕሮጀክቱ እዚህ አለ።
923-ፒያኖው (ይህ የአሁኑ ጽሑፍ ነው)
ሙሉ በሙሉ ከመስመር ውጭ ነው። ፍላሽ አድርገው ይጫወቱ።
Robojax_Makerfab በMaTouch AI ESP32-S3 ምርት ገጽ ላይ ሲገዙ ያስገቡ። ለመጠቀም ምንም አያስከፍልዎትም፣ እና እዚህ ያሉትን ነፃ ኮድ እና ትምህርቶችን ለመደገፍ ይረዳል።ሁለት አቀማመጦች፣ እና ሁለቱም ለምን አሉ
ይህ ስኬች ሁለት ሙሉ ለሙሉ የተለያዩ ኪቦርዶች አሉት፣ እና በላይኛው ግራ ጥግ ላይ ያለ LAYOUT ቁልፍ በመካከላቸው ይቀያይራል። በዚያ ቁልፍ ላይ ያለው መለያ አሁን በየትኛው ውስጥ እንዳሉ ይነግርዎታል፣ ስለዚህ እንደ አመልካች ያገለግላል - ይንኩት እና ይለወጣል።
KEYS - እውነተኛ ፒያኖ
ሰባት ነጭ ቁልፎች በሙሉ ስፋት ላይ ከአምስት ጥቁር ቁልፎች ጋር በላያቸው ላይ ተቀምጠዋል፣ ልክ እንደ እውነተኛ ኪቦርድ። ቦርዱ የሚጀምረው በዚህ ነው። አንድ ኦክታቭ ብቻ ስለሚገጥም፣ ከLAYOUT አጠገብ ያሉት - እና + ቁልፎች ወደ ላይ እና ወደ ታች ያንቀሳቅሱዎታል፤ በመካከላቸው ያለው ሰያፍ አረንጓዴ ንባብ የት እንዳሉ ያሳያል፣ C3 እስከ C6።
GRID - አራት ኦክታቭ፣ ምንም የተሳሳቱ ኖቶች የሉም

አራት ረድፎች ከሰባት፣ 28 ቁልፎች በአንድ ጊዜ። እያንዳንዱ ረድፍ ኦክታቭ ነው፣ ዝቅተኛው ከታች፤ እያንዳንዱ አምድ ኖት ነው - C፣ D፣ E፣ F፣ G፣ A፣ B። ምንም ሻርፕ የለም፣ ምንም ፍላት የለም፣ ስለዚህ መላው ቦርድ C ሜጀር ነው እና ምንም የተሳሳቱ ኖቶች የሉም። ምንም ተጫውቶ ለማያውቅ ሰው መስጠት ይችላሉ፣ በዘፈቀደ እንዲመታ ያድርጉት፣ አሁንም እንደ ሙዚቃ ይሰማል።
እንደ እውነተኛ ኪቦርድ አንድ ኦክታቭ ብቻ የሚገጥመው ለምንድነው
ይህ መላውን ፕሮጀክት የሚቀርጽ ሒሳብ ነው። ስክሪኑ 320 ፒክስል ስፋት አለው ግን በግምት 2.2 ኢንች ስፋት ብቻ ነው፣ ስለዚህ የጣት ጫፍ በግምት 45 ፒክስል ይሸፍናል።
- አንድ ኦክታቭ - ሰባት ነጭ ቁልፎች እያንዳንዳቸው በግምት 45 ፒክስል። ምቹ።
- ሁለት ኦክታቭ - አስራ አራት ነጭ ቁልፎች እያንዳንዳቸው በግምት 22 ፒክስል። ግማሽ የጣት ጫፍ። መጫወት የማይቻል።
ስለዚህ ትክክለኛ የፒያኖ አቀማመጥ እዚህ አንድ ኦክታቭ ብቻ ማሳየት ይችላል፣ ለዚህም ነው የኦክታቭ ቁልፎች ያሉት - እና ለዚህም ነው ግሪዱ ከእውነታዊነት ይልቅ ስፋት እና አስተማማኝነት ሲፈልጉ እንደ አማራጭ ያለው።
አቀማመጡን በኮድ መቀየር
በስኬቹ አናት አጠገብ ያሉ ሶስት ቅንብሮች ይህንን ሁሉ ይቆጣጠራሉ፦
| ቅንብር | ምን ያደርጋል |
|---|---|
BOOT_LAYOUT |
በኃይል ሲበራ የትኛው ኪቦርድ ይታያል። LAYOUT_KEYS ለፒያኖ፣ LAYOUT_GRID ለግሪድ። |
ROWS |
GRID ስንት ኦክታቭ እንደሚያሳይ። ነባሪ 4። |
COLS |
በGRID ውስጥ በእያንዳንዱ ረድፍ ያሉ ኖቶች። ነባሪ 7፣ ሰባቱ ተፈጥሯዊ ኖቶች። |
BASE_OCTAVE |
የGRID የታችኛው ረድፍ የሚጀምርበት ኦክታቭ። ነባሪ 3። |
ROWS እና COLS GRIDን ብቻ ይነካሉ። የKEYS አቀማመጥ ኦክታቩን ከራሱ ሰንጠረዦች ይገነባል እና እነሱን ችላ ይላል፣ ስለዚህ እነዚያን ቁጥሮች መቀየር ጥቁር ቁልፎችን አይጨምርም ወይም ፒያኖውን አይለውጥም።የተነሳው መልክ እንዴት እንደሚሰራ
በእያንዳንዱ ቁልፍ አናት እና ግራ በኩል ቀላል ጠርዝ፣ እና ከታች እና ቀኝ በኩል ጥቁር ጠርዝ፣ ለዓይን እንደ ተለጣፊ ነገር ይታያል። ቁልፍን መጫን እነሱን ይቀይራል እና ፊቱን ያጨልማል፣ ይህም እንደ ተጫነ ይታያል። በእያንዳንዱ ጠርዝ ሁለት የኮድ መስመሮች ነው እና አሳማኝ ነው።
ድምጹ እንዴት እንደሚሰራ
በዚህ ቦርድ ላይ በየትኛውም ቦታ ቅጂዎች የሉም። ምንም ናሙናዎች የሉም፣ በማህደረ ትውስታ ካርድ ላይ ምንም የለም። እያንዳንዱ ኖት በ512-ግቤት ሳይን ሰንጠረዥ ውስጥ የሚራመድ የደረጃ ክምችት ነው - ለከፍተኛ ኖት በፍጥነት ይራመዱ፣ ለዝቅተኛ ኖት በዝግታ - ስለዚህ በእያንዳንዱ ናሙና ምንም ትሪጎኖሜትሪ አይሰላም። ለሙቀት ሶስት ሃርሞኒክስ ተቀላቅለዋል።
እያንዳንዱ ኖት እንዲሁም አጭር የጥቃት እና የመልቀቂያ ኤንቨሎፕ ያገኛል፣ በግምት ስድስት ሚሊሰከንድ ወደ ውስጥ እና ሰባ ወደ ውጭ። ያለሱ በእያንዳንዱ ጊዜ ኖት ሲጀምር ወይም ሲቆም ጠቅታ ይሰማሉ፣ ምክንያቱም ሞገድ ቅርጽን በሙሉ ስፋት እያበሩ ነው። ያ ኤንቨሎፕ በመሳሪያ እና በቢፐር መካከል ያለው ልዩነት ነው።
እስከ አምስት ኖቶች አንድ ላይ ይደባለቃሉ፣ ፓነሉ ከሚዘግባቸው አምስት የመነካካት ነጥቦች ጋር ይዛመዳሉ። i2s_write() የኦዲዮ ቋት ሙሉ ሲሆን ይቆማል፣ ይህም መላውን ፕሮግራም በእውነተኛ ጊዜ ያስተካክላል - ምንም ቲመሮች ወይም ማቋረጫዎች አያስፈልጉም።
አዝራሮቹ
- LAYOUT በ KEYS እና GRID መካከል ይቀያየራል። መለያው የትኛው ላይ እንዳለህ ያሳያል።
- - እና + ኦክታቭን ያንቀሳቅሳሉ። KEYS አቀማመጥ ብቻ።
- VOL በቁልፍ ሰሌዳው ላይ የድምጽ መጠን ፓነል ይከፍታል - ደረጃውን ለማዘጋጀት አሞሌውን ይጎትቱ። ለመዝጋት VOL ን እንደገና ይንኩ።
- DEMO በራሱ ዜማ ይጫወታል፣ ሲሄድ እያንዳንዱን ቁልፍ ያበራል።
- WAVE ድምጹን በ SOFT፣ ORGAN እና BRIGHT መካከል ያዞራል። በ ORGAN ይጀምራል፣ ይህም ለዚህ ትንሽ ስፒከር በጣም ተስማሚ ነው፣ ግን ሦስቱንም ይሞክሩ።
የድምጽ መቆጣጠሪያ
በዚህ ቦርድ ላይ ያለው አምፕሊፋየር በእውነት ጮክ ያለ ነው - 3.2 W ወደ 4 Ω ስፒከር - ስለዚህ ዝቅ ማድረግ መቻል አስፈላጊ ነው። VOL ን መንካት ትልቅ የሚጎተት አሞሌ ያለው ፓነል በቁልፍ ሰሌዳው ላይ ያንሸራትታል፤ የአሁኑ ደረጃ በቋሚነት በላይኛው አሞሌ ላይም ይታያል።
ፓነሉ ክፍት በሆነበት ጊዜ ከላይኛው አሞሌ በታች ያለውን እያንዳንዱ ንክኪ ሆን ተብሎ ይውጣዋል፣ ስለዚህ በእሱ በኩል በአጋጣሚ ኖቶች ማስጀመር አይችሉም። ቅንብሩ የተቀላቀለው ኦዲዮ ወደ 16-ቢት ሲቀየር እንደ ነጠላ ማባዛት ይተገበራል፣ ይህም በሩጫ ጊዜ ምንም ወጪ የለውም እና የማሳያ ዜማውን በእኩል ይነካል። ከነባሪው አስር የበለጠ ጥሩ ወይም ሻካራ እርምጃዎች ከፈለጉ በስኬቹ ውስጥ VOL_STEPS ን ያስተካክሉ።
ምንም WiFi የለም፣ ምንም መለያዎች የሉም፣ ምንም የሚያዋቅሩት ነገር የለም
በግልጽ መናገር ተገቢ ነው፣ ምክንያቱም በዚህ ተከታታይ ውስጥ ያሉ ሌሎች ፕሮጀክቶች ሁሉ የሆነ ቦታ መለያ ያስፈልጋቸዋል፡ ይህ አያስፈልገውም። የሚሞላ no secrets.h የለም፣ ምንም API ቁልፍ የለም፣ ምንም አውታረ መረብ የለም። ያብሩት እና ይጫወቱ። ለዚህ ቦርድ ከተሰሩት ነገሮች ሁሉ፣ ይህ ለጀማሪ የሚሰጠው ነው።
ኮርድ ይሞክሩ
ሦስት ወይም አራት ቁልፎችን በአንድ ጊዜ ይጫኑ። የንክኪ መቆጣጠሪያው አምስት ጣቶችን ይከታተላል፣ ስለዚህ ሁሉም አንድ ላይ ይሰማሉ - ያ ጊዜ እንደ ቢፐር መሰማት አቁሞ እንደ መሣሪያ መሰማት የሚጀምርበት ጊዜ ነው።
ስለ MaTouch AI ESP32-S3 2.8" ቦርድ
በዚህ ገጽ ላይ ያሉ ሁሉም ፕሮጀክቶች ከ Makerfabs በ MaTouch AI ESP32-S3 2.8" TFT ST7789V ላይ ይሰራሉ። እሱ ሁሉን አቀፍ ቦርድ ነው፡ የቀለም የመነካካት ስክሪን፣ የ3 ሜጋፒክሰል ካሜራ፣ ሁለት ማይክሮፎኖች እና እውነተኛ የስፒከር አምፕሊፋየር፣ ሁሉም በ ESP32-S3 ከ8 MB PSRAM ጋር የሚመሩ። ያ ጥምረት እነዚህን AI ፕሮጀክቶች በአንድ ቦርድ ላይ ሌላ ምንም ሳይያያዝ ሊቻል የሚያደርገው ነው።
የ8 MB PSRAM መጠን እዚህ ካሉ ሌሎች ቁጥሮች ሁሉ የበለጠ አስፈላጊ ነው። ቦርዱ የካሜራ ፍሬም፣ ጥቂት ሰከንድ የተቀዳ ኦዲዮ፣ ወይም በ base64 የተቀመጠ ፎቶ በአንድ ጊዜ በማስታወሻ ውስጥ እንዲይዝ የሚያስችለው ይህ ነው - የትኛውም በ ESP32’s መደበኛ RAM ውስጥ አይገባም።
የአምራች ሰነዶች፡ Makerfabs wiki ገጽ።
ለዚህ ቦርድ ሌሎች ፕሮጀክቶች ሁሉ - ካሜራው፣ ከመስመር ውጭ የፊት ማወቂያ፣ የ AI የድምጽ ረዳት፣ AI እይታ እና የመሳል ፕሮጀክት - የራሳቸው አጋዥ ስልጠና አላቸው። ለሁሉም አገናኞች ከዚህ ጽሑፍ በታች አሉ።
ቁልፍ ዝርዝሮች
- ፕሮሰሰር፡ ESP32-S3፣ ባለሁለት ኮር 240 MHz፣ WiFi 2.4 GHz + Bluetooth 5.0
- ማስታወሻ፡ 16 MB flash፣ 8 MB PSRAM (እዚህ ባሉ ሁሉም ፕሮጀክቶች ማለት ይቻላል የሚፈለግ)
- ማሳያ፡ 2.8" IPS፣ 320×240፣ ST7789V ሾፌር፣ SPI
- ንክኪ፡ GT911 አቅም ያለው፣ በአንድ ጊዜ 5 ጣቶችን ይከታተላል
- ካሜራ፡ OV3660፣ 3 ሜጋፒክሰል፣ እስከ 2048×1536
- ማይክሮፎኖች፡ ሁለት INMP441 I2S ዲጂታል ማይክሮፎኖች (እውነተኛ ስቴሪዮ ጥንድ)
- ስፒከር፡ MAX98357A class-D አምፕሊፋየር፣ 3.2 W ወደ 4 Ω
- ማከማቻ፡ microSD ካርድ ቀዳዳ (SPI ሁነታ)
- ኃይል፡ USB-C፣ JST ባትሪ ማገናኛ፣ TP4056 ቻርጀር፣ የኃይል መቀየሪያ
- በቦርዱ ላይም፡ WS2812B RGB LED፣ PCF8563T በባትሪ የሚደገፍ የእውነተኛ ጊዜ ሰዓት፣ እና MAX17048 ባትሪ የነዳጅ መለኪያ በይፋዊ ዝርዝሮች ውስጥ ያልተዘረዘረ
USB CDC On Boot ን ወደ Disabled ያዘጋጁ። የተሳሳተ ወደብ ከተጠቀሙ ኦዲዮ በተሳሳተ መንገድ ይሰራል ወይም መስቀሎች ይሳካሉ።ከባትሪ ኃይል እየሰጡት ነው? ሁለቱ የ USB-C ሶኬቶች፣ የ TP4056 ቻርጀር እና የኃይል መቀየሪያ ሙሉ በሙሉ ተብራርተዋል፣ ከስዕላዊ መግለጫው ጋር፣ በ የቦርድ ሙከራ ጽሑፍ ውስጥ — የትኛው ሶኬት እንደሚሞላ እና መቀየሪያው መብራት ወይም ማጥፋት እንዳለበት ጨምሮ።
Arduino IDE ቅንብሮች
እነዚህ ቅንብሮች አስፈላጊ ናቸው። ሰዎች ስለዚህ ቦርድ የሚዘግቧቸው አብዛኛዎቹ ችግሮች ከእነዚህ ውስጥ አንዱ የተሳሳተ መሆኑ ነው፣ እና የኮር ስሪት ሲቀይሩ ዳግም ይጀምራሉ፣ ስለዚህ ከማንኛውም ለውጥ በኋላ እንደገና ያረጋግጡ።
| ቅንብር | እሴት |
|---|---|
| ቦርድ | ESP32S3 Dev Module |
| የESP32 ኮር ስሪት | 2.0.17 |
| PSRAM | OPI PSRAM |
| የፍላሽ መጠን | 16MB (128Mb) |
| የክፍልፍል እቅድ | 16M Flash (3MB APP/9.9MB FATFS) |
| USB CDC በሚነሳበት ጊዜ | የተሰናከለ |
| የመጫኛ ፍጥነት | 921600 |
| ከመጫን በፊት ሁሉንም ፍላሽ አጥፋ | የተሰናከለ |
| ወደብ | የCH340K USB-C ወደብ |
መጫኑ ካልተሳካ፡ ቦርዱን በእጅ ወደ ማውረድ ሁነታ ማስገባት
ብዙ ጊዜ ልክ Upload ን ይጫኑ እና ይሰራል። አንዳንድ ጊዜ ግን አይሰራም - IDE በConnecting...... ላይ ይቆማል እና ከዚያ በFailed to connect to ESP32-S3: No serial data received ተስፋ ይቆርጣል።
ይህ የሚከሰተው IO0 በዚህ ቦርድ ላይ ሶስት ስራዎችን በአንድ ጊዜ ስለሚሰራ ነው፡ የBOOT አዝራር ነው፣ ከCH340K የራስ-ማስጀመሪያ መስመር ነው፣ እና የRGB LED የውሂብ መስመር ነው። በቦርዱ ላይ እየሰራ ያለው ስኬች ያንን LED እየነዳ ከሆነ፣ ከራስ-ማስጀመሪያው ጋር ሊጋጭ ይችላል፣ ስለዚህ ቺፑ ወደ አሮጌው ስኬችዎ ይጀምራል እንጂ ወደ ቡትሎደር አይደለም።
መፍትሄው አምስት ሰከንድ ይወስዳል። እራስዎ ወደ ማውረድ ሁነታ ያስገቡት፡
- የBOOT አዝራሩን ይጫኑ እና ይያዙት።
- BOOT ን እየያዙ እያለ፣ RESET ን ይጫኑ እና RESET ን ይልቀቁ።
- አሁን BOOT ን ይልቀቁ። ማያ ገጹ ባዶ ይሆናል - ያ ቡትሎደር እየጠበቀ ነው ማለት ነው።
- Upload ን ይጫኑ።
- ሲጨርስ፣ አዲሱን ስኬች ለማስኬድ RESET ን አንዴ ይጫኑ።
አሁንም ካልተገናኘ፣ Upload Speed ን ወደ 115200 ዝቅ ያድርጉ እና እንደገና ይሞክሩ። እንዲሁም የቦርዱ የኃይል መቀየሪያ መብራቱን ያረጋግጡ - CH340K ቦርዱ ራሱ ጠፍቶ እንኳን ይመዘገባል እና COM ወደብ ይሰጥዎታል፣ ይህም ሰዎችን ያሳስታል።
የሚፈለጉ ቤተ-መጻሕፍት
ይህ ፕሮጀክት ከዚህ በታች ባለው ሠንጠረዥ ውስጥ ያሉትን ሁሉንም ቤተ-መጻሕፍት ይፈልጋል - ከዚያ በላይ ሳይሆን ከዚያ ያነሰም አይደለም። አብዛኛዎቹ በቀጥታ ከ Arduino IDE ውስጥ ከTools → Manage Libraries ይጫናሉ፣ ግን GFX Library for Arduino ከZIP ፋይል መጫን አለበት። የስሪት ቁጥሮቹ አስፈላጊ ናቸው፣ ስለዚህ እባክዎ በትክክል የተዘረዘሩትን ይጠቀሙ።
| ቤተ-መጻሕፍት | ስሪት | ደራሲ | ከየት ይጫኑ |
|---|---|---|---|
| GFX Library for Arduino | 1.5.6 | moononournation | ZIP ፋይል - ከታች ይመልከቱ |
| bb_captouch | 1.3.1 | Larry Bank | የቤተ-መጻሕፍት አስተዳዳሪ |
| Adafruit NeoPixel | ማንኛውም የቅርብ ጊዜ | Adafruit | የቤተ-መጻሕፍት አስተዳዳሪ |
የGFX ቤተ-መጻሕፍትን ከZIP ፋይል መጫን
- ZIP ን ያውርዱ። በዚህ ፕሮጀክት ማውረጃ ውስጥ ተካትቷል፣ ወይም ከArduino_GFX ማከማቻ ማግኘት ይችላሉ - አረንጓዴውን Code አዝራር ይጫኑ፣ ከዚያ Download ZIP ን ይጫኑ።
- እንደገና ሊያገኙት በሚችሉበት ቦታ ያስቀምጡት። አይጨመቁት።
- በArduino IDE ውስጥ፣ Sketch → Include Library → Add .ZIP Library ን ይጫኑ።
- ወደ ያወረዱት ZIP ፋይል ይሂዱ እና Open ን ይጫኑ።
- IDE ይጭነዋል እና በመስኮቱ ግርጌ ያረጋግጣል። ቀድሞ የ1.6 ስሪት ከጫኑ፣ መጀመሪያ ያንን አቃፊ ከ
Documents/Arduino/librariesይሰርዙት፣ አለበለዚያ ሁለቱ ይጋጫሉ።
ችግር መፈታት
| ምልክት | መንስኤ እና መፍትሄ |
|---|---|
| ማያ ገጽ ጥቁር ሆኖ ይቆያል | የተሳሳተ የGFX ቤተ-መጻሕፍት ስሪት (1.5.6 ይጠቀሙ) ወይም የተሳሳቱ የቦርድ ቅንብሮች። |
PSRAM alloc failed |
Tools → PSRAM ወደ OPI PSRAM አልተዋቀረም። |
| ምንም አይጫንም / COM ወደብ የለም | የተሳሳተ USB-C ወደብ፣ ወይም የCH340 ሾፌር አልተጫነም። |
ምንጮች እና ምንጮች
አሁን ምንም ምንጮች የለም።
ፋይሎች📁
አንድ ፋይል የለም።