Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Yaradan: Haotian Ye
Baxış
Bu, bir oktavanı (Do Mi Mi Fa So La Si Do) çalmağa imkan verən səkkiz düymə açarı olan bir piano lövhəsidir və bu bir oktava ilə bəyəndiyiniz mahnıları çalmağa cəhd edə bilərsiniz. Bu layihə üçün başlamazdan əvvəl bilməli olduğunuz bəzi vacib biliklər var.
Birincisi, bir pianonun əsas notlarının tezliklərini bilməliyik.
Tezliklər aşağıda verilmişdir:
Güc - 261Hz
Yenidən - 294Hz
Mi - 329Hz
Fa - 349Hz
Beləliklə - 392Hz
Güc - 440Hz
Si - 493Hz
Həcmi - 523Hz
İkincisi, Lee'nin Elektronik Mağazasından əldə edilə bilən hissələrdən istifadə edərək dövrəni necə quracağınızı sizə göstərəcəyəm. Nəhayət , Arduino lövhəsinə yüklənməli olan kodu təqdim edəcəyəm və izah edəcəyəm.
Ehtiyac duyacağınız hissələr:
Arduino Uno R3 (Məhsul ID: 10997)
USB A - B Kabel M/M (Məhsul ID: 29861)
10K Rezistor * 8 (Məhsul ID: 91516)
Tack Switch -in fərqli rəngləri * 8 (Məhsul ID: 3124, 31242, 31243, 31245, 31246)
Mini Dinamik (Məhsul ID: 41680)
Çörək paneli (Məhsul ID: 106861)
Jumper Telləri (Məhsul ID: 21801)
Addım 1: Adım 1: Dövrün Qurulması
Birincisi, bütün düymə açarlarını və mini hoparlörü çörək taxtasına bir -bir daxil edin və bir sıraya uyğunlaşdırın. Sonra hər bir düymə açarının sancaqlarını yerə bağlayın. İkincisi, müsbət güc və hər bir düymə açarının digər pinləri arasında 10k rezistoru bağlayın. Və bu sütunu Arduino lövhəsindəki 2-9 pinlərinə bağlayın. Ayrıca, zəmini topraklama pininə və müsbət gücü Arduino'daki 3.3v pininə bağlayın. Nəhayət, mini hoparlörü Arduino -dakı pin 10 -a bağlayın.
Addım 2: Adım 2: Kod və İzahat
Aşağıdakı kod yazdığımdır
const int black = 2;
const int white = 3;
const int red = 4;
const int yaşıl = 5;
const int mavi = 6;
const int black2 = 7;
const int green2 = 8;
const int red2 = 9;
const int speaker = 10; // Bütün düymə açarlarını və dinamikini arduino siqnal pinləri ilə bağlayın
int tezliyi = {262, 294, 330, 349, 392, 440, 493, 523}; // sıra bir oktavanın bütün tezliklərini ehtiva edir
boş quraşdırma () {
// bir dəfə işə salmaq üçün quraşdırma kodunuzu bura qoyun:
pinMode (qara, GİRİŞ);
pinMode (ağ, GİRİŞ);
pinMode (qırmızı, GİRİŞ);
pinMode (yaşıl, GİRİŞ);
pinMode (mavi, GİRİŞ);
pinMode (qara2, GİRİŞ);
pinMode (yaşıl2, GİRİŞ);
pinMode (qırmızı2, GİRİŞ);
pinMode (dinamik, Çıxış);
ton (dinamik, 2000);
Serial.begin (9600);
}
boşluq döngəsi () {
// əsas kodunuzu bura qoyun, təkrar işləsin:
əgər (digitalRead (qara) == LOW) // "DO" düyməsinə keçid düyməsini basdığınız zaman
{ton (dinamik, tezlik [0], 50);
gecikmə (50);
noTone (dinamik);}
başqa halda (digitalRead (ağ) == LOW) // "RE" düyməsinə keçidinə basdığınız zaman
{ton (dinamik, tezlik [1], 50);
gecikmə (50);
noTone (dinamik);}
başqa halda (digitalRead (qırmızı) == LOW) // "MI" düyməsinə keçid düyməsini basdığınız zaman
{ton (dinamik, tezlik [2], 50);
gecikmə (50);
noTone (dinamik);}
başqa halda (digitalRead (yaşıl) == LOW) // "FA" düyməsinə keçidinə basdığınız zaman
{ton (dinamik, tezlik [3], 50);
gecikmə (50);
noTone (dinamik);}
başqa halda (digitalRead (mavi) == LOW) // "SO" düyməsinə keçidinə basdığınız zaman
{ton (dinamik, tezlik [4], 50);
gecikmə (50);
noTone (dinamik);}
başqa halda (digitalRead (black2) == LOW) // "LA" düyməsinə keçid düyməsini basdığınız zaman
{ton (dinamik, tezlik [5], 50);
gecikmə (50);
noTone (dinamik);}
başqa halda (digitalRead (green2) == LOW) // "SI" düyməsinə keçid düyməsini basdığınız zaman
{ton (dinamik, tezlik [6], 50);
gecikmə (50);
noTone (dinamik);}
başqa halda (digitalRead (red2) == LOW) // "DO" düyməsinə keçid düyməsini basdığınız zaman
{ton (dinamik, tezlik [7], 50);
gecikmə (50);
noTone (dinamik);}
başqa // heç nə basmadığınız zaman
noTone (dinamik);
}
Birincisi, bütün düymələri və dinamikləri Arduino'da 2 ilə 10 arasında bir pin olaraq elan etməliyik. Hər keçid bir notu təmsil edir. Sonra, bütün frekansları daxil etmək üçün bir sıra istifadə edin. Sonra, If and else ifadəsi, Arduinoya hansı düyməni basdığımı bildirmək üçün istifadə etdiyim şeydir.
Nəhayət, Arduino lövhənizi kompüterə və ya dizüstü kompüterinizə usb A - B kabeli ilə bağlayın. Kodunuzu yükləməzdən əvvəl hələ də Arduino proqramını yükləməlisiniz və bir neçə standart parametr etməlisiniz. Alətlər -> Board -> Arduino/Genuino Uno seçin; Sonra Arduino lövhəsinə qoşulmuş ünsiyyət limanını seçməliyik. Alətlər -> Limanı seçin, sonra hansı liman adı "(Arduino/Genuino Uno) olaraq etiketlənirsə seçin. Sonra kodu Arduino lövhəsinə yükləyə bilərsiniz.