Mundarija:
- 1 -qadam: 1 -qadam: O'chirish tizimini yaratish
- 2 -qadam: 2 -qadam: Kod va tushuntirish
- 3 -qadam: 3 -qadam: Video namoyishi
Video: Tugmachali kalitlarga ega Arduino pianino: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Yaratgan: Haotian Ye
Sharh
Bu sakkizta tugmachali kalitlarga ega pianino taxtasi, bu sizga bitta oktavani (Do Re Mi Fa So La Si Do) ijro etishga imkon beradi va shu oktavada siz o'zingiz yoqtirgan qo'shiqlarni ijro etishga urinib ko'rishingiz mumkin. Ushbu loyihani boshlashdan oldin bilishingiz kerak bo'lgan ba'zi muhim bilimlar mavjud.
Birinchidan, biz pianino uchun asosiy notalarning chastotalarini bilishimiz kerak.
Chastotalar quyida keltirilgan:
Chastotasi - 261 Gts
Qayta - 294 Gts
Mi - 329 gigagertsli
Faoliyati - 349 Gts
Shunday qilib - 392 Gts
Chastotasi - 440 Gts
Si - 493 Gts
Chastotasi - 523 Gts
Ikkinchidan, men sizga Li's Electronic Store -dan sotib olinadigan qismlar yordamida sxemani qanday qurishni ko'rsataman. Nihoyat, men Arduino taxtasiga yuklanishi kerak bo'lgan kodni taqdim etaman va tushuntiraman.
Sizga kerak bo'ladigan qismlar:
Arduino Uno R3 (Mahsulot raqami: 10997)
USB A - B kabeli M/M (Mahsulot raqami: 29861)
10K qarshilik * 8 (Mahsulot raqami: 91516)
Tugmachaning turli xil ranglari * 8 (Mahsulot raqami: 3124, 31242, 31243, 31245, 31246)
Mini dinamik (Mahsulot raqami: 41680)
Non paneli (Mahsulot raqami: 106861)
Jumper simlari (Mahsulot raqami: 21801)
1 -qadam: 1 -qadam: O'chirish tizimini yaratish
Birinchidan, barcha tugmachali kalitlarni va mini karnayni birma -bir joylashtiring va ularni bir qatorga moslang. Keyin har bir tugmachaning pinlarini erga ulang. Ikkinchidan, har bir tugma tugmachasining musbat quvvati va boshqa pinlari orasidagi 10k rezistorni ulang. Va bu ustunni Arduino platasidagi 2-9-pinlarga ulang. Bundan tashqari, erni topraklama pimiga va Arduino -dagi 3,3v pinli musbat quvvatga ulang. Nihoyat, mini dinamikni Arduino 10 -piniga ulang.
2 -qadam: 2 -qadam: Kod va tushuntirish
Quyidagi kod men yozgan narsadir
const int qora = 2;
const int oq = 3;
const int qizil = 4;
const int yashil = 5;
const int ko'k = 6;
const int black2 = 7;
const int green2 = 8;
const int red2 = 9;
const int speaker = 10; // Barcha tugmachalarni va karnayni arduino signal pimlari bilan bog'lang
int chastotasi = {262, 294, 330, 349, 392, 440, 493, 523}; // qator bir oktavaning barcha chastotalarini o'z ichiga oladi
bo'sh o'rnatish () {
// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying:
pinMode (qora, INPUT);
pinMode (oq, Kirish);
pinMode (qizil, INPUT);
pinMode (yashil, Kirish);
pinMode (ko'k, INPUT);
pinMode (qora2, Kirish);
pinMode (yashil2, Kirish);
pinMode (qizil2, Kirish);
pinMode (dinamik, OUTPUT);
ohang (karnay, 2000);
Serial.begin (9600);
}
void loop () {
// qayta ishga tushirish uchun asosiy kodingizni bu erga qo'ying:
agar (digitalRead (qora) == LOW) // "DO" tugmachasini bosganingizda
{ohang (karnay, chastota [0], 50);
kechikish (50);
noTone (karnay);}
aks holda, "digitalRead (oq) == LOW) //" RE "tugmachasini bosganingizda
{ohang (karnay, chastota [1], 50);
kechikish (50);
noTone (karnay);}
aks holda, "digitalRead (qizil) == LOW) //" MI "tugmachasini bosganingizda
{ohang (karnay, chastota [2], 50);
kechikish (50);
noTone (karnay);}
aks holda, "digitalRead (yashil) == LOW) //" FA "tugmachasini bosganingizda
{ohang (karnay, chastota [3], 50);
kechikish (50);
noTone (karnay);}
aks holda, "digitalRead (ko'k) == LOW) //" SO "tugmachasini bosganingizda
{ohang (karnay, chastota [4], 50);
kechikish (50);
noTone (karnay);}
aks holda ("DigitalRead (black2) == LOW) //" LA "tugmachasini bosganingizda
{ohang (karnay, chastota [5], 50);
kechikish (50);
noTone (karnay);}
aks holda "digitalRead (green2) == LOW) //" SI "tugmachasini bosganingizda
{ohang (karnay, chastota [6], 50);
kechikish (50);
noTone (karnay);}
aks holda, "digitalRead (red2) == LOW) //" DO "tugmachasini bosganingizda
{ohang (karnay, chastota [7], 50);
kechikish (50);
noTone (karnay);}
boshqa // hech narsani bosmaganda
noTone (karnay);
}
Birinchidan, biz barcha tugmachalarni va dinamikni Arduino -dagi 2 dan 10 gacha bo'lgan pin deb e'lon qilishimiz kerak. Har bir kalit bitta eslatmani ifodalaydi. Keyin, barcha chastotalarni ichkariga kiritish uchun bitta qatordan foydalaning. Keyingi, If and else iborasi, men Arduino -ga qaysi tugmachali tugmachani bosishimni bildirish uchun ishlataman.
Nihoyat, Arduino kartasini kompyuterga yoki noutbukga USB -A -B kabeli bilan ulang. Kodni yuklamasdan oldin, siz hali ham Arduino dasturini yuklab olishingiz va standart sozlamalarni bajarishingiz kerak. Asboblar -> Kengash -> Arduino/Genuino Uno -ni tanlang; Keyin biz Arduino kartasiga ulangan aloqa portini tanlashimiz kerak. Asboblar -> Port -ni tanlang, keyin qaysi port nomi "(Arduino/Genuino Uno) deb belgilangan bo'lsa, tanlang. Keyin kodni Arduino kartasiga yuklashingiz mumkin.
Tavsiya:
Bu yuqori voltli tugmachali o'yinchoqlar!: 11 qadam (rasmlar bilan)
Bu yuqori kuchlanishli "Klik-Clack o'yinchoqlari!": Bu erda 70-yillarda o'rta maktablarda mashhur bo'lgan retro Click-Clack o'yinchog'ining ikkita elektrostatik versiyasi. 1.0-versiya-bu juda byudjetli model. Qismlar (elektr ta'minotidan tashqari) deyarli hech narsaga teng emas. Qimmatroqlarining tavsifi
Ikki tugmachali o'rni kaliti: 3 qadam
Ikkita tugmachali o'rni kaliti: Ushbu maqolada siz qanday qilib yoqish va o'chirish tugmachasini o'chirishni ko'rsatasiz, bu sxemani ikkita kalit yordamida bajarish mumkin. Siz bitta kalitni bosasiz va lampochka yonadi. Siz boshqa kalitni bosasiz va lampochka o'chadi. Biroq, bu Ins
Sensorli tugmachali Arduino portativ fanati: 6 qadam
Sensorli sensorli kalit bilan Arduino portativ fanati: Bu qo'llanmada biz sensorli sensor, o'rni moduli va Visuino yordamida Hendheld akkumulyator fanatini qanday yoqish va o'chirishni bilib olamiz
Arduino - Piezo uch tugmachali pianino: 4 qadam
Arduino - Piezo Uch tugmachali pianino: Uch tugmachali pianino - bu yangi boshlanuvchilar uchun Arduino -dan foydalanish tajribasiga ega loyiha. Men tasodifan piezo buzzer bilan birinchi marta o'ynab, buni yaratmoqchi bo'ldim. Bu juda baland ovozda edi! Variantni aniqlashga urinishda
Shaxsiy kalitlarga ega IKEA quvvat zaryadlash qutisi: 6 qadam (rasmlar bilan)
IKEA individual zaryadlovchiga ega zaryadlovchi qutisi: Shunday qilib, men boshqa kuni IKEA qutisi yordamida oson elektr stantsiyasini yasash bo'yicha ko'rsatmalarni ko'rdim. shunga o'xshash narsa, shuning uchun men borib, IKEA -dagi qutilaridan birini sotib oldim, lekin u mening o'rnimda turardi