Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
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
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.