Δευτέρα 3 Ιανουαρίου 2011

SNES pad με arduino

Βρήκα το παλιό μου Super Nintendo και σκέφτηκα να χρησιμοποιήσω το χειριστήριο του με το Arduino. Ψάχνοντας λίγο βρήκα μια βιβλιοθήκη που κάνει την σύνδεση ανάμεσα στο Arduino και το χειριστήριο. Για την εγκατάσταση της βιβλιοθήκης πήρα τον φάκελο SNESpad και τον έβαλα στον φάκελο libraries του Arduino.
Για να την χρησιμοποιήσουμε από το μενού επιλέγουμε Sketch->Library->SNESpad. Χρησιμοποίησα τον παρακάτω κώδικα για να δώ αν λειτουργεί.
#include snespad.h


SNESpad nintendo = SNESpad(2,3,4);

int state = 0;

void setup() {
  pinMode(5,  OUTPUT);
  pinMode(6,  OUTPUT);
  pinMode(7,  OUTPUT);
  pinMode(8,  OUTPUT);
  pinMode(9,  OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);    
}

void loop() {
  
  state = nintendo.buttons();

  digitalWrite(5,  state & SNES_A );       
  digitalWrite(6,  state & SNES_Y );      
  digitalWrite(7,  state & SNES_SELECT );
  digitalWrite(8,  state & SNES_START );
  digitalWrite(9,  state & SNES_UP );
  digitalWrite(10, state & SNES_DOWN );
  digitalWrite(11, state & SNES_LEFT );
  digitalWrite(12, state & SNES_RIGHT );
}
Βλέπετε ότι καλώ τη συνάρτηση με ορίσματα 2,3,4. Εκεί είναι που βάζουμε τα καλώδια του χειριστηρίου. Η βιβλιοθήκη ορίζει από μόνη της το strobe, output το clock, output και το data, input. Η συνάρτηση buttons βλέπει τι κουμπί πατάμε και δίνει ρεύμα στο κατάλληλο Pin.


back to top