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