Taula de continguts:

Piano Arduino amb polsadors: 3 passos
Piano Arduino amb polsadors: 3 passos

Vídeo: Piano Arduino amb polsadors: 3 passos

Vídeo: Piano Arduino amb polsadors: 3 passos
Vídeo: DIY Arduino Piano: How to Make a Piano using Buzzer and Push Buttons 🎹🎶😲 #diy #arduino #music #how 2024, Desembre
Anonim
Piano Arduino amb interruptors de botó
Piano Arduino amb interruptors de botó
Piano Arduino amb interruptors de botó
Piano Arduino amb interruptors de botó

Creat per: Haotian Ye

Visió general

Es tracta d’un tauler de piano amb vuit botons polsadors que us permet tocar una octava (Do Re Mi Fa So La Si Do) i amb aquesta octava podeu provar de tocar algunes cançons que us agradin. Per a aquest projecte hi ha alguns coneixements importants que heu de conèixer abans de començar.

En primer lloc, hem de conèixer les freqüències de les notes bàsiques d’un piano.

A continuació es detallen les freqüències:

Fer - 261Hz

Re - 294Hz

Mi - 329Hz

Fa - 349Hz

Per tant - 392Hz

La - 440Hz

Si - 493Hz

Fer - 523Hz

En segon lloc, us mostraré com construir el circuit utilitzant les peces que es poden comprar a la botiga electrònica de Lee. Finalment, presentaré i explicaré el codi que cal penjar a la placa Arduino.

Parts que necessitareu:

Arduino Uno R3 (identificació del producte: 10997)

Cable USB A a B M / M (identificador del producte: 29861)

Resistència 10K * 8 (identificació del producte: 91516)

Interruptor de diferents colors * 8 (identificador de producte: 3124, 31242, 31243, 31245, 31246)

Mini altaveu (identificació del producte: 41680)

Taula de pa (identificador del producte: 106861)

Cables de pont (identificació del producte: 21801)

Pas 1: Pas 1: Construir el circuit

Pas 1: Construir el circuit
Pas 1: Construir el circuit
Pas 1: Construir el circuit
Pas 1: Construir el circuit
Pas 1: Construir el circuit
Pas 1: Construir el circuit
Pas 1: Construir el circuit
Pas 1: Construir el circuit

Primer, introduïu tots els interruptors de botó i el mini altaveu a la taula de tauler un a un i ajusteu-los en una fila. A continuació, connecteu els pins de cada polsador a terra. En segon lloc, connecteu resistències de 10 k entre la potència positiva i els altres pins de cada commutador de polsador. Connecteu aquesta columna als pins 2-9 de la placa Arduino. A més, connecteu la terra al pin de terra i la potència positiva al pin de 3,3 V a Arduino. Finalment, connecteu el mini altaveu al pin 10 d’Arduino.

Pas 2: Pas 2: codi i explicació

El codi següent és el que vaig escriure

const int negre = 2;

const int blanc = 3;

const int red = 4;

const int verd = 5;

const int blau = 6;

const int negre2 = 7;

const int green2 = 8;

const int red2 = 9;

const int speaker = 10; // Enllaça tots els interruptors de botó i altaveu amb els pins de senyal d'arduino

int frequency = {262, 294, 330, 349, 392, 440, 493, 523}; // array conté totes les freqüències d'una octava

configuració nul·la () {

// posa aquí el teu codi de configuració per executar-lo una vegada:

pinMode (negre, INPUT);

pinMode (blanc, INPUT);

pinMode (vermell, INPUT);

pinMode (verd, INPUT);

pinMode (blau, INPUT);

pinMode (negre2, INPUT);

pinMode (green2, INPUT);

pinMode (red2, INPUT);

pinMode (altaveu, OUTPUT);

to (altaveu, 2000);

Serial.begin (9600);

}

bucle buit () {

// posa aquí el teu codi principal per executar-lo repetidament:

if (digitalRead (negre) == BAIX) // quan premeu el botó polsador "FER"

{to (altaveu, freqüència [0], 50);

retard (50);

noTone (altaveu);}

else if (digitalRead (blanc) == BAIX) // quan premeu el botó "RE"

{to (altaveu, freqüència [1], 50);

retard (50);

noTone (altaveu);}

else if (digitalRead (vermell) == BAIX) // quan premeu l'interruptor del botó "MI"

{to (altaveu, freqüència [2], 50);

retard (50);

noTone (altaveu);}

else if (digitalRead (green) == LOW) // quan premeu el botó de commutació "FA"

{to (altaveu, freqüència [3], 50);

retard (50);

noTone (altaveu);}

else if (digitalRead (blau) == BAIX) // quan premeu el botó polsador "SO"

{to (altaveu, freqüència [4], 50);

retard (50);

noTone (altaveu);}

else if (digitalRead (black2) == LOW) // quan premeu el botó polsador "LA"

{to (altaveu, freqüència [5], 50);

retard (50);

noTone (altaveu);}

else if (digitalRead (green2) == LOW) // quan premeu el botó "SI"

{to (altaveu, freqüència [6], 50);

retard (50);

noTone (altaveu);}

else if (digitalRead (red2) == LOW) // quan premeu el botó polsador "FER"

{to (altaveu, freqüència [7], 50);

retard (50);

noTone (altaveu);}

else // quan no premeu res

noTone (altaveu);

}

En primer lloc, hem de declarar tots els interruptors de botó i altaveu com a pin de 2 a 10 a Arduino. Cada commutador representa una nota. A continuació, utilitzeu una matriu per posar totes les freqüències dins. A continuació, utilitzo la declaració If and else per fer saber a Arduino quin interruptor de polsador premo.

Finalment, connecteu la vostra placa Arduino a l’ordinador o portàtil amb un cable USB A a B. Abans de penjar el codi, encara heu de descarregar el programari Arduino i fer una configuració predeterminada. Seleccioneu Eines -> Tauler -> Arduino / Genuino Uno; A continuació, hem de seleccionar el port de comunicació connectat a la placa Arduino. Seleccioneu Eines -> Port i, a continuació, el nom del port que porti l'etiqueta "(Arduino / Genuino Uno)". A continuació, podeu penjar el codi a la placa Arduino.

Recomanat: