bruno_opaiva
Published © GPL3+

Simple LED Dice with "random" function

This project will show how to do a simple LED Dice and a button, using the "random()" function on Arduino IDE. Enjoy!

BeginnerFull instructions provided2,663
Simple LED Dice with "random" function

Things used in this project

Story

Read more

Schematics

Squematic

Circuit squematic, using TinkerCAD

Code

Code

C#
Use with IDE Arduino
//delay time variable
#define d 200
//led pins:
int led1=3; 
int led2=4;
int led3=5;
int led4=6;
int led5=7;
int led6=8;
//button pin:
int button=2;
//variable of the result:
int result;
void setup() {
  //leds as OUTPUT
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  //button as INPUT_PULLUP (sends LOW when pressed)
  pinMode(button, INPUT_PULLUP);
  
}

void loop() {
  if(digitalRead(button)==LOW){ //if button pressed:
    result=random(7); //result will generate a random number between 0 and 6
    //random function just select a random number
  }
  switch(result){
        case 0: //case result = 0
        //leds turn off
         digitalWrite(led6, LOW);
         digitalWrite(led5, LOW);
         digitalWrite(led4, LOW);
         digitalWrite(led3, LOW);
         digitalWrite(led2, LOW);
         digitalWrite(led1, LOW); 
         delay(d);       //wait 200 milliseconds
          break;
        case 1: //case result = 1
        //one led turn on
         digitalWrite(led6, HIGH);
         digitalWrite(led5, LOW);
         digitalWrite(led4, LOW);
         digitalWrite(led3, LOW);
         digitalWrite(led2, LOW);
         digitalWrite(led1, LOW); 
         delay(d);         //wait 200 milliseconds       
          break;
        //two leds turn on
        case 2: //case result = 2  
          digitalWrite(led6, HIGH);
          digitalWrite(led5, HIGH);        
          digitalWrite(led4, LOW);
          digitalWrite(led3, LOW);
          digitalWrite(led2, LOW);
          digitalWrite(led1, LOW);   
          delay(d);      //wait 200 milliseconds
          break;
        //three leds turn on
        case 3:  //case result = 3
          digitalWrite(led6, HIGH);
          digitalWrite(led5, HIGH);      
          digitalWrite(led4, HIGH);
          digitalWrite(led3, LOW);
          digitalWrite(led2, LOW);
          digitalWrite(led1, LOW);   
          delay(d);     //wait 200 milliseconds   
          break;
          //four leds turn on
        case 4:  //case result = 4
          digitalWrite(led6, HIGH);   
          digitalWrite(led5, HIGH);      
          digitalWrite(led4, HIGH);
          digitalWrite(led3, HIGH);
          digitalWrite(led2, LOW);
          digitalWrite(led1, LOW);    
          delay(d);    //wait 200 milliseconds
          break;
          //five leds turn on
        case 5: //case result = 5
          digitalWrite(led6, HIGH); 
          digitalWrite(led5, HIGH);      
          digitalWrite(led4, HIGH);
          digitalWrite(led3, HIGH);
          digitalWrite(led2, HIGH);
          digitalWrite(led1, LOW);   
          delay(d);   //wait 200 milliseconds   
          break;
          //six leds turn on
        case 6: //case result = 6
          digitalWrite(led6, HIGH);
          digitalWrite(led5, HIGH);      
          digitalWrite(led4, HIGH);
          digitalWrite(led3, HIGH);
          digitalWrite(led2, HIGH);
          digitalWrite(led1, HIGH);
          delay(d);       //wait 200 milliseconds 
          break;         
  }
}

Credits

bruno_opaiva
6 projects • 4 followers
Contact

Comments

Please log in or sign up to comment.