Elegoo Arduino Uno R3- LED Dice
How to build a LED dice using Arduino Uno!
Parts you will need:
- Arduino UNO Board x1
- LED (generic) x6
- Push Button x1
- Jumper Wires x10
- Resistors x7
- Breadboard x1
This project can be used for many different things, games, decision maker, random number generator, etc.
To make the project you must put the materials listed above in the pattern that is shown on the image below:
To get the project working you must install the Arduino software onto your computer.
link to the download: https://www.arduino.cc/en/software
Once downloaded you may enter this code into the website:
/* Arduino Dice :) This example shows how to simulate throwing a dice with 6 LEDs. The circuit: * 6 LEDs attached to consecutive digital pins (with 220 Ohm resistors) * Button switch connected to digital pin (see circuit on https://www.arduino.cc/en/Tutorial/Button) Created 5 Jan 2017 By Esther van der Stappen This example code is in the public domain. */ // set to 1 if we're debugging #define DEBUG 0 // 6 consecutive digital pins for the LEDs int first = 2; int second = 3; int third = 4; int fourth = 5; int fifth = 6; int sixth = 7; // pin for the button switch int button = 12; // value to check state of button switch int pressed = 0; void setup() { // set all LED pins to OUTPUT for (int i=first; i<=sixth; i++) { pinMode(i, OUTPUT); } // set buttin pin to INPUT pinMode(button, INPUT); // initialize random seed by noise from analog pin 0 (should be unconnected) randomSeed(analogRead(0)); // if we're debugging, connect to serial #ifdef DEBUG Serial.begin(9600); #endif } void buildUpTension() { // light LEDs from left to right and back to build up tension // while waiting for the dice to be thrown // left to right for (int i=first; i<=sixth; i++) { if (i!=first) { digitalWrite(i-1, LOW); } digitalWrite(i, HIGH); delay(100); } // right to left for (int i=sixth; i>=first; i--) { if (i!=sixth) { digitalWrite(i+1, LOW); } digitalWrite(i, HIGH); delay(100); } } void showNumber(int number) { digitalWrite(first, HIGH); if (number >= 2) { digitalWrite(second, HIGH); } if (number >= 3) { digitalWrite(third, HIGH); } if (number >= 4) { digitalWrite(fourth, HIGH); } if (number >= 5) { digitalWrite(fifth, HIGH); } if (number == 6) { digitalWrite(sixth, HIGH); } } int throwDice() { // get a random number in the range [1,6] int randNumber = random(1,7); #ifdef DEBUG Serial.println(randNumber); #endif return randNumber; } void setAllLEDs(int value) { for (int i=first; i<=sixth; i++) { digitalWrite(i, value); } } void loop() { // if button is pressed - throw the dice pressed = digitalRead(button); if (pressed == HIGH) { // remove previous number setAllLEDs(LOW); buildUpTension(); int thrownNumber = throwDice(); showNumber(thrownNumber); } }
Once uploaded the project should be working!
In conclusion, this project is fun to make! All the materials needed are included in the Arduino UNO R3 Super Starter Kit. Make sure to stay motivated, and have fun!
Related Stories
https://create.arduino.cc/projecthub/EvdS/led-dice-885cf1?ref=search&ref_id=dice%20led&offset=0
https://create.arduino.cc/projecthub/Englishscone/dicey-59328a?ref=search&ref_id=led%20dice&offset=3