This project is a fun and educational game that helps players practice binary to decimal conversion. Built with Arduino Uno R3, it challenges players to match binary numbers displayed on LEDs to their decimal equivalents using a keypad.
A demonstration of this project can be viewed on YouTube:
- Arduino Uno R3
- Arduino IDE or PlatformIO
- USB cable for programming
- Required components (as shown in Tinkercad circuit)
- Clone this repository
- Open the project in your preferred IDE
- Configure the project settings as needed
- Build and upload to your microcontroller
Interactive version available on Tinkercad
For detailed schematics, see schematic.pdf
| Reference | Quantity | Component |
|---|---|---|
| U1 | 1 | Arduino Uno R3 |
| Sstart, Sreset | 2 | Pushbutton |
| KEYPAD1 | 1 | 4x4 Keypad |
| Rpot1 | 1 | 250 kΩ Potentiometer |
| D1-D4 | 4 | White LED |
| D5 | 1 | Red LED |
| D6 | 1 | Green LED |
| PIEZO1 | 1 | Piezo Buzzer |
| R5-R10, R12-R13 | 8 | 330 Ω Resistor |
| R11 | 1 | 1 kΩ Resistor |
| - | - | Jumper Wires |
| - | - | Breadboard |
project/
├── src/ # Source code files
├── docs/ # Documentation
│ ├── circuit.jpg # Breadboard circuit diagram
│ └── schematic.pdf # Detailed schematic
├── components.csv # Complete component list
└── README.md # This file
-
Adjust the Number
- Rotate the potentiometer to generate a random number between 0 and 15
- The number will be displayed in binary on the 4 LEDs
-
Start the Game
- Press the Start button to begin
- You'll have 10 seconds to enter the correct decimal number
- The buzzer will beep faster as time runs out
-
Enter Your Guess
- Use the keypad to enter the decimal number
- Press A to clear your input if you make a mistake
- Press D to submit your answer
-
Game Over
- If correct: You win! The LEDs will flash in celebration
- If wrong or time's up: You lose! The correct number will be displayed
- Press the Reset button to play again
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
- Fork the repository
- Create a new branch for your feature (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Created for CSS332 Microcontroller Lab
- Special thanks to the Arduino and Tinkercad communities for their resources and support

