Last active
March 4, 2020 20:18
-
-
Save esbenr/61c7cd7fbae7535b29f1dc0c3091afe9 to your computer and use it in GitHub Desktop.
Arduino Intersection Light
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int ledRed = 2; | |
int ledYellow = 3; | |
int ledGreen = 4; | |
int signalIn = 12; | |
int signalOut = 11; | |
int signalValue = 0; | |
int del = 2000; | |
void setup() { | |
// put your setup code here, to run once: | |
pinMode(ledRed, OUTPUT); | |
pinMode(ledYellow, OUTPUT); | |
pinMode(ledGreen, OUTPUT); | |
pinMode(signalIn, INPUT); | |
pinMode(signalOut, OUTPUT); | |
} | |
void loop() { | |
signalValue = digitalRead(signalIn); | |
if (signalValue == 1) { | |
sequence(); | |
signalValue = 0; | |
} | |
delay(10); | |
} | |
void sequence() { | |
orange(); | |
green(); | |
yellow(); | |
notify(); | |
red(); | |
} | |
void notify() { | |
digitalWrite(signalOut, HIGH); | |
delay(100); | |
digitalWrite(signalOut, LOW); | |
} | |
void red() { | |
digitalWrite(ledRed, HIGH); // sets the digital pin 7 on | |
//delay(del); // waits for a second | |
//digitalWrite(ledRed, LOW); // sets the digital pin 7 off | |
} | |
void orange() { | |
digitalWrite(ledYellow, HIGH); // sets the digital pin 7 on | |
digitalWrite(ledRed, HIGH); | |
delay(del); // waits for a second | |
digitalWrite(ledYellow, LOW); // sets the digital pin 7 off | |
digitalWrite(ledRed, LOW); | |
} | |
void green() { | |
digitalWrite(ledGreen, HIGH); // sets the digital pin 7 on | |
delay(del); // waits for a second | |
digitalWrite(ledGreen, LOW); // sets the digital pin 7 off | |
} | |
void yellow() { | |
digitalWrite(ledYellow, HIGH); // sets the digital pin 7 on | |
delay(del); // waits for a second | |
digitalWrite(ledYellow, LOW); // sets the digital pin 7 off | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment