STEPPER MOTOR MUSIC
Controlado remotamente con archivos de formato MIDI.
¿Qué es?
Tuve la oportunitar de desarrollar este proyecto como mi Trabajo de Investigación del bachillerato, cuando tenía 16-17 años. En este caso, entonces, tenía una data límite, que me motivaría (o mejor dicho, obligaría) a trabajar más a menudo.
La idea de hacer una máquina de Steper Motor Music vino a mi cabeza después de ver 4 motores de pasos tocar You've got a friend in me. Pensé que sería una buena idea de intenar reproduir lo que ví por YouTube por mi mismo.
Lo llamamos Stepper Motor Music porque los sonidos están hechos por las vibraciones de los motores. Si giran más rápido, la nota será aguda. Si giran más lento, vibrarán menos, y la nota será mas grave. Más precisamente, un motor de pasos (o Stepper Motor) produce vibraciones con mayor intensidad que el resto de motores. Por este motivo es el mejor candidato para hacer música.
Para hacer girar 2 motores, necesitaba dos controladores (o drivers), para poder alimentar a los motores con 12V aún enviando señales de 5V a través de la Raspberry y el Arduino. El Arduino seria la placa que manaría la señal recibida a través del cable USB a los controladores. El cable USB se podría conectar en cualquier ordenador, y el Arduino actuaría como un instrumento MIDI. Pero en este proyecto lo vamos a conectar junto a la Raspberry Pi. De esa forma, podremos elegir las canciones de forma remota.
Todos los componentes se situarán en una caja de madera, para así poder amplificar las vibraciones de los motores y mejorar su acústica, como si de una guitarra se tratara. Se colocarán también algunos botones y LEDs, juntamente con un adaptador de corriente. Para evitar el uso de dos adaptadores de corriente (uno de 5V i uno de 12V), he usado un transformador de 12V (tensión necesaria para los motores) a 5V para alimentar la Raspberry Pi, y así evitarnos un cable.
El botón de encima de la caja fué diseñado para bloquear los motores, así no se sobrecalientan si no están reproduciendo música. Un indicador LED muestra el estado de los motores.
Todos los conceptos anteriores han sido aplicados exitosamente a la maqueta final, en la que, después de sus dos prototipos antecesores, podía reproducir canciones MIDI de la memória de la Raspberry. Solo faltaba la comunicación inalámbrica, en la que estaba experimentando problemas con los drivers MIDI de la Raspberry, y no tenía el conocimiento necesario para canviar ajustes internos de la placa.
Así que, para resolver este problema, en vez de ir a una página web, el usuario se conectaría mediante VNC a la Raspberry Pi, donde allí dentro se encontraría con un reproductor MIDI (que sí que funcionaba) que funcionaria como una interfaz de usuario. Una simple (y no muy elegante) solución, pero que dió sus frutos.
Electrónica dentro de la caja.
Situación actual
El proyecto fué presentado al instituto, con toda la documentación y una pequeña demostración (solo dos canciones). Obtuve la máxima puntuación, un 10, lo que significa que se puede aprender y obtener buenos resultados a la vez.
La maqueta se encuentra en mi habitación, y de vez en cuando escucho alguna canción para recordar lo que hice en su día.
Como con casi todos mis proyectos, podéis ir a ver el código fuente y otros archivos importantes en el repositorio de GitHub. Y si queréis ver la memória del proyecto y la presentación, tendréis que ir a tiny.cc/StepperMotorMusic, donde también encontraréis una pequeña demostración de la maqueta con la canción de Africa, de Toto (todos los documentos están en Francés).
Mejoras planeadas
Todas las cosas que no se han podido implementar debido a la fecha límite (mejor estabilidad inalámbrica, una interfaz de usuario, una opción de playlist, ...) podrían hacerse algún día. Pero, no creo que vuelva a tocar este proyecto, ya que no le veo una necesidad directa.