Piano en Arduino (Buzzer con teclado)
Ahora que ya sabemos controlar un Buzzer y en tutoriales anteriores aprendimos usar el teclado matricial 4×4 ahora vamos a combinar esos conocimientos y crearemos nuestro Piano en Arduino (Buzzer con teclado) que además podrá almacenar las melodías que vayamos creando. Para crear este dispositivo necesitaremos los siguientes materiales.
- Arduino Uno R3.
- Teclado 4×4.
- Buzzer.
🔗 Codigo del piano en Arduino (Buzzer con teclado): https://www.tinkercad.com/
#include <Keypad.h>
const int filas=4;
const int columnas=4;
char keys[filas][columnas]={
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte pinesFila[filas]={9,8,7,6};
byte pinesColumna[columnas]={5,4,3,2};
Keypad teclado=Keypad(makeKeymap(keys), pinesFila, pinesColumna, filas, columnas);
char teclaPrecionada;
String numeroString="";
int notas[50];
int contNotas=0;
void setup()
{
Serial.begin(9600);
pinMode(10,OUTPUT);
}
void loop()
{
teclaPrecionada=teclado.getKey();
if(teclaPrecionada){
if(teclaPrecionada>='0' && teclaPrecionada<='9'){
numeroString=numeroString+teclaPrecionada;
tone(10,1000,10);
Serial.println(teclaPrecionada);
}
else if( teclaPrecionada=='A' || teclaPrecionada=='B' || teclaPrecionada=='C' || teclaPrecionada=='D' || teclaPrecionada=='#' ){
notas[contNotas]=numeroString.toInt();
numeroString="";
tone(10,notas[contNotas],100);
contNotas++;
}
else if(teclaPrecionada=='*'){
for(int i=0;i<contNotas;i++){
tone(10,notas[i],100);
delay(250);
}
}
}
delay(10); // Delay a little bit to improve simulation performance
}
🔗 Appinventor: https://appinventor.mit.edu/
🔗 Pagina oficial de fritzing: https://fritzing.org/
🔗 Descargar fritzing: http://www.mediafire.com/file/mizua1g8tb5cgtg/Fritzing_64_bit_Win.rar/file
🔗 Arduino virtual: https://www.tinkercad.com/
🔗 Pagina de arduino: https://www.arduino.cc/
🔗 Descargar arduino IDE: https://www.arduino.cc/en/software
🎦¿Que es c++? [C++ desde cero 2019🦸♂️]: https://www.youtube.com/watch?v=APN8aCyPvww&list=PLCTD_CpMeEKTofxs7iottRxJ5YPM7BOcc&ab_channel=programadornovato
Anterior tutorial Siguiente tutorial