Mundarija:

Arduino musiqa pleyeri: 5 qadam
Arduino musiqa pleyeri: 5 qadam

Video: Arduino musiqa pleyeri: 5 qadam

Video: Arduino musiqa pleyeri: 5 qadam
Video: Playing Tetris with the bots 🤖 #vgm #nintendo #gameboy #midi #arduino #animatronic #engineering 2024, Iyul
Anonim
Image
Image

Hammaga salom.

Kecha men Internetda bemaqsad qilardim va Arduino -da qila oladigan loyihalarni qidirardim. Men bu xonim qo'shiqlari yozilgan elektron pianino klaviaturasini yasayotganini ko'rdim. Menda LCD klaviatura qalqoni bor edi, shuning uchun men qo'shiqlardan iborat kichik menyu mavjud bo'lgan musiqa pleyerini yarataman deb o'yladim va foydalanuvchi uni tanlashi mumkin.

Loyihamning yakuniy versiyasini yuqorida ko'rishingiz mumkin.

1 -qadam: Sizga nima kerak

Sizga nima kerak bo'ladi
Sizga nima kerak bo'ladi
Sizga nima kerak bo'ladi
Sizga nima kerak bo'ladi

Ushbu loyiha uchun sizga kerak;

  • Arduino Uno
  • Non paneli
  • LCD klaviatura qalqoni
  • Buzzer
  • 330 ohmli qarshilik
  • Jumperlar

2 -qadam: Siz nimani bilishingiz kerak

Bilish kerak bo'lgan narsalar
Bilish kerak bo'lgan narsalar

LCD klaviatura qalqoni tuzilishi haqida ozgina bilishingiz kerak. Men uning pinoutini qo'ydim, shunda nima ekanligini ko'rishingiz mumkin.

Kodda ko'rib turganingizdek; 4, 5, 6, 7, 8 va 9 -sonli pinlar LCD displeyda ishlatiladi. 10 -sonli LCD displeyning orqa nuri nazorat qilish uchun, lekin sizga kerak bo'lmaydi. O'chirish tugmachalari A0 piniga ulangan.

Bu bizni 0, 1, 2, 3, 11, 12, 13 raqamli pinlar va A1, A2, A3, A4, A5 analog pinlarsiz qoldiradi.

Bundan tashqari, siz har bir tugmachaning analog qiymatlarini bilishingiz kerak, shunda siz ularni aniqlay olasiz. Men bilish uchun A0 qiymatini o'qib, ketma -ket monitorda chop etdim. Mana namuna kodi:

int btn_value = 0;

void setup () {Serial.begin (9600); } void loop () {btn_value = analogRead (A0); Serial.println (btn_value); }

Men qalqonim uchun topgan qadriyatlar:

  • O'ng tugma - 0
  • Yuqori tugma - 131
  • Pastki tugma - 306
  • Chap tugma - 481
  • Tugmani tanlang - 722
  • Tugma yo'q - 1023

3 -qadam: O'chirish dizayni

O'chirish dizayni
O'chirish dizayni
O'chirish dizayni
O'chirish dizayni

O'chirish sxemasi juda oddiy.

  • Ovozli signalni non taxtasiga biron joyga qo'ying.
  • 330 ohmli rezistorning bir tomonini signalning manfiy pimiga, ikkinchi tomonini esa Arduino -ning tuproqli piniga ulang.
  • Buzzerning ijobiy pinini Arduino -dagi pin2 -ga ulang.

Ishingiz tugadi! Endi kodlashga o'tamiz.

4 -qadam: kod

Arxiv faylini ochganingizda quyidagi fayllarni ko'rasiz; lcd_keypad_songs, fur_elise, james_bond, jingle_bells, mario_bros_theme, mario_bros_underworld, merry_christmas, pitches.h

  • lcd_keypad_songs - bu menyu va ta'riflar yoziladigan asosiy fayl. U sharhlar bilan to'ldirilgan, shuning uchun siz kodni o'rganishingiz va tushunishingiz mumkin.
  • pitches.h musiqiy notalarning ta'rifini o'z ichiga oladi.
  • Qolgan fayllarga qo'shiqlarning vazifalari kiradi. Siz ularni o'tib, tushunishga harakat qilishingiz mumkin. Men qo'shiqlarning kodlarini yozmaganman, qidirib topdim. Shunday qilib, siz o'zingizning qo'shiqlaringizni topishingiz yoki yozishingiz va uni menyuga qo'shishingiz mumkin.

Siz ularni bitta papkaga joylashtirishingiz kerak. Keyin Arduino IDE bilan lcd_keypad_songs faylini ochishingiz va kodni yuklashingiz kerak.

Eslatma: james_bond qo'shig'i menyuda yo'q (sharh berilgan). Buning sababi shundaki, Arduino uchun joy cheklangan va bu qo'shiqlar ko'p xotirani egallaydi. Siz har doim uni sharhlashingiz va tinglash uchun boshqa qo'shiqqa izoh qoldirishingiz mumkin. Bundan tashqari, menyu buyurtmalarini o'zgartirish kerak.

5 -qadam: Bajarildi

Bajarildi!
Bajarildi!

Tabriklaymiz

Agar sizda biron bir savol yoki muammo bo'lsa, izoh qoldiring yoki menga xabar yuboring. Men yordam berishni xohlardim.

Baxtli qilish!

Tavsiya: