La gracia es que aparecieron unos cuantos mandos y una pistola (que aun no se si me servirá para algo o no, ya veré) y para ir tirando me vale; la idea es en un futuro usar algún mando por bluetooth, wifi, radiofrecuencia... pero para ir enredando y mientras me voy haciendo con mas componentes me vale.
Para el mando de la NES (y similares como el de la NASA) hay una librería para arduino, la NESpad, que con dos sencillas ordenes podemos controlar el funcionamiento del mando.
Lo primero es diferenciar claramente cual es cada unos de los pines, para eso, nada mejor que la imagen con la posición de los pines que tienen en la web de la librería.
Y conectar cada cable según la siguiente tabla que también esta en la web, los pines digitales no tienen por que ser el 2,3,4; se puede conectar a los tres que se necesiten y a la hora de inicializarlo solo hay que pasarle los numero de pines que se van a usar:
Pin del Mando | Color del cable | Pin de Arduino |
STROBE | Verde | Digital 2 |
CLOCK | Azul | Digital 3 |
DATA | Marrón | Digital 4 |
+5V | Naranja | +5V |
GND | Negro | GND |
En mi caso y después de varios intentos de errores y de volverse loco el arduino, opte por cortar el cable del mando y todos los errores se solucionaron.
Una vez conectado ya podemos comprobar el funcionamiento con el siguiente código:
#include <NESpad.h> //Pines Digitales (strobe/clock/data) NESpad mando = NESpad(2,3,4); byte state = 0; void setup() { Serial.begin(9600); } void loop() { state = mando.buttons(); if (state & NES_A ){ Serial.println("LETRA A"); } else if (state & NES_B ) { Serial.println("LETRA B"); } else if (state & NES_SELECT ) { Serial.println("SELECT"); } else if (state & NES_START ) { Serial.println("START"); } else if (state & NES_UP ) { Serial.println("UP"); } else if (state & NES_DOWN ) { Serial.println("DOWN"); } else if (state & NES_LEFT ) { Serial.println("LEFT"); } else if (state & NES_RIGHT ) { Serial.println("RIGHT"); }; delay(10); }
En cuanto tenga un ratito libre pongo un ejemplo de uso del mando con unos servos que tengo por aquí.
No hay comentarios:
Publicar un comentario