Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Looja: Haotian Ye
Ülevaade
See on kaheksa vajutusnupuga lülitiga klaveriplaat, mis võimaldab mängida ühte oktaavi (Do Re Mi Fa So La Si Do) ja selle ühe oktaaviga saate proovida mängida mõnda meelepärast lugu. Selle projekti jaoks on mõned olulised teadmised, mida peate enne alustamist teadma.
Esiteks peame teadma klaveri põhinootide sagedusi.
Sagedused on loetletud allpool:
Kas - 261 Hz
Taas - 294 Hz
Mi - 329 Hz
Fa - 349 Hz
Seega - 392 Hz
La - 440 Hz
Si - 493 Hz
Kas - 523 Hz
Teiseks näitan teile, kuidas vooluringi üles ehitada, kasutades osi, mida saab osta Lee elektroonilisest poest. Lõpuks , esitan ja selgitan koodi, mis tuleb Arduino tahvlile üles laadida.
Vajalikud osad:
Arduino Uno R3 (Toote ID: 10997)
USB kaabel M/M (toote ID: 29861)
10K takisti * 8 (toote ID: 91516)
Tack -lüliti erinevad värvid * 8 (Toote ID: 3124, 31242, 31243, 31245, 31246)
Minikõlar (Toote ID: 41680)
Leivalaud (Toote ID: 106861)
Jumper Traadid (Toote ID: 21801)
1. samm: 1. samm: vooluringi ehitamine
Kõigepealt sisestage kõik surunuppude lülitid ja minikõlar ükshaaval leivaplaadile ja sobitage need ühele reale. Seejärel ühendage iga vajutuslüliti tihvtid maapinnaga. Teiseks ühendage 10k takistid positiivse võimsuse ja iga nupunuppude teiste tihvtide vahele. Ja ühendage see veerg Arduino Boardi tihvtidega 2-9. Samuti ühendage maandus maandusnõelaga ja positiivne toide Arduino 3,3 -voldise pistikuga. Lõpuks ühendage minikõlar Arduino tihvtiga 10.
2. samm: 2. samm: kood ja selgitus
Allpool olev kood on see, mille ma kirjutasin
const int must = 2;
const int valge = 3;
const int punane = 4;
const int roheline = 5;
const int sinine = 6;
const int must2 = 7;
const int roheline2 = 8;
const int punane2 = 9;
const int kõlar = 10; // Ühendage kõik nuppude lülitid ja kõlar arduino signaalipistikutega
int sagedus = {262, 294, 330, 349, 392, 440, 493, 523}; // massiiv sisaldab kõiki ühe oktaavi sagedusi
tühine seadistus () {
// pange oma seadistuskood siia, et üks kord käivitada:
pinMode (must, INPUT);
pinMode (valge, INPUT);
pinMode (punane, INPUT);
pinMode (roheline, INPUT);
pinMode (sinine, INPUT);
pinMode (must2, INPUT);
pinMode (roheline2, INPUT);
pinMode (punane2, sisend);
pinMode (kõlar, OUTPUT);
toon (kõneleja, 2000);
Seriaalne algus (9600);
}
void loop () {
// pange oma põhikood siia korduvaks käitamiseks:
if (digitalRead (must) == LOW) // kui vajutad nupule "DO"
{toon (kõlar, sagedus [0], 50);
viivitus (50);
noTone (kõneleja);}
muidu if (digitalRead (valge) == LOW) // kui vajutad nupule "RE"
{toon (kõlar, sagedus [1], 50);
viivitus (50);
noTone (kõneleja);}
muidu if (digitalRead (punane) == LOW) // kui vajutad nupule "MI"
{toon (kõlar, sagedus [2], 50);
viivitus (50);
noTone (kõneleja);}
muidu if (digitalRead (roheline) == LOW) // kui vajutad nupule "FA"
{toon (kõlar, sagedus [3], 50);
viivitus (50);
noTone (kõneleja);}
muidu if (digitalRead (sinine) == LOW) // kui vajutad nupule "SO"
{toon (kõlar, sagedus [4], 50);
viivitus (50);
noTone (kõneleja);}
muidu if (digitalRead (black2) == LOW) // kui vajutad nupule "LA"
{toon (kõlar, sagedus [5], 50);
viivitus (50);
noTone (kõneleja);}
muidu if (digitalRead (green2) == LOW) // kui vajutad nupule "SI"
{toon (kõlar, sagedus [6], 50);
viivitus (50);
noTone (kõneleja);}
muidu if (digitalRead (red2) == LOW) // kui vajutad nupule "DO"
{toon (kõlar, sagedus [7], 50);
viivitus (50);
noTone (kõneleja);}
else // kui midagi ei vajutata
noTone (kõneleja);
}
Esiteks peame kuulutama kõik nuppude lülitid ja kõlarid Arduino nööpnõelaks 2–10. Iga lüliti tähistab ühte nooti. Seejärel kasutage ühte massiivi kõigi sageduste sisestamiseks. Järgmisena kasutan avaldust If ja else, et anda Arduinole teada, millist vajutusnuppu ma vajutan.
Lõpuks ühendage oma Arduino plaat arvuti või sülearvutiga USB A -kaabli abil. Enne koodi üleslaadimist peate ikkagi alla laadima Arduino tarkvara ja tegema mõned vaikeseaded. Valige Tools -> Board -> Arduino/Genuino Uno; Siis peame valima Arduino plaadiga ühendatud sidepordi. Valige Tööriistad -> Port, seejärel olenevalt sellest, kumb pordi nimi on sildiga "(Arduino/Genuino Uno)." Seejärel saate koodi Arduino tahvlile üles laadida.