Go Down

Topic: Everybody hates Newbies...BUT (Read 534 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


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. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

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

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

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. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Go Up