Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Ustvaril: Haotian Ye
Pregled
To je klavirska plošča z osmimi stikalnimi tipkami, ki vam omogoča igranje ene oktave (Do Re Mi Fa So La Si Do), s to oktavo pa lahko poskusite predvajati nekaj pesmi, ki so vam všeč. Za ta projekt morate vedeti nekaj pomembnega znanja, preden začnete.
Najprej moramo poznati frekvence osnovnih not klavirja.
Spodaj so navedene frekvence:
Do - 261Hz
Re - 294Hz
Mi - 329Hz
Fa - 349Hz
Torej - 392Hz
La - 440Hz
Si - 493Hz
Do - 523Hz
Drugič, pokazal vam bom, kako zgraditi vezje z deli, ki jih lahko kupite v Leejevi elektronski trgovini. Na koncu will bom predstavil in razložil kodo, ki jo je treba naložiti na ploščo Arduino.
Deli, ki jih boste potrebovali:
Arduino Uno R3 (ID izdelka: 10997)
Kabel USB A do B M/M (ID izdelka: 29861)
10K upor * 8 (ID izdelka: 91516)
Različne barve stikalnega stikala * 8 (ID izdelka: 3124, 31242, 31243, 31245, 31246)
Mini zvočnik (ID izdelka: 41680)
Breadboard (ID izdelka: 106861)
Mostične žice (ID izdelka: 21801)
1. korak: 1. korak: Gradnja vezja
Najprej vstavite vsa stikalna stikala in mini zvočnik eno na drugo in jih postavite v eno vrstico. Nato priključite nožice vsakega stikalnega stikala na tla. Drugič povežite 10k uporov med pozitivno močjo in drugimi zatiči vsakega stikala. In ta stolpec povežite z nožicami 2-9 na plošči Arduino. Prav tako priključite ozemljitev na ozemljitveni zatič in pozitivno napajanje na pin 3.3v na Arduinu. Na koncu priključite mini zvočnik na pin 10 na Arduinu.
2. korak: 2. korak: Koda in razlaga
Spodnja koda je tisto, kar sem napisal
const int črna = 2;
const int bela = 3;
const int rdeča = 4;
const int zelena = 5;
const int modra = 6;
const int črna2 = 7;
const int zelena2 = 8;
const int rdeča2 = 9;
const int speaker = 10; // Povežite vsa stikala in zvočnik z arduino signalnimi zatiči
int frekvenca = {262, 294, 330, 349, 392, 440, 493, 523}; // matrika vsebuje vse frekvence ene oktave
void setup () {
// vnesite nastavitveno kodo sem, da se enkrat zažene:
pinMode (črna, INPUT);
pinMode (bela, INPUT);
pinMode (rdeča, VHOD);
pinMode (zelena, VHOD);
pinMode (modra, INPUT);
pinMode (črna2, VHOD);
pinMode (green2, INPUT);
pinMode (rdeča2, VHOD);
pinMode (zvočnik, IZHOD);
ton (zvočnik, 2000);
Serial.begin (9600);
}
void loop () {
// vnesite svojo glavno kodo sem, da se zažene večkrat:
if (digitalRead (črno) == LOW) // ko pritisnete stikalo "DO"
{ton (zvočnik, frekvenca [0], 50);
zamuda (50);
noTone (zvočnik);}
else if (digitalRead (white) == LOW) // ko pritisnete stikalo "RE"
{ton (zvočnik, frekvenca [1], 50);
zamuda (50);
noTone (zvočnik);}
else if (digitalRead (rdeče) == LOW) // ko pritisnete stikalo "MI"
{ton (zvočnik, frekvenca [2], 50);
zamuda (50);
noTone (zvočnik);}
else if (digitalRead (zeleno) == LOW) // ko pritisnete stikalo "FA"
{ton (zvočnik, frekvenca [3], 50);
zamuda (50);
noTone (zvočnik);}
else if (digitalRead (blue) == LOW) // ko pritisnete stikalo "SO"
{ton (zvočnik, frekvenca [4], 50);
zamuda (50);
noTone (zvočnik);}
else if (digitalRead (black2) == LOW) // ko pritisnete stikalo "LA"
{ton (zvočnik, frekvenca [5], 50);
zamuda (50);
noTone (zvočnik);}
else if (digitalRead (green2) == LOW) // ko pritisnete stikalo "SI"
{ton (zvočnik, frekvenca [6], 50);
zamuda (50);
noTone (zvočnik);}
else if (digitalRead (red2) == LOW) // ko pritisnete stikalo "DO"
{ton (zvočnik, frekvenca [7], 50);
zamuda (50);
noTone (zvočnik);}
else // ko nič ne pritisnete
noTone (zvočnik);
}
Najprej moramo razglasiti vsa stikalna stikala in zvočnik kot pin od 2 do 10 na Arduinu. Vsako stikalo predstavlja eno opombo. Nato z enim nizom vstavite vse frekvence. Nato uporabljam stavek If in else, s katerim Arduinu povem, katero stikalo z gumbom pritisnem.
Končno priključite ploščo Arduino na računalnik ali prenosni računalnik s kablom USB A do B. Preden naložite kodo, morate še vedno prenesti programsko opremo Arduino in narediti nekaj privzetih nastavitev. Izberite Orodja -> Plošča -> Arduino/Genuino Uno; Nato moramo izbrati komunikacijska vrata, priključena na ploščo Arduino. Izberite Orodja -> Vrata in nato ime vrat z oznako "(Arduino/Genuino Uno)." Nato lahko kodo naložite na ploščo Arduino.