Project 1.02 Simple LED Chase
In this project we will use all four LEDs to blink a chase pattern. This example shows a very simple way to create a pattern using digitalWrites and delays.
Project Code:
///////////////////////////////////////////////// // Project 1.02 LED Chase byte LED1 = 13; byte LED2 = 6; byte LED3 = 7; byte LED4 = 8; void setup() { pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); } void loop() { digitalWrite(LED4, LOW); digitalWrite(LED1, HIGH); delay(250); digitalWrite(LED1, LOW); digitalWrite(LED2, HIGH); delay(250); digitalWrite(LED2, LOW); digitalWrite(LED3, HIGH); delay(250); digitalWrite(LED3, LOW); digitalWrite(LED4, HIGH); delay(250); } /////////////////////////////////////////////////
*If you’re copying and pasting the code, or typing from scratch, delete everything out of a new Arduino sketch and paste / type in the above text.
Here we set the four variables needed to represent the pins that the LEDs are attached to:
byte LED1 = 13; byte LED2 = 6; byte LED3 = 7; byte LED4 = 8;
Next, we need to tell the microcontroller that these pins are outputs:
void setup() { pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); }
After that, we can sequentially turn on and off the LEDs to represent a chase pattern. To do this, we have to turn the last LED off, the next LED on, and then wait.
void loop() { digitalWrite(LED4, LOW); digitalWrite(LED1, HIGH); delay(250); digitalWrite(LED1, LOW); digitalWrite(LED2, HIGH); delay(250); digitalWrite(LED2, LOW); digitalWrite(LED3, HIGH); delay(250); digitalWrite(LED3, LOW); digitalWrite(LED4, HIGH); delay(250); }
What you may have noticed about the code above is that something happened over and over again. Usually, when things happen over and over again, it is a sign that it should be in some kind of loop and/or function.