Mündəricat:

Arduino Piano Düymə Açarları: 3 addım
Arduino Piano Düymə Açarları: 3 addım

Video: Arduino Piano Düymə Açarları: 3 addım

Video: Arduino Piano Düymə Açarları: 3 addım
Video: Девочка — шашлычок ► 1 Прохождение Silent Hill Origins (PS2) 2024, Noyabr
Anonim
Düymə açarları olan Arduino Piano
Düymə açarları olan Arduino Piano
Düymə açarları olan Arduino Piano
Düymə açarları olan Arduino Piano

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ı

Addım 1: Dövrün qurulması
Addım 1: Dövrün qurulması
Addım 1: Dövrün qurulması
Addım 1: Dövrün qurulması
Addım 1: Dövrün qurulması
Addım 1: Dövrün qurulması
Addım 1: Dövrün qurulması
Addı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.

Tövsiyə: