Tocar música con tu retro-joystick

Si ya tenes tu adaptador de joystick a USB podes convertirlo en un piano, guitarra, teclado, órgano, xilófono, etc.

Joystick de family - original https://github.com/taalas/RetroPie-Artwork/tree/master/InputStation_Diagrams

Cada botón del joystick se corresponde a una nota musical, como se ve en la imagen. Para cambiar de octava se aprieta “select”. Empieza desde la octava más grave y sube hasta la más aguda. Al llegar a la más aguda, empieza a bajar nuevamente hacia las más graves de nuevo.

Para usar esta versión del retro-joystick lo primero que vamos a necesitar es saber como funciona Digispark.

Sí ya lo sabemos estamos listos para descargar el archivo:

vmpk-0.3.0-linux-big

Si todo salio bien, ahora nuestro “joystick” es un teclado que al presionarla flecha escribe letras, estas letras con las que vmpk va a usar para tocar música. Así que debemos descargarlo y correrlo en nuestra máquina.

Digispark – microarduino

Para poder programar esta pequeña versión de Arduino vamos a necesitar una versión de Arduino bastante nueva. Este programa es libre y gratuito así que podemos descargarlo Asegúrate de bajar la versión correcta para tu computadora y sistema operativo. Una vez descargado correrlo es muy simple, no requiere instalación, solo expandir el zip y con un simple doble clic basta para correrlo.

Digistump

Para instalar Digistump vamos a tenes que agregar los siguiente en las preferencias del arduino:

http://digistump.com/package_digistump_index.json

2016-05-09-163727_1024x600_scrot

Una vez agregado en el menu de Herramientas -> Placas -> Gestión de Hardware buscamos Digistump y la agregamos:

2016-05-09-164245_1024x600_scrot

2016-05-09-163834_1024x600_scrot

Ahora vamos a agregar el Digistump a las placas disponibles en arduino. Ir a Herramientas -> Placas y agregar “Digistump 16mhz”

2016-02-10-205534_1024x600_scrot

Ahora elegimos en el menú de Herramientas en la opción de Placa “digispark (default 16.5hz)” y en el mismo menu en la opción de Programador “Micronucleus”

Probarlo

Ahora podemos abrir un programa de “digispark” y cargarlo en nuestra placa, aquí un pequeño ejemplo, que convierte nuestra placa en un teclado:

#include "DigiKeyboard.h"
void setup() {
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.println("Vivan las maquinas libres!");
}

Al presionar el botón de cargar el programa hay que desconectar la placa y volverla a conectar, digispark usa esa técnica para reconocer el dispositivo durante la carga del programa.

En linux

Si usamos linux tenemos que agregar esto en /etc/udev/rules.d/49-micronucleus.rules para tener acceso a dispositivo:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"


Más datos en digistump


Retro Joystick

Si tenes un retro-joystick dentro del él se oculta un pequeño attiny85 programable que podes modificar a tu antojo. acá hay algunos ejemplos de lo que hicimos nosotros.