Simon Says Memory Game With Arduino
by TechMartian in Circuits > Arduino
2486 Views, 11 Favorites, 0 Comments
Simon Says Memory Game With Arduino
This is a memory game made with an Arduino where you repeat the pattern that the coloured LED emits just like the Kid's game "Simon Says," but in a smaller form factor DIY style!
If you're looking to improve your memory skills to just want to play a challenge with your Arduino this is the project for you.
BoM
* Arduino
* Push Buttons
* RGB LED
* Breadboard
* Wires
Wiring
Follow the table below on how to wire the electronics components to the Arduino with additional help from the reference images above. The wire colours and description is also provided below.
I/O | I/O Pin # | Wire Colour / Description | Arduino pin# |
---|---|---|---|
Red Push Button | 1 | Ground Rail | GND |
2 | White | 10 | |
- | - | - | - |
Blue Push Button | 1 | Ground Rail | GND |
2 | Grey | 12 | |
- | - | - | - |
Green Push Button | 1 | Ground Rail | GND |
2 | Blue | 11 | |
- | - | - | - |
RGB LED | 1 | Right of Longest Pin - RED | 9 |
2 | Longest Pin | GND | |
3 | Centre next to Longest Pin - Green | 5 | |
4 | Farthest from Longest Pin - Blue | 4 |
Code
const int bred = 10;
const int bgreen = 12; const int bblue = 11;
//rgb led const int red = 9; const int green =5 ; const int blue = 4;
int point = 0;
void setup() { pinMode (bred, INPUT); pinMode (bgreen, INPUT); pinMode (bblue, INPUT);
pinMode (red, OUTPUT); pinMode (green, OUTPUT); pinMode (blue, OUTPUT);
}
void loop() { int randomN = random(1,3); // min max
if (randomN == 1) { digitalWrite (red, HIGH); if (digitalRead (bred) == LOW){point +=1;} } else if (randomN == 2){ digitalWrite (green, HIGH); if (digitalRead (bgreen) == LOW){point +=1;} } else if (randomN ==3) { digitalWrite (blue, HIGH); if (digitalRead (bblue) == LOW){point +=1;} } else { digitalWrite (red, LOW); digitalWrite (green, LOW); digitalWrite (blue, LOW); } }
Enjoy!
Hash out your memorizing skills with this game and enjoy!