# Random LED Millis

2,178

2

1

The goal of this project is to create 4 LED that turn on randomly based on a random number generator and use an interval based on Millis. To create this project, you will need a push button, 4 led lights and the wires to hook them up.

### Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

## Step 1: Step 1

The first step is pretty simple. Connect 4 LEDs and and a push button to your Arduino. In our code, we will use the pushing of the button to start the LEDs.

An LED will light up after a two second interval as determined but Millis.

A random number generator will decided which led to turn on.

Code:

```unsigned long wait = 2000;unsigned long previousTime = 0;
int buttonPin = 2;
int buttonState = 0;
int previousButton = 0;
int pin1 = 13;
int pin2 = 12;
int pin3 = 11;
int pin4 = 10;
long randomNumber;
boolean led1State = false;
boolean led2State = false;
boolean led3State = false;
boolean led4State = false;```
```void setup()
{
pinMode(buttonPin, INPUT);
pinMode(pin1, OUTPUT);
pinMode(pin2, OUTPUT);
pinMode(pin3, OUTPUT);
pinMode(pin4, OUTPUT);
}```
```void loop()
{
//read the button's state (on or off)
if(buttonState != previousButton)
{
if(buttonState == HIGH)//Button is pressed
{
unsigned long time = millis;
randomNumber = random(0,3);```
```      if(time - previousTime >= wait)
{
switch(randomNumber)
{
case 0:
digitalWrite(pin1, HIGH);
digitalWrite(pin2, LOW);
digitalWrite(pin3, LOW);
digitalWrite(pin4, LOW);
previousTime = time;
break;```
```          case 1:
digitalWrite(pin1, LOW);
digitalWrite(pin2, HIGH);
digitalWrite(pin3, LOW);
digitalWrite(pin4, LOW);
previousTime = time;
break;```
```          case 2:
digitalWrite(pin1, LOW);
digitalWrite(pin2, LOW);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, LOW);
previousTime = time;
break;```
```          case 3:
digitalWrite(pin1, LOW);
digitalWrite(pin2, LOW);
digitalWrite(pin3, LOW);
digitalWrite(pin4, HIGH);
previousTime = time;
break;
}
}

}
}
}```

## Recommendations

• ### Internet of Things Class

22,156 Enrolled

## Discussions

Based on my quick research - in order to understand this a reader would have to know that "millis()" is a system variable that returns the system clock value in milliseconds. WITH that knowledge, the code is easy to understand.

{GCP: beating computers into submission since 1973.}