tinkershack/trainsignal/trainsignal.ino

62 lines
1.0 KiB
C++

/* sketch of a mini train signal used with wooden toy trains
* 2019 / otto@socialnerds.org
* it's based off a standard signal of the austrian railways, uses
* 1 red, 1 yellow and two green lights. it cycles though the four
* sets it can show */
void setup() {
// put your setup code here, to run once:
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
clearLights();
setHalt();
delay(5000);
clearLights();
setDrive();
delay(5000);
clearLights();
setDrive60();
delay(5000);
clearLights();
setDrive40();
delay(5000);
}
void clearLights()
{
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
delay(1000);
}
void setHalt()
{
digitalWrite(2, LOW);
}
void setDrive()
{
digitalWrite(3, LOW);
}
void setDrive60()
{
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}
void setDrive40()
{
digitalWrite(3, LOW);
digitalWrite(5, LOW);
}