En este
ejemplo te enseño de manera sencilla a reproducir las notas musicales en Arduino
Comencemos
mostrando las notas y las frecuencias en Hertz que debes usar para reproducir
cada nota.
El armado
del circuito queda de la siguiente manera:
Una vez que
hayas armado tu circuito debemos ahora programar nuestro Arduino.
int altavoz = 9;
int DO = 262;
int RE = 294;
int MI = 330;
int FA = 349;
int SOL = 392;
int LA = 440;
int SI = 494;
int mapa;
int valor;
void setup() {
Serial.begin(9600);
}
void loop() {
valor = analogRead(A0);
int frecuencia;
int duracion;
mapa = map(valor, 0, 1023, 0, 8);
Serial.print("Valor del potenciometro: ");
Serial.print(mapa);
Serial.print("\n");
delay(100);
if (mapa == 1) {
frecuencia = DO;
duracion = 1000;
tone (altavoz, frecuencia, duracion);
Serial.print("DO");
Serial.print("\n");
delay(100);
}
if (mapa ==2) {
frecuencia = RE;
duracion = 1000;
tone (altavoz, frecuencia, duracion);
Serial.print("RE");
Serial.print("\n");
delay(100);
}
if (mapa==3) {
frecuencia = MI;
duracion = 1000;
tone (altavoz, frecuencia, duracion);
Serial.print("MI");
Serial.print("\n");
delay(100);
}
if (mapa==4) {
frecuencia = FA;
duracion = 1000;
tone (altavoz, frecuencia, duracion);
Serial.print("FA");
Serial.print("\n");
delay(100);
}
if (mapa==5) {
frecuencia = SOL;
duracion = 1000;
tone (altavoz, frecuencia, duracion);
Serial.print("SOL");
Serial.print("\n");
delay(100);
}
if (mapa==6) {
frecuencia = LA;
duracion = 1000;
tone (altavoz, frecuencia, duracion);
Serial.print("LA");
Serial.print("\n");
delay(100);
}
if (mapa==7) {
frecuencia = SI;
duracion = 1000;
tone (altavoz, frecuencia, duracion);
Serial.print("SI");
Serial.print("\n");
delay(100);
}
if (mapa == 8) {
frecuencia = DO;
duracion = 1000;
tone (altavoz, frecuencia, duracion);
Serial.print("DO");
Serial.print("\n");
delay(100);
}
}
No hay comentarios:
Publicar un comentario