Étape 5: Arduino Sketch
/*
Une horloge binaire de libres pour Arduino.
Basé sur le code à partir de Rob Faludi (http://www.faludi.com)
Code sous (cc) par Daniel Spillere Andrade, www.danielandrade.net
http://creativecommons.org/license/CC-GPL
*/
int second = 0, minutes = 0, heure = 0 ; l’heure de début sur 00:00:00
int lyly, hunit, valm = 0, valh = 0, ledstats, i ;
void setup() {//set entrées et sorties
pinMode (1 sortie); pinMode (sortie 2); pinMode (sortie 3,); pinMode (sortie 4) pinMode (5, sortie) ;
pinMode (sortie 6,); pinMode (sortie 7,); pinMode (sortie 8); pinMode (sortie 9) pinMode (sortie 10,) ;
pinMode (sortie 11); pinMode (sortie 12,); pinMode (13, sortie) ;
pinMode (0, entrée) ;
}
void loop() {}
public static unsigned lastTick long = 0 ; mettre en place une variable locale pour contenir la dernière fois que nous avons déménagé avant une seconde
(les variables statiques sont initialisées une fois et conservent leurs valeurs entre les appels de fonction)
déplacement vers l’avant une seconde chaque 1000 millisecondes
Si (millis() - lastTick > = 1000) {}
lastTick = millis() ;
deuxième ++ ;
}
aller de l’avant une minute toutes les 60 secondes
Si (second > = 60) {}
minute ++ ;
deuxième = 0 ; remettre les secondes à zéro
}
aller de l’avant une heure toutes les 60 minutes
Si (minute > = 60) {}
heure ++ ;
minute = 0 ; remise des minutes à zéro
}
Si (h > = 24) {}
heure = 0 ;
minute = 0 ; remise des minutes à zéro
}
lyly = minute % 10 ; définit la variable lyly et hunit pour les chiffres de l’unité
hunit = heure % 10 ;
ledstats = digitalRead(0) ; lire la valeur d’entrée, pour les leds en déclenchant, mais en gardant comte
Si (ledstats == faible) {}
pour (i = 1; i < = 13; i ++) {}
digitalWrite (i, faible);}
} else {}
unités de minutes
Si (lyly == 1 || lyly == 3 || lyly == 5 || lyly == 7 || lyly == 9) {digitalWrite (1 secondaire);} else {digitalWrite(1,LOW);}
Si (lyly == 2 || lyly == 3 || lyly == 6 || lyly == 7) {digitalWrite (2, HIGH);} else {digitalWrite(2,LOW);}
Si (lyly == 4 || lyly == 5 || lyly == 6 || lyly == 7) {digitalWrite (3, HIGH);} else {digitalWrite(3,LOW);}
Si (lyly == 8 || lyly == 9) {digitalWrite (4, HIGH);} else {digitalWrite(4,LOW);}
minutes
Si ((minute > = 10 & & minute < 20) || (minute > = 30 & & minute < 40) || (minute > = 50 & & minute < 60)) {digitalWrite (5, HIGH);} else {digitalWrite(5,LOW);}
Si (minute > = 20 & & minute < 40) {digitalWrite (6, HIGH);} else {digitalWrite(6,LOW);}
Si (minute > = 40 & & minute < 60) {digitalWrite (7, HIGH);} else {digitalWrite(7,LOW);}
unités de l’heure
Si (hunit == 1 || hunit == 3 || hunit == 5 || hunit == 7 || hunit == 9) {digitalWrite (8, HIGH);} else {digitalWrite(8,LOW);}
Si (hunit == 2 || hunit == 3 || hunit == 6 || hunit == 7) {digitalWrite (9, HIGH);} else {digitalWrite(9,LOW);}
Si (hunit == 4 || hunit == 5 || hunit == 6 || hunit == 7) {digitalWrite (10, HIGH);} else {digitalWrite(10,LOW);}
Si (hunit == 8 || hunit == 9) {digitalWrite (11, HIGH);} else {digitalWrite(11,LOW);}
heure
Si (h > = 10 & & heure < 20) {digitalWrite (12, HIGH);} else {digitalWrite(12,LOW);}
Si (h > = 20 & & heure < 24) {digitalWrite (13, HIGH);} else {digitalWrite(13,LOW);}
}
VALM = analogRead(0) ; Ajouter une minute lorsque vous appuyez sur
if(VALM<800) {}
minute ++ ;
deuxième = 0 ;
Delay(250) ;
}
valh = analogRead(5) ; Ajouter une heure lorsque vous appuyez sur
if(valh<800) {}
heure ++ ;
deuxième = 0 ;
Delay(250) ;
}
}