IoT EXP1
IoT EXP1
Design a program to control a set of 6 different color LEDs connected to an Arduino Uno. Assign the LEDs the
names L1 to L6. Use appropriate resistors to protect the LEDs. Ensure that there is a delay of 300 milliseconds
between each step.
void setup() {
// Set all LED pins as output
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(L5, OUTPUT);
pinMode(L6, OUTPUT);
}
void loop() {
// Turn on all LEDs simultaneously
digitalWrite(L1, HIGH);
digitalWrite(L2, HIGH);
digitalWrite(L3, HIGH);
digitalWrite(L4, HIGH);
digitalWrite(L5, HIGH);
digitalWrite(L6, HIGH);
delay(300); // 300 ms delay
}
b. Turn off all LEDs (L1 to L6).
Coding:
void setup() {
// Set all LED pins as output
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(L5, OUTPUT);
pinMode(L6, OUTPUT);
}
Void loop(){
//Turn off all LEDs
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
digitalWrite(L3, LOW);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
digitalWrite(L6, LOW);
delay(300); // 300 ms delay
}
c. Make all LEDs blink simultaneously with a one-second delay.
Coding:
void setup() {
// Set all LED pins as output
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(L5, OUTPUT);
pinMode(L6, OUTPUT);
}
Void loop(){
//Blink all LEDs simultaneously with a one-second delay
digitalWrite(L1, HIGH);
digitalWrite(L2, HIGH);
digitalWrite(L3, HIGH);
digitalWrite(L4, HIGH);
digitalWrite(L5, HIGH);
digitalWrite(L6, HIGH);
delay(1000); // 1 second delay
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
digitalWrite(L3, LOW);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
digitalWrite(L6, LOW);
delay(1000); // 1 second delay
}
d. LEDs L1, L3, and L5 should be on for 2 seconds, while LEDs L2, L4, and L6 should be on for 3
seconds.
Coding:
void setup() {
// Set all LED pins as output
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(L5, OUTPUT);
pinMode(L6, OUTPUT);
}
Void loop(){
digitalWrite(L1, HIGH);
digitalWrite(L3, HIGH);
digitalWrite(L5, HIGH);
delay(2000); // 2 seconds delay
}
5. Learning outcomes (What I have learnt):
1. Understand how LEDs work, including the importance of correctly orienting the anode and cathode
2. Learned to calculate and select appropriate resistors for use with LEDs to ensure safe operation.
3. Understand how to control digital pins using the digitalWrite() function to turn LEDs on and off.
4. Learned to use the delay() function to create time intervals between operations.