Main Menu

Secondary Menu

Author Options:

Trying to do a project for a class using the Arduino Uno, a Genesis controller, and a Wii Nunchuck? Answered

Trying to do a project for a class using the Arduino Uno, a Genesis controller, and a Wii Nunchuck. Full info can be found here: http://arduino.cc/forum/index.php/topic,60245.0.html

Unfortunately my lack of coding skills have proven to act as a pretty massive roadblock in getting any further. Any help would be greatly appreciated.

Right now my main concern is just getting the Genesis controller to work with the Arduino, if I can just get that far I can probably figure out the rest by myself (and there are other classmates working on Wii nunchuck projects as well that I'm working with so once we've got their projects figured out I can probably apply simular, if not the same, solution to my project.)

4 Replies

Websearch for "genesis controller circuit" finds a number of relevant items, including a fairly complete description of its behavior at

http://www.cs.cmu.edu/~chuck/infopg/segasix.txt

and some schematics for adapting the Genesis to other game systems.

Given that, you should be able to hook its outputs to a set of digital input pins on the Uno. Then it's a matter of checking the status of those bits each time you go around the loop, and responding appropriately.

There still is the issue in regards to getting the coding right (Needless to say I am NOT a programming major of ANY kind, and I've never been any good at it despite repeated attempts to learn) but at least from this point forward most problems should be on a software end.

One thing I'm not to sure on though is were Pin 7, the select signal, should be connected. Right now my assumption would be either the AREF or GND along the Digital Row on the Arduino.

make 'select' low, then read the values of 1 2 3 4 6 9 and store in variables. Make select high, and repeat that read to a different set of variables. (its now reading the other values from the same pins). Note how up and down are duplicated, also we can ignore reading logic low.

pseudocode:

declare the variables 'booletc' below as global variables so the whole program can see them.