Hi guys I'm pretty new to this kind of project, I've done some very very entry level VBasic stuff before in school, I know how to solder pretty well, and I've made custom arcade sticks before, but this one got me a bit creative, and I've never really put all these skills together before.
The arcade stick is pretty straight forward, it's a PS3 fight stick, I'm planning on using an UNO for the UNOJoy. I need 14 buttons, so I guess I'll be using some of the analog pins as digital ones?
This is where it gets confusing for me at least. I want the arduino to read my input, so when I input 1 of 2 certain button sequences, (Light Punch, Light Punch, Forward or Backward, Light Kick, Heavy Punch), it will turn on a bunch of LEDS inside my fightstick.
The LEDs will be mounted behind a very very thin wood veneer on the top of the stick, so when they are lit, the light will shine through the seemingly solid wood top. Also I want to use like 20-30 of them to make sure the effect is BRIGHT. I only need them on for a few seconds, and then to fade out.
I think a capacitor would be good for this, and then I can use a transistor or a relay to activate this circuit, using only 1 pin on the Arduino. Or I might be completely full of it. I don't know. Thats why I'm here.
Define what you want better.
You recognize there are 20 IO pins.
You say 14 buttons - then you list 6 specifically.
I can't tell how many groups of LEDs there will be. Just 1? And they turn on in different ways depending on the button(s) pressed?
I'm making one of these to connect to a Playstation 3. Someone else has created a firmware/library for the Arduino UNO called the UNOJoy. I will be be using this to make the Arduino compatible with the Playstion.
For that, All I'd have to do is map buttons to pins and load the firmware.
The special sauce, and entire reason I'm using an Arduino, is to turn on 20-30 LEDs at the same time once I press a certain button "combo". I want to press these buttons in this order say "1, 1, 3, 5, 9" and then have the LEDs turn on. I want the LEDs to turn on, and then fade out after about 10 seconds. I would like to control the LEDs using only 1 pin if possible, since I'm using the majority of them for buttons.
What I'm having trouble with basically is designing the circuit for the LEDs, and how I'm going to turn them on using the Arduino using only 1 pin.
Wire the LEDs in parallel from 5V source with current limit resistor for each, use NPN transistor: collector to LED cathodes, emitter to Gnd.
30 LEDs at 20mA each is 600mA. N-Channel MOSFET like AOI518 from digikey.com would also work quite well.
PWM pin from Arduino with 270 series resistor to NPN gate.
Code to change PWM from from 255 down to 0 to fade out.