STEPPER MOTOR MUSIC
Amb control via Wi-Fi i fitxers MIDI.
Què és?
Vaig tenir la oportunitat de desenvolupar aquest projecte com a Treball de Recerca del Batxillerat Tecnològic que vaig cursar, quan tenia 16-17 anys. Al tenir dates límit, vaig haver d'anar una mica més a la idea del que m'hauria agradat.
La idea de fer un TDR sobre el fenòmen de la música amb motors de pas (en anglès, Stepper Motor Music) em va venir després de veure un vídeo a YouTube on es tocava la cançó de You've got a friend in me en 4 motors de pas. Vaig pensar que seria una bona idea provar de fer pel meu compte una maqueta de SMM.
El SMM s'anomena així perquè els sons es generen amb les vibracions dels motors (si el motor mira més ràpid, el so és més agut, en canvi, si gira més lent, el motor vibra menys, i el so és més greu). Més precisament, un motor de pas vibra amb molta més intensitat que la resta de motors. Per això és un bon candidat per a fer música.
Per a fer girar els dos motors que volia tenir a la meva maqueta, necessitava dos controladors (o drivers) de motors de pas, per a que els motors puguin funcionar a 12V, però que la resta de components, com l'Arduino o la Raspberry Pi funcionin a 5V. Una placa Arduino serà l'encarregada de controlar els dos drivers, i es comportarà com un dispositiu MIDI al estar connectada via USB a una Raspberry Pi 3B. Llavors, a través de la Raspberry, podrem escollir les cançons mitjançant una connexió WiFi.
Tots aquests components estaran situats dintre d'una caixa de fusta. D'aquesta manera, el so dels motors serà amplificat com si d'una guitarra es tractés. Afegirem alguns botons i LEDs per a engegar i apagar els dispositius, i també farem servir un adaptador de 12V a 5V per a evitar d'haver de connectar dos cables dintre de la caixa (així només ens en farà falta un de 12V).
El botó de sobre la caixa bloqueja els motors, per a evitar que es sobrecalentin quan no estan tocant música. Un indicador LED mostra si es troben bloquejats o no.
Tots aquests conceptes explicats anteriorment van ser implementats per a dissenyar i construir la maqueta. Després de dos prototips (veure memòria del projecte), es va acabar amb el producte final. Només em faltava programar la habilitat de controlar de forma remota l'aparell, però estava tenint problemes amb els drivers de MIDI quan els posava dintre del fitxer de Python. Com que tampoc tenia gaire temps, vaig pensar que la solució més intel·ligent seria de no modificar cap fitxer intern i buscar alternatives.
Per a solucionar aquest problema, enlloc d'anar en una pàgina web (com es tenia planejat), l'usuari es connectaria mitjançant l'aplicació VNC a la Raspberry Pi, on a dintre es trobaria el reproductor de MIDI i la seva simple pero funcional interfaç. Una solució simple (i no gaire elegant), però que va salvar el TDR.
Interior de la maqueta final.
Situació actual
El projecte es va presentar a l'institut, juntament amb la memòria i una petita demostració en directe (dues cançons). Vaig treure un 10 de nota final, pel que demostra que aprendre i tenir bons resultats és compatible!
Actualment, la maqueta es troba en la meva habitació, i de vegades l'engego per escoltar alguna cançó i recordar el projecte que vaig fer.
Com amb quasi tots els meus projectes, podeu anar a comprovar el codi font i els fitxers importants al repositori de GitHub. I si voleu veure la memòria del projecte, podeu anar a tiny.cc/StepperMotorMusic, on també hi trobareu una demostració de la maqueta amb la cançó de Africa, de Toto (tots els documents estan en francès).
Futures millores
Totes les coses que no es van poder dur a terme degut a la data limit (més estabilitat WiFi, una GUI, seleccionar llistes de reproducció, ...) es podrien fer com a ampliacions. Però no crec que em posi de nou a treballar en aquest projecte, ja que tampoc hi veig una necessitat directa.