Sadržaj:

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

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

Video: Arduino klavir sa prekidačima na dugme: 3 koraka
Video: Marlin Firmware - VScode - Marlin Example File Guide 2024, Novembar
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.

Preporučuje se: