/* Wash Hands Timer Written May 25, 2020 by R Jordan Keindler Turns on four (4) LEDs in turn for approximately five (5) seconds each. When the last of the four LEDs is on, twenty (20) seconds has past. Sketch cycles three (3) times in loop(). That is, three times each for all four (4) LEDs Thus, time is measured, utilizing the four (4) LEDs, as approximately 5, 10, 15, 20 || 25, 30, 35, 40 || 45, 50, 55, and 60 seconds. That is 5-20 seconds in cycle one, 25-40 seconds in cycle 2, and 45-60 seconds in cycle 3. When the last cycle is complete sixty (60) seconds will have past. This implementation uses two (2) 220 ohm resistors, and two (2) 330 ohm resistors, four (4) 10mm LEDs, and an IR collision avoidance sensor. */ int IRAvoidance = 4; int val; int led1 = 7; int led2 = 8; int led3 = 9; int led4 = 10; int delay1 = 5000; void setup() { pinMode(IRAvoidance, INPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); Serial.begin(9600); } void loop() { val = digitalRead(IRAvoidance); if (val == 0) { for (int i = 1; i <= 3; i++) { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led3, LOW); digitalWrite(led4, LOW); delay(delay1); digitalWrite(led2, HIGH); digitalWrite(led1, LOW); digitalWrite(led3, LOW); digitalWrite(led4, LOW); delay(delay1); digitalWrite(led3, HIGH); digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led4, LOW); delay(delay1); digitalWrite(led4, HIGH); digitalWrite(led3, LOW); digitalWrite(led2, LOW); digitalWrite(led1, LOW); delay(delay1); digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); digitalWrite(led4, LOW); } } }