Piano con arduino
Design thinking
Fase 1: empatía
Imagina que eres un artista especializado en diseño de interacción tangible de reputación internacional y un centro de producción de artes visuales te invita a realizar una residencia artística para que desarrolles un proyecto libre con Arduino y el software que quieras. Plantea un proyecto adecuado para este contexto en el que predomine resolver un problema, ya sea personal, social, ambiental, económico, empresarial…
Fase 2: definir
En mi caso voy a usar mi prototipo de la PEC2 al que voy a orientar en la siguiente manera: un teclado para niños con el que puedan asociar sonidos con colores y notas musicales.
El proyecto se centra en niños que muestren cierto interés en la música. Con este piano diseñado con Arduino, les será más fácil aprender los sonidos diferentes notas musicales y asociarlos con colores para recordarlas mejor. Al prototipo de la anterior PEC habría que añadirle más complejidad y profundidad.
Fase 3: idear:
Mi lluvia de ideas fue la siguiente:
– Integrar el prototipo con processing y que se muestre una partitura donde se dibujan las notas tocadas con su color correspondiente.
– Diseñar una tapa como si fuera un teclado para ocultar la placa y que sea visualmente más atractivo para los niños. Tener en cuenta la orientación de los botones, puede que tenga que invertir los valores.
A lo que hay que añadir las ideas que tuve en la PEC2:
– Posible integración con processing para reproducir un color o un texto asociado.
– Que se guarden las notas y que con otro botón se vuelvan a reproducir como si fuera una canción grabada.
– Añadir un botón para el modo “Simón dice”.
Y las ideas que se me fueron ocurriendo durante la realización de la PEC:
– Añadir el tiempo que el usuario tiene pulsado el botón.
– Borrar la canción una vez reproducida.
– Editar los colores de las notas para que sean más diferenciados.
– Pintar cada botón físico con el color del LED cuando se pulsa.
Fase 4: prototipar
En este segundo prototipo voy a añadir el código para el botón de reproducir las notas tocadas y empezaré la integración con processing. De momento descarto la idea del «Simón dice».
En la primera versión del prototipo conseguí guardar las notas del usuario, pero tuve que rellenar el array cancion[] con NULL para evitar notas falsas y de paso lo usé para hacer break del for loop si hubiera menos de las 10 notas máximas que guarda.
En la segunda y última versión, conseguí un timer correcto para que los tonos no se solaparan y sonaran más armónicos y añadí el borrado de la canción después de reproducirla.
En el siguiente prototipo introduciré la conexión con processing y mejoraré el diseño visual.
Fase 5: probar
Empecé haciendo las ediciones en el código del proyecto de tinkercad. Implementé varias variables nuevas para este botón.
Una vez estuve contenta con los resultados de la primera versión y comprobé que se guardaba correctamente, importé el código a la placa para verificar el resultado real. Me di cuenta que la duración de las notas hacía que a veces se solaparan entre sí.
En la segunda versión del prototipo conseguí arreglarlo, añadí el borrado de la canción y edité los colores. Exporté el código de tinkercad a IDE y a mi placa Arduino para pruebas.
Para la siguiente iteración en la próxima PEC, editaré el exterior de la placa y moveré el buzzer y el LED de sitio con cables puente y diseñaré la parte de processing.