Go Down

Topic: Everybody hates Newbies...BUT (Read 620 times) previous topic - next topic

Diggs247

I am new to electronics, have some experience of C++ programming. I foolishly volunteered to build a game, someone suggested Arduino. The game I planned was to have six LEDs on a panel, with six pushbuttons, one associated with each LED. When you push the start button, a random LED will flash, and you have to push it's button within say 500ms. If you do, you get a green LED, and the game continues for four more goes (5 green LEDs). Get 5 greens and you win. If you dont push the button in time, you get a red LED and the game ends. I am sure an Arduino chip can do this, but does anyone have a circuit diagram they would lend me. Many thanks for your patience.

Chagrin

http://www.arduino.cc/en/Tutorial/button shows how to use a button.
http://www.arduino.cc/en/Tutorial/Blink shows how to use an LED.


oric_dan

Quote
Everybody hates Newbies...


Don't feel so bad. We were all noobees once. Besides, electronics is 10X harder than programming.

CrossRoads

So, 6 push buttons, plus a start/reset? and 12 LEDs, that's easy electronics.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Grumpy_Mike

Quote
anyone have a circuit diagram they would lend me.

I have but you must prommiss to give it me back.  ]:D

Sorry coudn't resist.

CrossRoads

circuit design
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

oric_dan

Quote
http://www.arduino.cc/en/Tutorial/Blink shows how to use an LED.


Since OP is an experienced programmer, he will certainly be able to appreciate the 'BlinkWithoutDelay'
sketch found in the IDE under "Files > Examples > 2.Digital". Especially as the game will need something
akin to real-time response.

CrossRoads

I don't imagine it will that difficult - you turn on a  LED, do a direct port read of PORTD, watch for any of bits 2-3-4-5-6-7 to go low, see if the One that went low was the correct one. If more than One went,  user erred or was cheating, Red LED & game over.
Code: [Select]

if ( (PORTD & B11111100) == B11111100){
// no button pressed yet, keep looping
}
else{
// see if pressed button matches lit LED, let game continue, or turn on RED LED.
}
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy