Cuprins:

Arduino Piano cu butoane de comutare: 3 pași
Arduino Piano cu butoane de comutare: 3 pași

Video: Arduino Piano cu butoane de comutare: 3 pași

Video: Arduino Piano cu butoane de comutare: 3 pași
Video: How to use up to 10 push button switch with 1 Arduino input pin ANPB-V1 2024, Iulie
Anonim
Arduino Piano cu comutatoare cu buton
Arduino Piano cu comutatoare cu buton
Arduino Piano cu comutatoare cu buton
Arduino Piano cu comutatoare cu buton

Creat de: Haotian Ye

Prezentare generală

Aceasta este o placă de pian cu opt butoane care vă permite să jucați o octavă (Do Re Mi Fa So La Si Do) și cu această octavă puteți încerca să redați câteva melodii care vă plac. Pentru acest proiect există câteva cunoștințe importante pe care trebuie să le cunoașteți înainte de a începe.

În primul rând, trebuie să cunoaștem frecvențele notelor de bază ale unui pian.

Frecvențele sunt enumerate mai jos:

Do - 261Hz

Re - 294Hz

Mi - 329Hz

Fa - 349Hz

Deci - 392Hz

La - 440Hz

Si - 493Hz

Do - 523Hz

În al doilea rând, vă voi arăta cum să construiți circuitul folosind piesele care pot fi cumpărate de la magazinul electronic Lee. În cele din urmă , Voi prezenta și explica codul care trebuie încărcat pe placa Arduino.

Piese de care veți avea nevoie:

Arduino Uno R3 (ID produs: 10997)

Cablu USB A la B M / M (ID produs: 29861)

Rezistor 10K * 8 (ID produs: 91516)

Diferite culori ale comutatorului Tack * 8 (ID produs: 3124, 31242, 31243, 31245, 31246)

Mini difuzor (ID produs: 41680)

Breadboard (ID produs: 106861)

Sârme jumper (ID produs: 21801)

Pasul 1: Pasul 1: Construirea circuitului

Pasul 1: Construirea circuitului
Pasul 1: Construirea circuitului
Pasul 1: Construirea circuitului
Pasul 1: Construirea circuitului
Pasul 1: Construirea circuitului
Pasul 1: Construirea circuitului
Pasul 1: Construirea circuitului
Pasul 1: Construirea circuitului

Mai întâi, introduceți unul câte unul toate butoanele și mini difuzorul pe panoul de măsurare și potriviți-le pe un rând. Apoi conectați pinii fiecărui buton de comutare la sol. În al doilea rând, conectați rezistențe de 10k între puterea pozitivă și celelalte pini ale fiecărui buton. Și conectați această coloană la pinii 2-9 de pe placa Arduino. De asemenea, conectați pământul la pinul de masă și puterea pozitivă la pinul de 3.3v pe Arduino. În cele din urmă, conectați mini-difuzorul la pinul 10 de pe Arduino.

Pasul 2: Pasul 2: Cod și explicație

Codul de mai jos este ceea ce am scris

const int negru = 2;

const int alb = 3;

const int red = 4;

const int verde = 5;

const int albastru = 6;

const int negru2 = 7;

const int verde2 = 8;

const int red2 = 9;

difuzor const int = 10; // Legați toate butoanele și difuzorul cu butoanele de semnal ale arduino

frecvența int = {262, 294, 330, 349, 392, 440, 493, 523}; // matricea conține toate frecvențele unei octave

configurare nulă () {

// puneți codul de configurare aici, pentru a rula o dată:

pinMode (negru, INPUT);

pinMode (alb, INPUT);

pinMode (roșu, INPUT);

pinMode (verde, INPUT);

pinMode (albastru, INPUT);

pinMode (negru2, INPUT);

pinMode (verde2, INPUT);

pinMode (red2, INPUT);

pinMode (difuzor, OUTPUT);

ton (difuzor, 2000);

Serial.begin (9600);

}

bucla nulă () {

// puneți codul principal aici, pentru a rula în mod repetat:

if (digitalRead (black) == LOW) // când apăsați butonul „DO”

{ton (difuzor, frecvență [0], 50);

întârziere (50);

noTone (difuzor);}

else if (digitalRead (white) == LOW) // când apăsați butonul "RE"

{ton (difuzor, frecvență [1], 50);

întârziere (50);

noTone (difuzor);}

altfel if (digitalRead (roșu) == LOW) // când apăsați comutatorul butonului „MI”

{ton (difuzor, frecvență [2], 50);

întârziere (50);

noTone (difuzor);}

altfel dacă (citire digitală (verde) == LOW) // când apăsați butonul "FA"

{ton (difuzor, frecvență [3], 50);

întârziere (50);

noTone (difuzor);}

else if (digitalRead (blue) == LOW) // când apăsați butonul „SO”

{ton (difuzor, frecvență [4], 50);

întârziere (50);

noTone (difuzor);}

altfel if (digitalRead (black2) == LOW) // când apăsați butonul "LA"

{ton (difuzor, frecvență [5], 50);

întârziere (50);

noTone (difuzor);}

altfel if (digitalRead (green2) == LOW) // când apăsați butonul "SI"

{ton (difuzor, frecvență [6], 50);

întârziere (50);

noTone (difuzor);}

altfel if (digitalRead (red2) == LOW) // când apăsați butonul „DO”

{ton (difuzor, frecvență [7], 50);

întârziere (50);

noTone (difuzor);}

else // cand nu apesi nimic

noTone (difuzor);

}

În primul rând, trebuie să declarăm toate butoanele și butoanele cu buton, ca pinul de la 2 la 10 pe Arduino. Fiecare comutator reprezintă pentru o notă. Apoi, utilizați o matrice pentru a pune toate frecvențele în interior. Apoi, declarația If and else este ceea ce folosesc pentru a anunța Arduino ce buton de apăsare apăs.

În cele din urmă, conectați placa Arduino la computer sau laptop cu cablu USB A la B. Înainte de a încărca codul, trebuie totuși să descărcați software-ul Arduino și să efectuați anumite setări implicite. Selectați Instrumente -> Placă -> Arduino / Genuino Uno; Apoi, trebuie să selectăm portul de comunicație conectat la placa Arduino. Selectați Instrumente -> Port, apoi oricare nume de port este etichetat „(Arduino / Genuino Uno)”. Apoi, puteți încărca codul pe placa Arduino.

Recomandat: