From 35baa17bdb1278ff6b716826a7c849a11b37b847 Mon Sep 17 00:00:00 2001 From: Otto Naderer Date: Sun, 6 Feb 2022 17:22:06 +0100 Subject: [PATCH] added trainsignal sketch --- trainsignal/trainsignal.ino | 61 +++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 trainsignal/trainsignal.ino diff --git a/trainsignal/trainsignal.ino b/trainsignal/trainsignal.ino new file mode 100644 index 0000000..97570f2 --- /dev/null +++ b/trainsignal/trainsignal.ino @@ -0,0 +1,61 @@ +/* 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); +}