Rocola With ARDUINO
En este instructable encontrarás como crear tu propia *ROCKOLA* con Arduino y un Buzzer activo. Primero se van a necesitar todos los materiales que se encuentran en la sección de "Listado de Materiales" para crear la rocola. Con los materiales listos, se puede comenzar a conectar todos los componentes.
Para que la rocola cambie de canciones con botones, se necesitan leer los estados de los botones al momento de ser presionados. Por eso mismo existen dos interrupciones dentro del código para que pueda aumentar y reducir el contador que manejan esos botones. Dependiendo del número del contador sonará la canción deseada. Las canciones van a ser funciones en las que se encontrará el color de los LED (en este caso RGB), lo que aparece en la pantalla LCD, la función de pausa y las notas de la canción deseada con los tiempos de cada nota.
La función de Pausa es para detener la canción en un momento deseado. Esta funciona a través de otro contador que mientras lea estado alto, pausa la canción y en estado bajo no hace nada.
Por ultimo, cada canción tiene un conjunto de notas y tiempos para cada nota. Aquí encontrarás un pdf con las notas ordenadas como un piano, empezando de las más graves a las más agudas. Cada valor representa la frecuencia de cada nota y cada nota necesita el tiempo que va a sonar. En esta ocasión utilizamos las canciones de: Super Mario Bros - Koji Kondo, Ocarina - Dimitri Vegas & Like Mike y We Rise - San Holo.
Materiales
Downloads
Diagrama Esquemático (TINKERCAD)
Aquí se puede apreciar cómo está la conexión a cada componente. En físico se utilizaron varios cables macho-hembra para el hardware de la rocola. Si se desea utilizar más de un componente en un mismo pin del Arduino, revisar la hoja de datos para ver la corriente máxima que resiste el pin y así evitar quemarlo.
En vez de utilizar una LCD normal, se utilizo una con la adición de I2C, simplificando las conexiones de la pantalla. El buzzer va conectado directamente a tierra y a un pin del Arduino. Los botones están conectados de tal forma que estén en estado bajo al inicio y el RGB se conectan cada pierna un pin y el ánodo común se conecta con una resistencia a voltaje. Por ultimo, el interruptor conectado de voltaje-voltaje y tierra-tierra.
Ensamblaje
Para esta rocola se utilizaron dos cajas, una de mascarillas (#COVID19) y una de un disco duro externo. En la caja de mascarillas que era la caja grande se guardaron la placa de pruebas (galleta) y el Arduino UNO. En la caja del disco duro se abrieron varios agujeros para los botones, el interruptor, la pantalla LCD, sonido del Buzzer y para dos LED RGB. Para unir las dos cajas y que las conexiones no fuesen vistas, se abrió un agujero del mismo tamaño en la parte inferior de cada caja. Ese orificio ayudó a traspasar las conexiones de una caja a otra. Para mantener los componentes fuera de la galleta se utilizaron cables macho-hembra y se conectaron en las patas de cada componente permitiendo las conexiones afuera.
Código (ARDUINO IDE)
Downloads
Diagrama De Flujo Del Código
El código empieza con el interruptor en estado apagado. Después se definen las librerías a utilizar, las variables de los botones, RGB, buzzer, e interrupciones. En la función setup se definen los pines de entrada y salida, así como las notas de cada acción y su tempo. Se definen las funciones de cada canción y finalmente suenan las canciones dependiendo del estado de cada interrupción.
Downloads
Resultado Final
(VER VIDEO)