4.) write an UNO program that will create an LED light chaser/ flasher pattern f
ID: 2082693 • Letter: 4
Question
4.) write an UNO program that will create an LED light chaser/ flasher pattern for an Easter Egg shaped LED circuit that features all 5 standard LED colors (red, blue, green, yellow and orange) Your Easter EGG should have at least 40 LEDs .The code should allow the LED's to flash on/off in several different patterns and also create a "light chaser "effect, in which various parts of the EGG turn on one after another (with slight variable delay between each LED turn on) and then turn off again one after another similar to falling dominoes. For the optimum light show, it is recommended that you use five UNO microcontrollers, with each UNo controlling at least 10 LED's. Note you can add more LED's to the circuit by using pairs of parallel connected LED's. Note that the colors of the wires that connect the UNO output pins to the LED's should have a color that complements your lighting design (e.g. for an Easter Egg laying on the grass, the wires should all be colored green). Note that No more than two parallel wired LED's should be connected to a single UNO output pin to avoid overcurrent damage NOTE: you can make other patterns that have an Easter theme, such as an Easter Rabbit or basket, if you wish.Explanation / Answer
Solution:
UNO program:
#define L10 10
#define L9 9
#define L8 8
#define L7 7
#define L6 6
#define L5 5
#define L4 4
#define L3 3
#define L2 2
#define L1 1
void setup()
{
pinMode(L10, OUTPUT);
pinMode(L9, OUTPUT);
pinMode(L8, OUTPUT);
pinMode(L7, OUTPUT);
pinMode(L6, OUTPUT);
pinMode(L5, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L1, OUTPUT);
}
void loop()
{
digitalWrite(L10, LOW);
digitalWrite(L9, LOW);
digitalWrite(L8, LOW);
digitalWrite(L7, LOW);
digitalWrite(L6, LOW);
digitalWrite(L5, LOW);
digitalWrite(L4, LOW);
digitalWrite(L3, LOW);
digitalWrite(L2, LOW);
digitalWrite(L1, LOW);
// doubles skipping
digitalWrite(L1, HIGH);
delay(250);
digitalWrite(L1, LOW);
digitalWrite(L2, HIGH);
digitalWrite(L3, HIGH);
delay(250);
digitalWrite(L2, LOW);
digitalWrite(L3, LOW);
digitalWrite(L4, HIGH);
digitalWrite(L5, HIGH);
delay(250);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
digitalWrite(L6, HIGH);
digitalWrite(L7, HIGH);
delay(250);
digitalWrite(L6, LOW);
digitalWrite(L7, LOW);
digitalWrite(L8, HIGH);
digitalWrite(L9, HIGH);
delay(250);
digitalWrite(L8, LOW);
digitalWrite(L9, LOW);
digitalWrite(L10, HIGH);
delay(250);
digitalWrite(L10, LOW);
delay(250);
digitalWrite(L10, HIGH);
delay(250);
digitalWrite(L10, LOW);
digitalWrite(L8, HIGH);
digitalWrite(L9, HIGH);
delay(250);
digitalWrite(L8, LOW);
digitalWrite(L9, LOW);
digitalWrite(L6, HIGH);
digitalWrite(L7, HIGH);
delay(250);
digitalWrite(L6, LOW);
digitalWrite(L7, LOW);
digitalWrite(L4, HIGH);
digitalWrite(L5, HIGH);
delay(250);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
digitalWrite(L2, HIGH);
digitalWrite(L3, HIGH);
delay(250);
digitalWrite(L2, LOW);
digitalWrite(L3, LOW);
digitalWrite(L1, HIGH);
delay(250);
digitalWrite(L1, LOW);
digitalWrite(L7, HIGH);
delay(1000);
digitalWrite(L8, HIGH);
digitalWrite(L6, HIGH);
delay(1000);
digitalWrite(L9, HIGH);
digitalWrite(L5, HIGH);
delay(1000);
digitalWrite(L10, HIGH);
digitalWrite(L4, HIGH);
delay(1000);
digitalWrite(L3, HIGH);
digitalWrite(L2, HIGH);
delay(1000);
digitalWrite(L1, HIGH);
delay(1000);
digitalWrite(L10, LOW);
digitalWrite(L9, LOW);
digitalWrite(L8, LOW);
digitalWrite(L7, LOW);
digitalWrite(L6, LOW);
digitalWrite(L5, LOW);
digitalWrite(L4, LOW);
digitalWrite(L3, LOW);
digitalWrite(L2, LOW);
digitalWrite(L1, LOW);
digitalWrite(L1, HIGH);
delay(500);
digitalWrite(L2, HIGH);
delay(500);
digitalWrite(L3, HIGH);
delay(500);
digitalWrite(L10, HIGH);
digitalWrite(L4, HIGH);
delay(500);
digitalWrite(L9, HIGH);
digitalWrite(L5, HIGH);
delay(500);
digitalWrite(L8, HIGH);
digitalWrite(L6, HIGH);
delay(500);
digitalWrite(L7, HIGH);
delay(500);
digitalWrite(L10, LOW);
digitalWrite(L9, LOW);
digitalWrite(L8, LOW);
digitalWrite(L7, LOW);
digitalWrite(L6, LOW);
digitalWrite(L5, LOW);
digitalWrite(L4, LOW);
digitalWrite(L3, LOW);
digitalWrite(L2, LOW);
digitalWrite(L1, LOW);
digitalWrite(L10, HIGH);
delay(150);
digitalWrite(L9, HIGH);
delay(150);
digitalWrite(L8, HIGH);
delay(150);
digitalWrite(L7, HIGH);
delay(150);
digitalWrite(L6, HIGH);
delay(150);
digitalWrite(L5, HIGH);
delay(150);
digitalWrite(L4, HIGH);
delay(150);
digitalWrite(L3, HIGH);
delay(150);
digitalWrite(L2, HIGH);
delay(150);
digitalWrite(L1, HIGH);
delay(150);
digitalWrite(L10, LOW);
delay(150);
digitalWrite(L9, LOW);
delay(150);
digitalWrite(L8, LOW);
delay(150);
digitalWrite(L7, LOW);
delay(150);
digitalWrite(L6, LOW);
delay(150);
digitalWrite(L5, LOW);
delay(150);
digitalWrite(L4, LOW);
delay(150);
digitalWrite(L3, LOW);
delay(150);
digitalWrite(L2, LOW);
delay(150);
digitalWrite(L1, LOW);
delay(150);
// slow line top to bottom
digitalWrite(L10, HIGH);
delay(1500);
digitalWrite(L9, HIGH);
delay(1500);
digitalWrite(L8, HIGH);
delay(1500);
digitalWrite(L7, HIGH);
delay(1500);
digitalWrite(L6, HIGH);
delay(1500);
digitalWrite(L5, HIGH);
delay(1500);
digitalWrite(L4, HIGH);
delay(1500);
digitalWrite(L3, HIGH);
delay(1500);
digitalWrite(L2, HIGH);
delay(1500);
digitalWrite(L1, HIGH);
digitalWrite(L3, LOW);
delay(1500);
digitalWrite(L9, LOW);
digitalWrite(L8, LOW);
delay(1500);
digitalWrite(L7, LOW);
digitalWrite(L6, LOW);
delay(1500);
digitalWrite(L5, LOW);
digitalWrite(L4, LOW);
delay(1500);
digitalWrite(L3, LOW);
digitalWrite(L2, LOW);
delay(1500);
digitalWrite(L1, LOW);
delay(1500);
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.