Arduino klavir sa prekidačima na dugme: 3 koraka
Arduino klavir sa prekidačima na dugme: 3 koraka
Anonim
Arduino klavir sa prekidačima na dugme
Arduino klavir sa prekidačima na dugme
Arduino klavir sa prekidačima na dugme
Arduino klavir sa prekidačima na dugme

Autor: Haotian Ye

Pregled

Ovo je klavirska ploča s osam prekidača koji vam omogućuju sviranje jedne oktave (Do Re Mi Fa So La Si Do), a s ovom oktavom možete pokušati odsvirati neke pjesme koje volite. Za ovaj projekt postoje neka važna znanja koja morate znati prije nego počnete.

Prvo, moramo znati frekvencije osnovnih nota klavira.

U nastavku su navedene frekvencije:

Do - 261Hz

Re - 294Hz

Mi - 329Hz

Fa - 349Hz

Dakle - 392Hz

La - 440Hz

Si - 493Hz

Do - 523Hz

Drugo, pokazat ću vam kako izgraditi krug pomoću dijelova koji se mogu kupiti u Lee's Electronic Storeu. Na kraju , predstavit ću i objasniti kôd koji je potrebno učitati na Arduino ploču.

Dijelovi koji će vam trebati:

Arduino Uno R3 (ID proizvoda: 10997)

USB A do B kabel M/M (ID proizvoda: 29861)

10K otpornik * 8 (ID proizvoda: 91516)

Različite boje prekidača za pričvršćivanje * 8 (ID proizvoda: 3124, 31242, 31243, 31245, 31246)

Mini zvučnik (ID proizvoda: 41680)

Oglasna ploča (ID proizvoda: 106861)

Žice za kratkospojnike (ID proizvoda: 21801)

Korak 1: Korak 1: Izgradnja kruga

Korak 1: Izgradnja kruga
Korak 1: Izgradnja kruga
Korak 1: Izgradnja kruga
Korak 1: Izgradnja kruga
Korak 1: Izgradnja kruga
Korak 1: Izgradnja kruga
Korak 1: Izgradnja kruga
Korak 1: Izgradnja kruga

Prvo umetnite sve prekidače i mini zvučnike na ploču jedan po jedan i postavite ih u jedan red. Zatim spojite pinove svih prekidača s prekidačem na masu. Zatim povežite 10k otpornika između pozitivne snage i ostalih pinova svakog prekidača. I povežite ovaj stupac s pinovima 2-9 na Arduino ploči. Također spojite uzemljenje na pin za uzemljenje i pozitivno napajanje na pin 3.3v na Arduinu. Na kraju, spojite mini zvučnik na pin 10 na Arduinu.

Korak 2: Korak 2: Kôd i objašnjenje

Kod ispod je ono što sam napisao

const int crno = 2;

const int bijelo = 3;

const int crveno = 4;

const int zelena = 5;

const int plavo = 6;

const int black2 = 7;

const int green2 = 8;

const int red2 = 9;

const int speaker = 10; // Povežite sve prekidače i zvučnike sa arduino signalnim pinovima

int frekvencija = {262, 294, 330, 349, 392, 440, 493, 523}; // niz sadrži sve frekvencije jedne oktave

void setup () {

// ovdje postavite svoj kôd za postavljanje, da biste ga jednom pokrenuli:

pinMode (crno, INPUT);

pinMode (bijeli, INPUT);

pinMode (crveno, INPUT);

pinMode (zeleno, INPUT);

pinMode (plavo, INPUT);

pinMode (black2, INPUT);

pinMode (green2, INPUT);

pinMode (red2, INPUT);

pinMode (zvučnik, OUTPUT);

ton (zvučnik, 2000);

Serial.begin (9600);

}

void loop () {{100} {101}

// ovdje unesite svoj glavni kôd, za ponavljanje:

if (digitalRead (crno) == LOW) // kada pritisnete prekidač "DO"

{ton (zvučnik, frekvencija [0], 50);

kašnjenje (50);

noTone (zvučnik);}

else if (digitalRead (white) == LOW) // kada pritisnete prekidač "RE"

{ton (zvučnik, frekvencija [1], 50);

kašnjenje (50);

noTone (zvučnik);}

else if (digitalRead (crveno) == LOW) // kada pritisnete prekidač "MI"

{ton (zvučnik, frekvencija [2], 50);

kašnjenje (50);

noTone (zvučnik);}

else if (digitalRead (zeleno) == LOW) // kada pritisnete prekidač "FA"

{ton (zvučnik, frekvencija [3], 50);

kašnjenje (50);

noTone (zvučnik);}

else if (digitalRead (blue) == LOW) // kada pritisnete prekidač "SO"

{ton (zvučnik, frekvencija [4], 50);

kašnjenje (50);

noTone (zvučnik);}

else if (digitalRead (black2) == LOW) // kada pritisnete prekidač "LA"

{ton (zvučnik, frekvencija [5], 50);

kašnjenje (50);

noTone (zvučnik);}

else if (digitalRead (green2) == LOW) // kada pritisnete prekidač "SI"

{ton (zvučnik, frekvencija [6], 50);

kašnjenje (50);

noTone (zvučnik);}

else if (digitalRead (red2) == LOW) // kada pritisnete prekidač "DO"

{ton (zvučnik, frekvencija [7], 50);

kašnjenje (50);

noTone (zvučnik);}

else // kada ništa ne pritisnete

noTone (zvučnik);

}

Prvo moramo proglasiti sve prekidače i zvučnike tipkama kao pin od 2 do 10 na Arduinu. Svaki prekidač predstavlja jednu notu. Zatim, pomoću jednog niza umetnite sve frekvencije unutra. Zatim, naredba If i else koristim kako bih Arduino znao koji prekidač pritisnem.

Konačno, povežite Arduino ploču s računarom ili prijenosnim računarom pomoću USB kabela A do B. Prije nego što učitate kôd, još uvijek morate preuzeti Arduino softver i izvršiti zadane postavke. Odaberite Alati -> Ploča -> Arduino/Genuino Uno; Zatim moramo odabrati komunikacijski port spojen na Arduino ploču. Odaberite Alati -> Port, a zatim bilo koje ime porta označeno kao "(Arduino/Genuino Uno)." Zatim možete prenijeti kod na Arduino ploču.