int currentMillis, lastMillis, milli, seconds=0; int minutes=36;//enter current number of minutes int hours=12;//enter current number of hours int ls1; int h1, h2, m1, m2=0; void setup() { pinMode(10, OUTPUT); pinMode(9, OUTPUT); pinMode(8, OUTPUT); pinMode(7, OUTPUT); pinMode(6, OUTPUT); pinMode(A1, INPUT); Serial.begin(9600); } void loop() { unsigned long currentMillis = millis(); int milliDiff = currentMillis - lastMillis; lastMillis = currentMillis; milli += milliDiff; ls1 = RCTime(A1); if(ls1>90 && ls1<110){//adjust threshold //n1 10 milli h1=hours/10; getFun(h1); //space 6 milli digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(2); //n2 10 milli h2=hours%10; getFun(h2); //space 6 milli digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(2); //colon 2 milli digitalWrite(10, LOW); digitalWrite(9, HIGH); digitalWrite(8, LOW); digitalWrite(7, HIGH); digitalWrite(6, LOW); delay(1); //space 6 milli digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(2); //n3 10 milli m1=minutes/10; getFun(m1); //space 6 milli digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(2); //n4 10 milli m2=minutes%10; getFun(m2); //end digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); milli+=25; } else{ digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); } while (milli >= 990) { milli -= 1000; seconds++; } while (seconds >= 60) { seconds-=60; minutes++; Serial.println(minutes); } while (minutes >= 60) { minutes -= 60; hours++; } while (hours >= 24) { hours -= 24; } } //num Functions //sensor function long RCTime(int sensorIn){ long duration = 0; pinMode(sensorIn, OUTPUT); digitalWrite(sensorIn, HIGH); delay(1); pinMode(sensorIn, INPUT); digitalWrite(sensorIn, LOW); while(digitalRead(sensorIn)){ duration++; } return duration; } //getRightNum int getFun(int num){ if(num==0){ num0(); } else if(num==1){ num1(); } else if(num==2){ num2(); } else if(num==3){ num3(); } else if(num==4){ num4(); } else if(num==5){ num5(); } else if(num==6){ num6(); } else if(num==7){ num7(); } else if(num==8){ num8(); } else if(num==9){ num9(); } } void num0(){ digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); } void num1(){ digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); } void num2(){ digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); } void num3(){ digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); } void num4(){ digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); } void num5(){ digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); } void num6(){ digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); } void num7(){ digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(1); } void num8(){ digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, HIGH); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); } void num9(){ digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, LOW); digitalWrite(8, HIGH); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(1); digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); delay(.5); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); digitalWrite(6, HIGH); delay(1); }