Skip to content

Librería para leer mandos de NES y SNES y simular un Joystick USB

Notifications You must be signed in to change notification settings

MiguelAngelLV/ardunes

Repository files navigation

ArduNES

ArduNES es una librería encargada de leer los gamepads de NES y SNES desde un Arduino y simular un Joystick virtual en un PC.

Partiendo del código de NESPad he creado una librería más fácil de utilizar y con la posibilidad de no solo leer el pad, si no simular uno en PC.

Requisitos

Para simular un Joystick es necesario una placa con chip ATMega32u4, como la Leonardo, puesto que estas permiten simular un disposito HID directamente.

Si la placa no soporta este modo, aún podrás usarlo para leer valores de los mandos (Evita usar los métodos initJoystick y setJoystick).

Uso

Lo primero es copiar los archivos del carpeta core, USBHID.cpp y USBAPI.h, en las librerías de arduino:

[carpeta de arduino]/hardware/arduino/cores/arduino

Después basta con crear una objeto del tipo NesController o SnesController indicando en que pines de Arduno están conectados el storbe, clock y el data y listo.

#include "NintendoPads.h"
#include "SNESController.h"

#define CLOCK 	4
#define STORBE 	5
#define DATA    6

SNESController snes(CLOCK, STORBE, DATA);

void setup() {
    //Inicializamos el Joystick
	snes.initJoystick();
}

void loop(){
	//Leemos los datos del mando
	snes.update();
	//Actualizamos el joystick con
	//los datos leídos
	snes.setJoyStick();
}

Si queremos usralo solo para leer los datos del pad, podemos usar los métodos específicos para cada botón.

#include "NESController.h"

#define CLOCK 	4
#define STORBE 	5
#define DATA    6

#define LED_A	10
#define LED_B	11

NESController nes(CLOCK, STORBE, DATA);


void setup() {
	pinMode(LED_A, OUTPUT);
	pinMode(LED_B, OUTPUT);
}

void loop(){

	nes.update();

	if (nes.isA())
		digitalWrite(LED_A, HIGH);
	else
		digitalWrite(LED_A, LOW);
	
	if (nes.isB())
		digitalWrite(LED_B, HIGH);
	else
		digitalWrite(LED_B, LOW);
		
}

PINS

NES

SNES

About

Librería para leer mandos de NES y SNES y simular un Joystick USB

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages