int second=0; int minute=0; int hour=7; //start time at 0 int valm=0; static unsigned long lastTick = 0; // set up a local variable to hold the last time we moved forward one second // move forward one second every 1000 milliseconds void setup() { //set outputs and inputs pinMode(1, OUTPUT);pinMode(2, OUTPUT);pinMode(3, OUTPUT);pinMode(4, OUTPUT);pinMode(5, INPUT); pinMode(6, OUTPUT);pinMode(7, OUTPUT);pinMode(8, OUTPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT); pinMode(11, OUTPUT);pinMode(12, OUTPUT);pinMode(13, OUTPUT); } void loop() { if (millis() - lastTick >= 1000) { lastTick = millis(); second++; } // move forward five minutes every 300 seconds if (second >= 300) { minute++; second = 0; // reset seconds to zero } // move forward one hour every 12 five minute intervals if (minute >=12) { hour++; minute = 0; // reset minutes to zero } if (hour >=13) { hour=1; minute = 0; // reset minutes to zero } if(minute == 1 || minute == 3 || minute == 5 || minute == 7 || minute == 9 || minute == 11) { digitalWrite(1, HIGH);} else { digitalWrite(1,LOW);} if(minute == 2 || minute == 3 || minute == 6 || minute == 7 || minute == 10 || minute == 11) {digitalWrite(2, HIGH);} else {digitalWrite(2,LOW);} if(minute == 4 || minute == 5 || minute == 6 || minute == 7) {digitalWrite(3, HIGH);} else {digitalWrite(3,LOW);} if(minute == 8 || minute == 9 || minute == 10 || minute == 11) {digitalWrite(4, HIGH);} else {digitalWrite(4,LOW);} //hour units if(hour == 1 || hour == 3 || hour == 5 || hour == 7 || hour == 9 || hour == 11) {digitalWrite(8, HIGH);} else {digitalWrite(8,LOW);} if(hour == 2 || hour == 3 || hour == 6 || hour == 7 || hour == 10 || hour == 11) {digitalWrite(9, HIGH);} else {digitalWrite(9,LOW);} if(hour == 4 || hour == 5 || hour == 6 || hour == 7 || hour == 12) {digitalWrite(10, HIGH);} else {digitalWrite(10,LOW);} if(hour == 8 || hour == 9 || hour == 10 || hour == 11 || hour == 12) {digitalWrite(11, HIGH);} else {digitalWrite(11,LOW);} valm = digitalRead(5); // add five minutes when pressed if(valm==1) { minute++; second=0; delay(250); } }