/* UltraHorlogeBinaire - S02E06 LaGrotteDuBarbu Pour plus d'infos: http://www.lagrottedubarbu.com lagrottedubarbu@gmail.com twitter.com/lagrottedubarbu */ int second=0; int minute=57; int heure=3; int reste_heure,reste_minute; void setup() { pinMode(1,OUTPUT); //Heure1 pinMode(2,OUTPUT); //Heure2 pinMode(3,OUTPUT); //Heure4 pinMode(4,OUTPUT); //Heure8 pinMode(5,OUTPUT); //Minute1 pinMode(6,OUTPUT); //Minute2 pinMode(7,OUTPUT); //Minute4 pinMode(8,OUTPUT); //Minute8 pinMode(9,OUTPUT); //Minute16 pinMode(10,OUTPUT); //Minute32 pinMode(11,OUTPUT); //Secondes0 pinMode(12,OUTPUT); //Secondes30 pinMode(13,OUTPUT); //SecondesBip } void loop() { static unsigned long lastTick = 0; if (millis() - lastTick >= 1000) { lastTick = millis(); second++;} // move forward one minute every 60 seconds if (second >= 60) { minute++; second = 0; // reset seconds to zero } // move forward one hour every 60 minutes if (minute >=60) { heure++; minute = 0; // reset minutes to zero } if (heure >=12) { heure=0; minute = 0; // reset minutes to zero } if(second<30) {digitalWrite(11,HIGH);digitalWrite(12,LOW);} else {digitalWrite(11,LOW);digitalWrite(12,HIGH);} if(second%2>0){digitalWrite(13,HIGH);} else {digitalWrite(13,LOW);} //calcul des heures if((heure/8)>=1) {digitalWrite(1,HIGH);reste_heure=heure%8;} else {digitalWrite(1,LOW);reste_heure=heure;} if((reste_heure/4)>=1) {digitalWrite(2,HIGH);reste_heure=reste_heure%4;} else {digitalWrite(2,LOW);} if((reste_heure/2)>=1) {digitalWrite(3,HIGH);reste_heure=reste_heure%2;} else {digitalWrite(3,LOW);} if((reste_heure/1)>=1) {digitalWrite(4,HIGH);reste_heure=reste_heure%1;} else {digitalWrite(4,LOW);} //calcul des minutes if((minute/32)>=1) {digitalWrite(5,HIGH);reste_minute=minute%32;} else {digitalWrite(5,LOW);reste_minute=minute;} if((reste_minute/16)>=1) {digitalWrite(6,HIGH);reste_minute=reste_minute%16;} else {digitalWrite(6,LOW);} if((reste_minute/8)>=1) {digitalWrite(7,HIGH);reste_minute=reste_minute%8;} else {digitalWrite(7,LOW);} if((reste_minute/4)>=1) {digitalWrite(8,HIGH);reste_minute=reste_minute%4;} else {digitalWrite(8,LOW);} if((reste_minute/2)>=1) {digitalWrite(9,HIGH);reste_minute=reste_minute%2;} else {digitalWrite(9,LOW);} if((reste_minute/1)>=1) {digitalWrite(10,HIGH);reste_minute=reste_minute%1;} else {digitalWrite(10,LOW);} }