/*
==== Task 2 - RGB Colour Cycle Using a Function ====
Author: Roberto Palozzo
====================================================
*/
int redPin = 14; // Pin connected to the red LED
int greenPin = 18; // Pin connected to the green LED
int bluePin = 17; // Pin connected to the blue LED
// Turns on a single LED for "onTime" ms, then turns it off
void showColor(int pin, int onTime) {
digitalWrite(pin, HIGH); // turn LED on
delay(onTime); // keep it on
digitalWrite(pin, LOW); // turn LED off
}
// Turns on all three LEDs together to make white light
void showWhite(int onTime) {
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, HIGH);
delay(onTime); // keep white light on
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
}
void setup() {
Serial.begin(115200); // start serial communication (for debugging)
pinMode(redPin, OUTPUT); // set red pin as output
pinMode(greenPin, OUTPUT); // set green pin as output
pinMode(bluePin, OUTPUT); // set blue pin as output
}
void loop() {
showColor(redPin, 500); // show red for 500 ms
showColor(greenPin, 500); // show green for 500 ms
showColor(bluePin, 500); // show blue for 500 ms
showWhite(500); // show white for 500 ms
}