Mundarija:
- Ta'minotlar
- 1 -qadam: Arduino bilan unli tovushlar o'yinini ishlab chiqish
- 2 -qadam:
- 3 -qadam:
- 4 -qadam: Loyihaning g'oyasi
- 5 -qadam:
- 6 -qadam: O'yin dasturlash mantig'ini yaratish
- 7 -qadam:
- 8 -qadam:
- 9 -qadam: Void Setup () funktsiyasi
- 10 -qadam: Void Loopning asosiy funktsiyasi
- 11 -qadam:
- 12 -qadam: Xulosa
- 13 -qadam: tan olish
Video: Arduino va YX5300 MP3 moduli bilan ovozli o'yin Catalex: 13 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Siz bu savolni o'qiy olasizmi? Bu g'alati! Men bu savolni ataylab berdim. Agar siz bu matnni o'qiy olsangiz, buning sababi shundaki, siz butun alifboni bilasiz va, albatta, barcha unli tovushlarni bilib olasiz.
Unli tovushlar barcha so'zlarda mavjud. Ularning har biridan qochib qutulishning iloji yo'q. Endi sizga bir savol beray. Sizning bolaligingiz o'rganish qiziqarli va texnologik manbalarga boy bo'lganmi?
Ishonchim komilki, o'quv resurslari kam edi va siz unli va alifboni o'rganishda an'anaviy usullardan foydalangansiz.
Axir, unli tovushlarni o'rganish uchun ba'zi texnologik manbalardan foydalanish mumkinmi?
Ushbu maqolada men sizga o'yin orqali o'quvchilaringizga va bolalaringizga unli tovushlarni qanday o'rgatishni o'rgataman.
Men sizga ovozli tizimni qanday yaratishni o'rgataman, u erda sizning bolangiz/o'quvchingiz harf tovushini eshitadi va to'g'ri harfni ko'rsatish uchun tugmani bosishi kerak.
Shunday qilib, ular o'ynash paytida o'rganadilar va doimo o'qishga rag'batlantiradilar.
Endi men sizga o'z o'yiningizni yaratish va bolalarga unli tovushlarni o'rgatish bo'yicha bosqichma-bosqich jarayonni ko'rsataman.
Ta'minotlar
JLCPCB bosilgan elektron platasi
Arduino Uno
Tugma tugmasi
10 kR qarshilik
Erkak sarlavhasi 2, 54 mm 1x7
1 -qadam: Arduino bilan unli tovushlar o'yinini ishlab chiqish
O'yinning yuragi - unli tovushlarning JLCPCB bosilgan elektron kartasi. Siz ushbu havolaga kirishingiz va loyiha fayllarini yuklab olishingiz mumkin. Unda 5 ta tugma mavjud. Siz har bir tugmani unli harfni ifodalash va uni Arduino -ga ulash uchun ishlatasiz.
Bosilgan elektron karta 1 -rasmda ko'rsatilgan.
2 -qadam:
Ushbu PCB loyihasi yordamida siz uni Arduino bilan ulashingiz va o'z o'yiningizni yaratishingiz mumkin. Keyinchalik, men sizga elektron sxemani taklif qilaman, buning uchun siz o'zingizning protobardingizda loyihani yig'ishingiz yoki qurishingiz mumkin.
3 -qadam:
Ushbu sxemadan biz elektron taxtaning tartibini o'rnatdik. U 2 -rasmda ko'rsatilgan va siz fayllarni yuklab olishingiz va loyihangizni qilishingiz mumkin.
Arduino -dan 5 ta pinni tanlang va taxtadagi o'tish moslamalarini Arduino -ga ulang. Aks holda, siz quyidagi elektron sxemani yig'ishingiz mumkin.
4 -qadam: Loyihaning g'oyasi
Men sizga MP3 tovush tizimini Arduino bilan qanday yig'ishni o'rgataman. Bu tizim maktubda gapiradigan ovozni qayta ishlab chiqarish uchun javobgardir. Har bir harfning ovozi 1 dan 5 gacha bo'lgan qiymat yordamida chiziladi, bu erda 1 A va 5 U ifodalaydi.
Shunday qilib, bola tovushni eshitganda, u klaviaturaga qarashi, unli harflarning imlosini tan olishi va to'g'ri tugmani bosishi kerak.
Agar u ishlamasa, tizim qizil LEDni 3 marta yonadi. Aks holda, tizim ovozli signalni 5 soniya davomida faollashtiradi va yangi unli tovushni chiqaradi.
Buning uchun siz quyidagi sxemani yig'ishingiz kerak.
Ushbu sxemada siz MP3 modulini va Arduino -dagi ovozli kartani ulaysiz. Bluetooth moduli Catalex MP3 modulini ko'rsatish uchun ishlatilgan.
Arduino 5 ta raqamni saralash, so'ngra chizilgan unli tovushni faollashtirish buyrug'ini yuborish uchun javobgardir
5 -qadam:
Shundan so'ng, biz bola yuqoridagi rasmda ko'rsatilgandek tugmani eshitib, bosguncha kutamiz.
Yuqoridagi har bir tugma alifbo tovushini bildiradi. Keyin, men sizga ushbu loyihaning dasturlash mantig'ini qanday yaratishni ko'rsataman.
6 -qadam: O'yin dasturlash mantig'ini yaratish
Ovozli o'yin tizimi YX5300 modulining ishlashiga asoslangan. Bu modul ba'zi funktsiyalarni bajaradi, lekin biz YX5300 modulining asosiy funktsiyalari orqali o'yinning ish tuzilishini taqdim etishga e'tibor qaratamiz.
Quyida men sizga loyihaning barcha dasturlash mantig'ini taqdim etaman.
7 -qadam:
Quyida men bolalar uchun bu qiziqarli o'yinning mantig'ini yaratish uchun bosqichma -bosqich tushuntirib beraman.
#qo'shing
#define ARDUINO_RX 5 // Serial MP3 pleer moduli TX ga ulanishi kerak #define ARDUINO_TX 6 // SoftwareSerial mp3 modulining RX -ga ulanish (ARDUINO_RX, ARDUINO_TX); statik int8_t Send_buf [8] = {0}; // Yuborish buyruqlari uchun bufer. // BATTER LOCALLY statik uint8_t ansbuf [10] = {0}; // Javoblar uchun bufer. // YAXSHI LOCALLY String mp3Answer; // MP3 dan javob. String sanswer (bekor); String sbyte2hex (uint8_t b); / ************ Buyruq buyrug'i ************************/ #define CMD_NEXT_SONG 0X01 // Keyingi Qo'shiq. #define CMD_PREV_SONG 0X02 // Oldingi qo'shiqni ijro etish. #CMD_PLAY_W_INDEX 0X03 ni belgilang #CMD_VOLUME_UP 0X04 belgilang #CMD_VOLUME_DOWN 0X05 #CMD_SET_VOLUME 0X06 #define CMD_SNG_CYCL_PLAY 0X08 // Yagona tsiklni belgilang. #define CMD_SEL_DEV 0X09 #define CMD_SLEEP_MODE 0X0A #define CMD_WAKE_UP 0X0B #define CMD_RESET 0X0C #define CMD_PLAY 0X0D #define CMD_PAUSE 0X0PFEF_FOF_FOF #define CMD_FOLDER_CYCLE 0X17 #define CMD_SHUFFLE_PLAY 0x18 // #define CMD_SET_SNGL_CYCL 0X19 // Bitta tsiklni belgilang. #define CMD_SET_DAC 0X1A #define DAC_ON 0x00 #define DAC_OFF 0x01 #define CMD_PLAY_W_VOL 0X22 #define CMD_PLAYING_N 0x4C #define CMD_QUERY_STATUS 0x42 #define CMD_QUERY_VOLUME 0x43 #define CMD_QUERY_FLDR_TRACKS 0x4e #define CMD_QUERY_TOT_TRACKS 0x48 #define CMD_QUERY_FLDR_COUNT 0x4f / ********* *** Opitonlar ************************** / #define DEV_TF 0X02 / ************** ************************************************ *****/ int raqami; bayt estado; bayt ovozi = 2; bayt pin = 0; bayt SortNumber = 0; bool tugmasi = 0; void setup () {Serial.begin (9600); mp3.begin (9600); kechikish (500); uchun (pin = 8; pin 13) {pin = 8; } Serial.println ("Varrendo…"); Serial.println (pin); // kechikish (1000); } while (tugma! = 1); Serial.println ("Saiu …"); agar (tugma == 1 && (pin-1)! = SortNumber) {sendCommand (0x03, 0, 6); kechikish (3000); } if (tugma == 1 && (pin-1) == SortNumber) {sendCommand (0x03, 0, 7); kechikish (3000); } // Javobni tekshiring. agar (mp3.available ()) {Serial.println (decodeMP3Answer ()); } kechikish (100); //Serial.println("Tocando musica… "); } /********************************************** ****************************** / /*SendMP3Command funktsiyasi: "c" buyrug'ini qidiring va uni MP3 ga yuboring. * / /*Parametr: c. MP3 buyrug'i uchun kod, yordam uchun 'h'. *// *Qaytish: void */ void sendMP3Command (char c) {switch (c) {case '?': Case 'h': Serial.println ("HELP"); Serial.println ("p = Play"); Serial.println ("P = To'xtatish"); Serial.println ("> = Keyingi"); Serial.println ("': Serial.println (" Keyingi "); sendCommand (CMD_NEXT_SONG); sendCommand (CMD_PLAYING_N); // o'ynayotgan fayllar sonini so'rang;" Xotira kartasi joylashtirilgan. "; Tanaffus; 0x3D holatlari: decodedMP3Answer + = " -> To'ldirilgan ijro raqami" + String (ansbuf [6], DEC); // sendCommand (CMD_NEXT_SONG); // sendCommand (CMD_PLAYING_N); // tanaffusda o'ynayotgan fayllar sonini so'rash; 0x40 holat: decodedMP3Answer += " -> Xato"; tanaffus; 0x41 holat: decodedMP3Answer += " -> Ma'lumot to'g'ri qabul qilingan."; break; 0x42 holat: decodedMP3Answer += " -> Holat ijro etilmoqda:" +String (ansbuf [6], DEC); tanaffus; 0x48 holat: decodedMP3Answer + = " -> Fayllar soni:" + String (ansbuf [6], DEC); break; case 0x4C: decodedMP3Answer + = " -> Ijro:" + String (ansbuf [6], DEC); break; case 0x4E: decodedMP3Answer + = " -> Papka fayllari soni:" + String (ansbuf [6], DEC); break; case 0x4F: decodedMP3Answer + = " -> Papkalar soni:" + String (ansbuf [6], DEC); break;} decodedMP3Answer qaytarish;} /********************************* ************ ******************************* / /*Vazifa: MP3ga buyruq yuborish* / /*Parametr: bayt buyruq *// *Parametr: buyruq uchun bayt dat1 parametri *// *Parametr: */ void sendCommand buyrug'i uchun bayt dat2 parametri (bayt buyrug'i) {sendCommand (buyruq, 0, 0); } void sendCommand (bayt buyrug'i, bayt dat1, bayt dat2) {kechiktirish (20); Send_buf [0] = 0x7E; // Send_buf [1] = 0xFF; // Send_buf [2] = 0x06; // Len Send_buf [3] = buyruq; // Send_buf [4] = 0x01; // 0x00 YO'Q, 0x01 mulohaza Send_buf [5] = dat1; // ma'lumotlar Send_buf [6] = dat2; // ma'lumotlar Send_buf [7] = 0xEF; // Serial.print ("Yuborilmoqda:"); uchun (uint8_t i = 0; i <8; i ++) {mp3.write (Send_buf ); Serial.print (sbyte2hex (Send_buf )); } Serial.println (); } /********************************************** ****************************** / /*Vazifasi: sbyte2hex. HEX formatidagi bayt ma'lumotlarini qaytaradi. * / /*Parametr:- uint8_t b. HEX ga aylantirish uchun bayt. *// *Qaytish: String */ String sbyte2hex (uint8_t b) {String shex; shex = "0X"; agar (b <16) shex += "0"; shex += String (b, HEX); shex += ""; qaytish shex; } /********************************************** ****************************** / /*Vazifasi: shex2int. HEX satridan int qaytaradi. * / /*Parametr: s. HEX ga aylantirish uchun char *s. * / /*Parametr: n. char *s uzunligi. *// *Qaytish: int */ int shex2int (char *s, int n) {int r = 0; uchun (int i = 0; i = '0' && s = 'A' && <= 'F') {r *= 16; r + = (s - 'A') + 10; }} r; } /********************************************** ******************************** / /*Vazifasi: javob. Mp3 UART modulidan String javobini qaytaradi. * / /*Parametr:- uint8_t b. bo'sh * / /*Qaytish: satr. Agar javob yaxshi shakllangan bo'lsa. */ String sanswer (bekor) {uint8_t i = 0; String mp3answer = ""; // (mp3.available () && (i <10)) {uint8_t b = mp3.read (); ansbuf = b; i ++; mp3answer += sbyte2hex (b); } // agar javob shakli to'g'ri bo'lsa. if ((ansbuf [0] == 0x7E) && (ansbuf [9] == 0xEF)) {qaytish mp3answer; } qaytish "???:" + mp3answer; }
Birinchidan, biz dasturning barcha o'zgaruvchilari va YX5300 modulining kirish registrlari manzillarini aniqlaymiz.
#qo'shing
#define ARDUINO_RX 5 // ketma -ket MP3 pleer moduli TX ga ulanishi kerak #define ARDUINO_TX 6 // modulining RX -ga ulanishi SoftwareSerial mp3 (ARDUINO_RX, ARDUINO_TX); statik int8_t Send_buf [8] = {0}; // Yuborish buyruqlari uchun bufer. // BATTER LOCALLY statik uint8_t ansbuf [10] = {0}; // Javoblar uchun bufer. // YAXSHI LOCALLY String mp3Answer; // MP3 dan javob. String sanswer (bekor); String sbyte2hex (uint8_t b); / ************ Buyruq bayti **************************/ #define CMD_NEXT_SONG 0X01 // Keyingi oynash Qo'shiq. #define CMD_PREV_SONG 0X02 // Oldingi qo'shiqni ijro etish. #CMD_PLAY_W_INDEX 0X03 ni belgilang #CMD_VOLUME_UP 0X04 belgilang #CMD_VOLUME_DOWN 0X05 #CMD_SET_VOLUME 0X06 #define CMD_SNG_CYCL_PLAY 0X08 // Yagona tsiklni belgilang. #define CMD_SEL_DEV 0X09 #define CMD_SLEEP_MODE 0X0A #define CMD_WAKE_UP 0X0B #define CMD_RESET 0X0C #define CMD_PLAY 0X0D #define CMD_PAUSE 0X0PFEF_FOF_FOF #define CMD_FOLDER_CYCLE 0X17 #define CMD_SHUFFLE_PLAY 0x18 // #define CMD_SET_SNGL_CYCL 0X19 // Bitta tsiklni belgilang. #define CMD_SET_DAC 0X1A #define DAC_ON 0x00 #define DAC_OFF 0x01 #define CMD_PLAY_W_VOL 0X22 #define CMD_PLAYING_N 0x4C #define CMD_QUERY_STATUS 0x42 #define CMD_QUERY_VOLUME 0x43 #define CMD_QUERY_FLDR_TRACKS 0x4e #define CMD_QUERY_TOT_TRACKS 0x48 #define CMD_QUERY_FLDR_COUNT 0x4f / ********* *** Opitonlar ************************** / #define DEV_TF 0X02 / ************** ************************************************ *****/ int raqami; bayt estado; bayt ovozi = 2; bayt pin = 0; bayt SortNumber = 0; bool tugmasi = 0;
8 -qadam:
Bu registr manzillari modul ishini sozlash uchun ishlatiladi. Masalan, quyida ushbu ro'yxatdan o'tish manzilini ko'ring.
#CMD_PLAY_W_INDEX 0X03 ni aniqlang
0x03 manzili CMD_PLAY_W_INDEX nomi bilan belgilanadi. Bu qo'shiqni uning raqamidan boshlash uchun ishlatiladi, ya'ni siz ovoz sonini kiritasiz va u ijro etiladi.
Aynan mana shu qadriyatlar yordamida biz ulardan foydalanamiz va loyihamizning ishlashini sozlaymiz.
Ishlatiladigan turli manzillarni aniqlagandan so'ng, biz sozlash funktsiyasini kiritamiz va loyihamiz uchun pin va ketma -ket aloqani sozlaymiz.
9 -qadam: Void Setup () funktsiyasi
Keyin bo'sh joyni sozlash funktsiyasini ko'ring. Men tugma pimlarining barcha sozlamalarini, MP3 modulining ketma -ket aloqasini va MP3 -da karta modulini ishga tushirishni qildim.
bo'sh o'rnatish ()
{Serial.begin (9600); mp3.begin (9600); kechikish (500); uchun (pin = 8; pin <13; pin ++) {pinMode (pin, INPUT); } sendCommand (CMD_SEL_DEV, 0, DEV_TF); kechikish (500); }
Men ketma -ket muloqotni kompyuterning ketma -ketligini chop etish uchun boshladim, keyin biz mp3 obyekti orqali ketma -ket aloqani boshladik.
Serial.begin (9600);
mp3.begin (9600); kechikish (500);
Mp3 moduli Arduino seriali tomonidan qabul qilingan buyruqlar orqali boshqariladi. Bu jarayonda biz SoftwareSerial kutubxonasidan foydalandik va Arduino raqamli pinlaridagi ketma -ketlikni taqlid qildik.
Shunday qilib, siz Arduino -dan MP3 -modulni unga yuborilgan buyruqlar yordamida boshqarishingiz mumkin bo'ladi.
Bundan tashqari, biz raqamli pinlarning konfiguratsiyasini va MP3 karta modulini ishga tushirishni amalga oshirdik
uchun (pin = 8; pin <13; pin ++) {pinMode (pin, INPUT); } sendCommand (CMD_SEL_DEV, 0, DEV_TF); kechikish (500);
Konfiguratsiyani o'rnatgandan so'ng, void loop funktsiyasidagi asosiy mantiqqa o'tishimiz kerak.
10 -qadam: Void Loopning asosiy funktsiyasi
Kod juda sodda va butun mantiqiy tuzilish quyida keltirilgan. Quyida men sizga asosiy funktsiyaning to'liq mantig'ini tushuntirib beraman.
bo'sh halqa ()
{pin = 8; randomSeed (analogRead (A0)); raqamli = tasodifiy (8, 12); SortNumber = raqam; raqamli = raqamli - 7; Serial.println (raqam); sendCommand (0x03, 0, raqam); kechikish (1000); do {tugma = digitalRead (pin); Serial.println (tugma); pin ++; agar (pin> 13) {pin = 8; } Serial.println ("Varrendo…"); Serial.println (pin); // kechikish (1000); } while (tugma! = 1); Serial.println ("Saiu …"); agar (tugma == 1 && (pin-1)! = SortNumber) {sendCommand (0x03, 0, 6); kechikish (3000); } if (tugma == 1 && (pin-1) == SortNumber) {sendCommand (0x03, 0, 7); kechikish (3000); } // Javobni tekshiring. agar (mp3.available ()) {Serial.println (decodeMP3Answer ()); } kechikish (100); //Serial.println("Tocando musica… "); }
Loop funktsiyasi tsiklining har bir boshlanishida biz unli tovushni chiqarish uchun 8 dan 12 gacha yangi qiymat hosil qilamiz. 8 dan 12 gacha bo'lgan qiymat unli raqamli pinni bildiradi.
Tasodifiy qiymatni yaratish kodi quyida ko'rsatilgan.
pin = 8;
randomSeed (analogRead (A0)); raqamli = tasodifiy (8, 12); SortNumber = raqam;
Bundan tashqari, biz 8 dan 12 gacha chizilgan miqdordan 7 ni olib tashlaymiz. Bu bizga xotira kartasida yozilgan qo'shiqlarning 1 dan 5 gacha pozitsiyalarini ko'rsatishga imkon beradi.
raqamli = raqamli - 7;
Shundan so'ng, men quyidagi satrda chizilgan unli tovushni takrorladim.
sendCommand (0x03, 0, raqam);
kechikish (1000);
Endi muhim vaqt keldi: biz bola bosgan tugmani o'qiymiz. Kod qismi quyida keltirilgan.
qilmoq
{tugma = digitalRead (pin); Serial.println (tugma); pin ++; agar (pin> 13) {pin = 8; } Serial.println ("Varrendo…"); Serial.println (pin); // kechikish (1000); } while (tugma! = 1);
Bu tugma foydalanuvchi tugmachalarni bosmaguncha bajariladi. Loop sizga 5 ta raqamli pinni skanerlash imkonini beradi va bola tugmachalardan birini bosganida, u pastadirdan chiqadi va bolaning to'g'ri javob berganligini tekshiradi.
Siz quyidagi kod yordamida tekshirishni amalga oshirasiz.
agar (tugma == 1 && (pin-1)! = SortNumber)
{sendCommand (0x03, 0, 6); kechikish (3000); } if (tugma == 1 && (pin-1) == SortNumber) {sendCommand (0x03, 0, 7); kechikish (3000); }
Birinchi shart, foydalanuvchi xato qilganida bajariladi, chunki tugma bosilgan va pinning ishga tushirilgan qiymati chizilgan pindan farq qilgan (SortNumber).
Bu vaqtda siz quyidagi buyruqni bajarishingiz kerak.
sendCommand (0x03, 0, 6);
kechikish (3000);
Bu buyruq noto'g'ri javob ohangini ishga tushirish uchun ishlatiladi. Nihoyat, bizda bolaning to'g'ri yoki yo'qligini tekshirish uchun ishlatiladigan ikkinchi shart bor.
agar (tugma == 1 && (pin-1) == SortNumber)
{sendCommand (0x03, 0, 7); kechikish (3000); }
11 -qadam:
Agar tugma bosilsa va bosilgan raqamli pin chizilgan pin bilan bir xil bo'lsa, tizim to'g'ri javob ovozini chiqaradi.
Sizga tushuntirganimdek, bu kod juda sodda va har qanday bolaga Arduino bilan o'yin orqali unli tovushlar haqidagi bilimlarini rivojlantirishga yordam beradi.
Yuqoridagi rasmda ovoz qutisi YX5300 MP3 modulining SD -kartasida saqlangan qo'shiq ijro etilmoqda.
12 -qadam: Xulosa
Sinfdagi ta'limni doimiy ravishda o'zgartirish kerak va Arduino qiziqarli vazifalarni yaratishda eng yaxshi ittifoqchi bo'lishi mumkin.
Bu loyiha orqali har bir unli tovushning ovozi va imlosini bilish orqali bolalarning ko'nikmalarini rivojlantira oladigan oddiy faoliyatni rivojlantirish mumkin bo'ldi.
O'qitishning an'anaviy usullaridan farqli o'laroq, bolalar o'yin -kulgi va elektronika orqali dars mashg'ulotlarini o'rganadilar.
13 -qadam: tan olish
Ushbu loyiha JLCPCB kompaniyasining qo'llab -quvvatlashi va rag'batlantirilishi tufayli ishlab chiqilgan. Ular ta'lim olishni rag'batlantirishdi va bizni bolalarga sinfda o'qitish uchun unli tovushlar o'yinini rivojlantirishga taklif qilishdi.
Agar siz unli tovushlar o'yinining elektron plitalarini sotib olmoqchi bo'lsangiz, ushbu havolaga kirishingiz va JLCPCB -dan $ 2 evaziga 10 donani sotib olishingiz mumkin.
Tavsiya:
MP3 ovozli moduli yordamida fazali qutini qanday qilish kerak: 4 qadam
MP3 ovozli modul yordamida fazali qutini qanday yasash mumkin: Menda oxirgi DIY loyihamdan eslatib o'tilgan kristalli epoksi qatronlar bor va men uni isrof qilmoqchi emasman. Tejamkorlik tamoyillariga ko'ra, men epoksiyadan ozgina narsalarga qo'l qo'yishga qaror qildim. Ba'zida tushkunlikka tushganingizda, gapirishni xohlamaysiz. Men faqat
Arduino asosidagi DIY o'yin boshqaruvchisi - Arduino PS2 o'yin boshqaruvchisi - DIY Arduino Gamepad bilan Tekken o'ynash: 7 qadam
Arduino asosidagi DIY o'yin boshqaruvchisi | Arduino PS2 o'yin boshqaruvchisi | DIY Arduino Gamepad bilan Tekken o'ynash: Salom bolalar, o'yin o'ynash har doim qiziqarli, lekin o'zingizning shaxsiy o'yiningiz bilan o'ynash yanada qiziqarli, shuning uchun biz ushbu qo'llanmada arduino pro micro yordamida o'yin boshqaruvchisi qilamiz
O'yin bosimiga sezgir prokladkalar (raqamli o'yin maydonchalari uchun - va boshqalar): 11 qadam (rasmlar bilan)
O'yin bosimiga sezgir prokladkalar (raqamli o'yin maydonchalari uchun - va boshqalar): Bu sizga raqamli o'yinchoqlar yoki o'yinlar yaratish uchun ishlatilishi mumkin bo'lgan bosim sezgir yostiq yasashni ko'rsatadigan ko'rsatma. U katta kuchga sezgir rezistor sifatida ishlatilishi mumkin va o'ynoqi bo'lsa ham, undan jiddiy loyihalarda foydalanish mumkin edi
Yashirin makon - ovozli o'yin boshqaruvchisi: 5 qadam (rasmlar bilan)
Yashirin bo'shliq - ovozli o'yinlar boshqaruvchisi: Ushbu qo'llanmada biz audio o'yinlar uchun o'yin boshqaruvchisini tayyorlaymiz. O'yin Unity yordamida ishlab chiqilgan. U vizual va asosan sonik ma'lumotlari cheklangan, ekrandan tashqarida bo'lgan o'yin interfeysini yaratishga harakat qilmoqda. Futbolchi kiyadi
Ovozli ovozli fayllarni (Wav) Arduino va DAC yordamida ijro etish: 9 qadam
Ovozli ovozli fayllarni (Wav) Arduino va DAC yordamida ijro etish: Audino SD -kartangizdan wav faylli ovozni ijro etish. Bu ko'rsatma sizga sdCard -dagi wav faylini dinamikdan oddiy zanjir orqali qanday ijro etish mumkinligini ko'rsatib beradi. Wav fayli 8 bitli mono bo'lishi kerak. Menda 44 kHz chastotali fayllarni ijro etish muammosi yo'q edi