કોડ શોધો

ESP32 ટચસ્ક્રીનને પિયાનોમાં ફેરવો – કોઈ સાઉન્ડ ફાઇલની જરૂર નથી

ESP32 ટચસ્ક્રીનને પિયાનોમાં ફેરવો – કોઈ સાઉન્ડ ફાઇલની જરૂર નથી

ઉભા કી, વાસ્તવિક તાર, અને ચિપ પર જનરેટ થતો અવાજ

ટચસ્ક્રીન પર વગાડી શકાય તેવું પિયાનો. કી ઉભી દેખાય છે અને જ્યારે તમે તેમને સ્પર્શ કરો છો ત્યારે દબાય છે, ટચ પેનલ પાંચ આંગળીઓને ટ્રેક કરે છે જેથી તમે તાર વગાડી શકો, અને દરેક નોટ પ્રોસેસર દ્વારા સંશ્લેષિત થાય છે - ત્યાં કોઈ સાઉન્ડ ફાઇલો નથી અને કોઈ SD કાર્ડ સામેલ નથી.

922-આ AI મ્યુઝિક લેખ છે પ્રોજેક્ટ અહીં છે.

923-પિયાનો (આ વર્તમાન લેખ છે)

તે સંપૂર્ણપણે ઑફલાઇન છે. તેને ફ્લેશ કરો અને વગાડો.

MaTouch AI ESP32-S3 બોર્ડ પર ચાલતું ટચસ્ક્રીન પિયાનો

બે લેઆઉટ, અને બંને શા માટે અસ્તિત્વમાં છે

આ સ્કેચમાં બે સંપૂર્ણપણે અલગ કીબોર્ડ છે, અને ઉપર-ડાબા ખૂણામાં એક LAYOUT બટન તેમની વચ્ચે બદલાય છે. તે બટન પરનું લેબલ તમને કહે છે કે તમે હમણાં કયામાં છો, તેથી તે સૂચક તરીકે પણ કામ કરે છે - તેને ટેપ કરો અને તે બદલાય છે.

KEYS - એક વાસ્તવિક પિયાનો

MKRFAB3_4-D1.MOV.00_00_34_49.Still001

સંપૂર્ણ પહોળાઈમાં સાત સફેદ કી અને તેમની ઉપર પાંચ કાળી કી, બરાબર વાસ્તવિક કીબોર્ડની જેમ. બોર્ડ આ સાથે શરૂ થાય છે. કારણ કે માત્ર એક ઓક્ટેવ ફિટ થાય છે, LAYOUT ની બાજુના - અને + બટન તમને ઉપર અને નીચે લઈ જાય છે; તેમની વચ્ચેનું સિયાન રીડઆઉટ બતાવે છે કે તમે ક્યાં છો, C3 થી C6.

GRID - ચાર ઓક્ટેવ, કોઈ ખોટી નોટ નહીં

MaTouch AI ESP32-S3 પર GRID લેઆઉટ - સાત નોટની ચાર પંક્તિઓ
MaTouch AI ESP32-S3 પર 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.

ઉભો દેખાવ કેવી રીતે કરવામાં આવે છે

દરેક કીની ટોચ અને ડાબી બાજુએ હળવી ધાર, અને તળિયે અને જમણી બાજુએ ઘેરી ધાર, આંખને કંઈક બહાર નીકળેલું લાગે છે. કી દબાવવાથી તે બદલાય છે અને ચહેરો ઘેરો થાય છે, જે દબાયેલું લાગે છે. તે દરેક ધાર માટે બે લીટી કોડ છે અને તે વિશ્વાસપાત્ર છે.

અવાજ કેવી રીતે બનાવવામાં આવે છે

આ બોર્ડ પર ક્યાંય કોઈ રેકોર્ડિંગ નથી. કોઈ સેમ્પલ નહીં, મેમરી કાર્ડ પર કંઈ નહીં. દરેક નોટ એક ફેઝ એક્યુમ્યુલેટર છે જે 512-એન્ટ્રી સાઇન ટેબલમાંથી પસાર થાય છે - ઊંચી નોટ માટે ઝડપથી પસાર થાઓ, નીચી માટે ધીમે - તેથી દરેક સેમ્પલ માટે કોઈ ત્રિકોણમિતિ ગણવામાં આવતી નથી. હૂંફ માટે ત્રણ હાર્મોનિક્સ મિશ્રિત થાય છે.

દરેક નોટને ટૂંકો એટેક અને રિલીઝ એન્વલપ પણ મળે છે, લગભગ છ મિલિસેકન્ડ અંદર અને સિત્તેર બહાર. તેના વિના તમે દરેક વખતે નોટ શરૂ અથવા બંધ થાય ત્યારે ક્લિક સાંભળો છો, કારણ કે તમે સંપૂર્ણ એમ્પ્લિટ્યુડ પર વેવફોર્મ ચાલુ કરી રહ્યા છો. તે એન્વલપ એ સાધન અને બીપર વચ્ચેનો તફાવત છે.

એક સાથે પાંચ સુધીના સ્વરો ભેળવવામાં આવે છે, જે પેનલ જે પાંચ ટચ પોઈન્ટ્સ નોંધાવે છે તેની સાથે મેળ ખાય છે. જ્યારે ઑડિયો બફર ભરાઈ જાય છે ત્યારે i2s_write() અવરોધિત થાય છે, જે આખા પ્રોગ્રામને રીઅલ ટાઈમમાં સરળતાથી ગતિ આપે છે - કોઈ ટાઈમર અથવા ઈન્ટરપ્ટ્સની જરૂર નથી.

બટનો

  • LAYOUT KEYS અને GRID વચ્ચે બદલાવ કરે છે. લેબલ બતાવે છે કે તમે કયા મોડમાં છો.
  • - અને + ઓક્ટેવ ખસેડે છે. ફક્ત KEYS લેઆઉટમાં.
  • VOL કીબોર્ડ ઉપર વોલ્યુમ પેનલ ખોલે છે - સ્તર સેટ કરવા માટે બારને ખેંચો. તેને બંધ કરવા માટે ફરીથી VOL દબાવો.
  • DEMO પોતાની મેળે એક ધૂન વગાડે છે, જેમ જેમ આગળ વધે તેમ દરેક કીને પ્રકાશિત કરે છે.
  • WAVE સ્વરને SOFT, ORGAN અને BRIGHT વચ્ચે ફેરવે છે. તે ORGAN પર શરૂ થાય છે, જે આ નાના સ્પીકર માટે સૌથી યોગ્ય છે, પરંતુ ત્રણેય અજમાવો.

વોલ્યુમ નિયંત્રણ

આ બોર્ડ પરનું એમ્પ્લીફાયર ખરેખર મોટેથી વાગે છે - 4 Ω સ્પીકરમાં 3.2 W - તેથી તેને નીચું કરવામાં સક્ષમ હોવું મહત્વપૂર્ણ છે. VOL દબાવવાથી કીબોર્ડ ઉપર મોટા ખેંચી શકાય તેવા બાર સાથે એક પેનલ સરકી આવે છે; વર્તમાન સ્તર ટોચના બારમાં પણ કાયમી ધોરણે દર્શાવવામાં આવે છે.

પેનલ ખુલ્લી હોય ત્યારે તે ટોચના બારની નીચે દરેક ટચને ઇરાદાપૂર્વક ગળી જાય છે, જેથી તમે તેના દ્વારા આકસ્મિક રીતે સ્વરો શરૂ કરી શકતા નથી. સેટિંગ મિશ્રિત ઑડિયોને 16-બિટમાં સ્કેલ કરતી વખતે એક જ ગુણાકાર તરીકે લાગુ કરવામાં આવે છે, જે રન ટાઈમ પર કંઈ ખર્ચ કરતું નથી અને ડેમો ધૂનને પણ સમાન રીતે અસર કરે છે. ડિફોલ્ટ દસ કરતાં ઝીણા અથવા બરછટ પગલાં જોઈતા હોય તો સ્કેચમાં VOL_STEPS ગોઠવો.

કોઈ WiFi નહીં, કોઈ એકાઉન્ટ નહીં, સેટ અપ કરવાનું કંઈ નહીં

સ્પષ્ટપણે કહેવું યોગ્ય છે, કારણ કે આ શ્રેણીના દરેક અન્ય પ્રોજેક્ટને ક્યાંક એકાઉન્ટની જરૂર પડે છે: આને નથી પડતી. ભરવા માટે કોઈ secrets.h નથી, કોઈ API કી નથી, કોઈ નેટવર્ક નથી. ફ્લેશ કરો અને વગાડો. આ બોર્ડ માટે બનાવેલી દરેક વસ્તુમાંથી, આ શિખાઉ વ્યક્તિને સોંપવા યોગ્ય છે.

કોર્ડ અજમાવો

એક સાથે ત્રણ કે ચાર કી દબાવો. ટચ કંટ્રોલર પાંચ આંગળીઓ ટ્રેક કરે છે, તેથી તે બધી સાથે વાગે છે - તે જ ક્ષણ છે જ્યારે તે બીપર જેવું લાગવાનું બંધ કરીને વાદ્ય જેવું લાગવા લાગે છે.

MaTouch AI ESP32-S3 2.8" બોર્ડ વિશે

આ પૃષ્ઠ પરનો દરેક પ્રોજેક્ટ Makerfabs ના MaTouch AI ESP32-S3 2.8" TFT ST7789V પર ચાલે છે. તે એક ઓલ-ઇન-વન બોર્ડ છે: રંગીન ટચસ્ક્રીન, 3 મેગાપિક્સલ કૅમેરો, બે માઇક્રોફોન અને એક વાસ્તવિક સ્પીકર એમ્પ્લીફાયર, બધું જ 8 MB PSRAM સાથેના ESP32-S3 દ્વારા સંચાલિત. આ સંયોજન જ આ AI પ્રોજેક્ટ્સને બીજું કંઈ જોડ્યા વિના એક જ બોર્ડ પર શક્ય બનાવે છે.

અહીંના અન્ય કોઈપણ આંકડા કરતાં 8 MB PSRAM વધુ મહત્વપૂર્ણ છે. તે જ બોર્ડને કૅમેરા ફ્રેમ, થોડી સેકંડનો રેકોર્ડ કરેલ ઑડિયો, અથવા બેઝ64-એન્કોડેડ ફોટો એક સાથે મેમરીમાં રાખવા દે છે - જેમાંથી કંઈ પણ ESP32 ની સામાન્ય RAM માં સમાતું નથી.

ઉત્પાદક દસ્તાવેજીકરણ: Makerfabs વિકી પૃષ્ઠ.

આ બોર્ડ માટેના દરેક અન્ય પ્રોજેક્ટ - કૅમેરો, ઑફલાઇન ચહેરો ઓળખ, AI વૉઇસ સહાયક, AI વિઝન અને ડ્રોઇંગ પ્રોજેક્ટ - ની પોતાની ટ્યુટોરિયલ છે. તે બધાની લિંક્સ આ લેખની નીચે છે.

મુખ્ય વિશિષ્ટતાઓ

  • પ્રોસેસર: ESP32-S3, ડ્યુઅલ કોર 240 MHz, WiFi 2.4 GHz + બ્લૂટૂથ 5.0
  • મેમરી: 16 MB ફ્લેશ, 8 MB PSRAM (અહીં લગભગ દરેક પ્રોજેક્ટ માટે જરૂરી)
  • ડિસ્પ્લે: 2.8" IPS, 320×240, ST7789V ડ્રાઇવર, SPI
  • ટચ: GT911 કેપેસિટિવ, એક સાથે 5 આંગળીઓ ટ્રેક કરે છે
  • કૅમેરો: OV3660, 3 મેગાપિક્સલ, 2048×1536 સુધી
  • માઇક્રોફોન: બે INMP441 I2S ડિજિટલ માઇક (એક સાચી સ્ટીરિયો જોડી)
  • સ્પીકર: MAX98357A ક્લાસ-ડી એમ્પ્લીફાયર, 4 Ω માં 3.2 W
  • સ્ટોરેજ: માઇક્રોએસડી કાર્ડ સ્લોટ (SPI મોડ)
  • પાવર: USB-C, JST બેટરી કનેક્ટર, TP4056 ચાર્જર, પાવર સ્વિચ
  • બોર્ડ પર પણ: WS2812B RGB LED, PCF8563T બેટરી-બેકઅપ રીઅલ-ટાઈમ ક્લોક, અને MAX17048 બેટરી ફ્યુઅલ ગેજ જે સત્તાવાર વિશિષ્ટતાઓમાં સૂચિબદ્ધ નથી

તેને બેટરીથી પાવર કરી રહ્યા છો? બંને USB-C સોકેટ્સ, TP4056 ચાર્જર અને પાવર સ્વિચ સંપૂર્ણ રીતે, સ્કીમેટિક સાથે, બોર્ડ ટેસ્ટ લેખ માં સમજાવ્યા છે — જેમાં કયો સોકેટ ચાર્જ કરે છે અને સ્વિચ ચાલુ કે બંધ રાખવો જોઈએ તે શામેલ છે.

Arduino IDE સેટિંગ્સ

આ સેટિંગ્સ મહત્વપૂર્ણ છે. આ બોર્ડ સાથે લોકો જે મોટાભાગની સમસ્યાઓ નોંધાવે છે તેમાંથી એક આમાંથી ખોટી હોવાને કારણે છે, અને જ્યારે તમે કોર વર્ઝન બદલો છો ત્યારે તે રીસેટ થાય છે, તેથી કોઈપણ ફેરફાર પછી તેને ફરીથી તપાસો.

સેટિંગ મૂલ્ય
બોર્ડ ESP32S3 ડેવ મોડ્યુલ
ESP32 કોર વર્ઝન 2.0.17
PSRAM OPI PSRAM
ફ્લેશ સાઇઝ 16MB (128Mb)
પાર્ટીશન સ્કીમ 16M ફ્લેશ (3MB APP/9.9MB FATFS)
USB CDC ઓન બૂટ અક્ષમ
અપલોડ સ્પીડ 921600
અપલોડ પહેલાં બધી ફ્લેશ ભૂંસી નાખો અક્ષમ
પોર્ટ CH340K USB-C પોર્ટ

જો અપલોડ નિષ્ફળ જાય: બોર્ડને હાથથી ડાઉનલોડ મોડમાં મૂકવું

મોટાભાગે તમે ફક્ત અપલોડ દબાવો છો અને તે કામ કરે છે. ક્યારેક તે થતું નથી - IDE Connecting...... પર અટકે છે અને પછી Failed to connect to ESP32-S3: No serial data received સાથે છોડી દે છે.

એવું થાય છે કારણ કે IO0 આ બોર્ડ પર એક સાથે ત્રણ કામ કરે છે: તે BOOT બટન છે, તે CH340K થી ઓટો-રીસેટ લાઇન છે, અને તે RGB LED માટે ડેટા લાઇન છે. જ્યારે બોર્ડ પર પહેલેથી ચાલતો સ્કેચ તે LED ને ચલાવે છે, ત્યારે તે ઓટોમેટિક રીસેટ સાથે સંઘર્ષ કરી શકે છે, તેથી ચિપ બૂટલોડરમાં નહીં પણ તમારા જૂના સ્કેચમાં ફરી શરૂ થાય છે.

ઉપાય પાંચ સેકન્ડ લે છે. તેને જાતે ડાઉનલોડ મોડમાં મૂકો:

  1. BOOT બટન દબાવીને પકડી રાખો.
  2. BOOT પકડી રાખતી વખતે, RESET દબાવો અને RESET છોડી દો.
  3. હવે BOOT છોડી દો. સ્ક્રીન ખાલી થઈ જાય છે - તે બૂટલોડર રાહ જોઈ રહ્યું છે.
  4. અપલોડ પર ક્લિક કરો.
  5. જ્યારે તે પૂરું થાય, ત્યારે નવો સ્કેચ ચલાવવા માટે એકવાર RESET દબાવો.

જો તે હજી પણ કનેક્ટ ન થાય, તો અપલોડ સ્પીડ 115200 પર ઘટાડો અને ફરી પ્રયાસ કરો. અને તપાસો કે બોર્ડનો પાવર સ્વિચ ચાલુ છે - CH340K એન્યુમેરેટ થાય છે અને તમને COM પોર્ટ આપે છે ભલે બોર્ડ પોતે બંધ હોય, જે લોકોને છેતરે છે.

જરૂરી લાઇબ્રેરીઓ

આ પ્રોજેક્ટને નીચેના ટેબલની દરેક લાઇબ્રેરીની જરૂર છે - વધુ નહીં, ઓછી નહીં. મોટાભાગની આર્ડુઇનો IDE માં ટૂલ્સ → લાઇબ્રેરીઓ મેનેજ કરો માંથી સીધી ઇન્સ્ટોલ થાય છે, પરંતુ GFX લાઇબ્રેરી ફોર આર્ડુઇનો ZIP ફાઇલમાંથી ઇન્સ્ટોલ કરવી પડે છે. વર્ઝન નંબરો મહત્વપૂર્ણ છે, તેથી કૃપા કરીને સૂચિબદ્ધ બરાબર તે જ વાપરો.

લાઇબ્રેરી વર્ઝન લેખક આમાંથી ઇન્સ્ટોલ કરો
GFX લાઇબ્રેરી ફોર આર્ડુઇનો 1.5.6 moononournation ZIP ફાઇલ - નીચે જુઓ
bb_captouch 1.3.1 લેરી બેંક લાઇબ્રેરી મેનેજર
Adafruit NeoPixel કોઈપણ તાજેતરનું Adafruit લાઇબ્રેરી મેનેજર

ZIP ફાઇલમાંથી GFX લાઇબ્રેરી ઇન્સ્ટોલ કરવી

  1. ZIP ડાઉનલોડ કરો. તે આ પ્રોજેક્ટના ડાઉનલોડમાં શામેલ છે, અથવા તમે તેને Arduino_GFX રિપોઝિટરી માંથી મેળવી શકો છો - લીલા કોડ બટન પર ક્લિક કરો, પછી ZIP ડાઉનલોડ કરો.
  2. તેને એવી જગ્યાએ સાચવો જ્યાં તમે ફરી શોધી શકો. તેને અનઝિપ કરશો નહીં.
  3. આર્ડુઇનો IDE માં, સ્કેચલાઇબ્રેરી શામેલ કરો.ZIP લાઇબ્રેરી ઉમેરો પર ક્લિક કરો.
  4. તમે ડાઉનલોડ કરેલી ZIP ફાઇલ પર બ્રાઉઝ કરો અને ઓપન પર ક્લિક કરો.
  5. IDE તેને ઇન્સ્ટોલ કરે છે અને વિન્ડોના તળિયે પુષ્ટિ કરે છે. જો તમારી પાસે પહેલેથી 1.6 વર્ઝન ઇન્સ્ટોલ છે, તો પહેલા તે ફોલ્ડર દસ્તાવેજો/Arduino/libraries માંથી કાઢી નાખો, અન્યથા બંને સંઘર્ષ કરશે.

મુશ્કેલીનિવારણ

લક્ષણ કારણ અને ઉપાય
સ્ક્રીન કાળી રહે છે ખોટું GFX લાઇબ્રેરી વર્ઝન (1.5.6 વાપરો) અથવા ખોટી બોર્ડ સેટિંગ્સ.
PSRAM ફાળવણી નિષ્ફળ ટૂલ્સ → PSRAM OPI PSRAM પર સેટ નથી.
કંઈ અપલોડ થતું નથી / કોઈ COM પોર્ટ નથી ખોટું USB-C પોર્ટ, અથવા CH340 ડ્રાઇવર ઇન્સ્ટોલ થયેલ નથી.

છબીઓ

makerfabs_ESP32S3_cam_music_screen-10-
makerfabs_ESP32S3_cam_music_screen-10-
makerfabs_ESP32S3_cam_music_screen-12-
makerfabs_ESP32S3_cam_music_screen-12-
MKRFAB3_4-D1.MOV.00_00_34_49.Still001
MKRFAB3_4-D1.MOV.00_00_34_49.Still001
કોઈ કોડ જોડાયેલ નથી.

સંસાધનો અને સંદર્ભો

હજી સુધી કોઈ સંસાધનો નથી.

ફાઇલો📁

કોઈ ફાઇલો ઉપલબ્ધ નથી.