/* SPH3U SPH4C LEDs Blinking Sample 2018 02 24 */ void setup() { pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode(9, OUTPUT); pinMode(8, OUTPUT); pinMode(7, OUTPUT); } void loop() { // LR = Left Red LED on digital pin 12 (red wires) // LY = Left Yellow LED on digital pin 11 (yellow // wires) // LG = Left Green LED on digital pin 10 (green // wires) // MG = Middle Green LED on digital pin 8 (orange // wires) // MB = Middle Blue LED on digital pin 9 (white // wires) // RRRB = Right Red and Right Blue LEDs on digital // pin 7 (blue wires) // LR, LY, LG, MG, MB are each in series with a 330 // ohm resistor // RRRB Right Red in series with a 330 ohm resistor // and Right Blue in series with a 330 ohm resistor // are then in parallel with each other // First section of code // This code will turn on LR for 1500 ms // Then turn off LR and turn on LG for 2000 ms // Then turn off LG and turn on LY for 1000 ms // Then turn on LR for 500 ms // Then turn on LR, LY and LG for 500 ms // This ends the left side red, yellow and green // LEDs digitalWrite(12, HIGH); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(1500); // Wait for 1500 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(2000); // Wait for 2000 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, HIGH); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(1000); // Wait for 1000 millisecond(s) digitalWrite(12, HIGH); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(500); // Wait for 500 millisecond(s) digitalWrite(12, HIGH); digitalWrite(11, HIGH); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(500); // Wait for 500 millisecond(s) // Second section of code // This code will turn on RRRB for 3000 ms // and alternately blink MB and MG at 500 ms // intervals during the 3000 ms // then turn off RRRB (RRRB is a pair of LEDs in // parallel, // one red and one blue) // the turn on LR, LY, and LG for 500 ms // to indicate the end of this subroutine digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, HIGH); digitalWrite(8, LOW); digitalWrite(7, HIGH); delay(500); // Wait for 500 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, HIGH); delay(500); // Wait for 500 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, HIGH); digitalWrite(8, LOW); digitalWrite(7, HIGH); delay(500); // Wait for 500 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, HIGH); delay(500); // Wait for 500 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, HIGH); digitalWrite(8, LOW); digitalWrite(7, HIGH); delay(500); // Wait for 500 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, HIGH); delay(500); // Wait for 500 millisecond(s) digitalWrite(12, HIGH); digitalWrite(11, HIGH); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(500); // Wait for 500 millisecond(s) // This code will turn all LEDs on and off rapidly // three times to indicate the end of the complete // loop digitalWrite(12, HIGH); digitalWrite(11, HIGH); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); delay(300); // Wait for 300 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(300); // Wait for 300 millisecond(s) digitalWrite(12, HIGH); digitalWrite(11, HIGH); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); delay(300); // Wait for 300 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(300); // Wait for 300 millisecond(s) digitalWrite(12, HIGH); digitalWrite(11, HIGH); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); delay(300); // Wait for 300 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); delay(300); // Wait for 300 millisecond(s) }