const unsigned long TSec=1000;
unsigned long Num_ms, Num_sec,Num_min;
unsigned long Num_heur,Num_jour, Temps_ms;
void setup()
{
// Init du port série
Serial.begin(9600);
}
void loop()
{
// Lecture de l'horloge interne en ms
Temps_ms=millis(); // 2^32 secondes = 49.71 jours
// Calcul des secondes
Num_sec= (Temps_ms/TSec)%60;
// Calcul des minutes
Num_min= (Temps_ms/(TSec*60))%60;
// Calcul des heures
Num_heur= (Temps_ms/(TSec*3600))%60;
// Calcul des jours
Num_jour= (Temps_ms/(TSec*86400)); //3600*24=86400
// Affichage de l'horloge
Serial.print(Num_jour);Serial.print(":");
Serial.print(Num_heur);Serial.print(":");
Serial.print(Num_min);Serial.print(":");
Serial.println(Num_sec);
}
Exemple 2
unsigned long Num_ms, Num_sec,Num_min;
unsigned long Num_heur,Num_jour, Temps_ms;
unsigned long Clock[4];
// Clock[0] Jours
// Clock[1] Heures
// Clock[2] Minutes
// Clock[3] Secondes
void setup()
{
// Init du port série
Serial.begin(9600);
}
void loop()
{
// Lecture de l'horloge
getClock(Clock,10);
// Affichage
dispClock(Clock);
// Attente 1s
delay(1000);
}
void getClock(unsigned long *hologe, unsigned char Speed)
{
const unsigned long TSec1=1000;
// Lecture de l'horloge interne en ms
Temps_ms=Speed*millis();
// Calcul des secondes
hologe[0]= (Temps_ms/TSec1)%60;
// Calcul des minutes
hologe[1]= (Temps_ms/(TSec1*60))%60;
// Calcul des heures
hologe[2]= (Temps_ms/(TSec1*3600))%60;
// Calcul des jours
hologe[3]= (Temps_ms/(TSec1*86400)); //3600*24=86400
}
void dispClock(unsigned long *Clock)
{
Serial.print(Clock[3]);Serial.print(":");
Serial.print(Clock[2]);Serial.print(":");
Serial.print(Clock[1]);Serial.print(":");
Serial.println(Clock[0]);
}
Limitations
Non synchrone (Il faut régler l’heure manuellement)
Perte d’horloge en cas d’initialisation de la carte (faible alimentation, etc.)
Horloge limitée à 49.71 jours (ce n’est pas un soucis si HH:MM:SS )
Découvrez notre Chaîne YouTube "Devenir Ingénieur" Obtenir le fichier PDF Fonctionnement Code Arduino Click to rate this post![Total: 1 Average: 5] Nous Soutenir 💌
Découvrez notre Chaîne YouTube "Devenir Ingénieur" Obtenir le fichier PDF Sommaire1 Objectifs2 Principe3 Le programme Matlab4 Le programme Arduino Objectifs Savoir détecter un objet en fonction de la couleur Comprendre le principe de détection Lire la suite…
Découvrez notre Chaîne YouTube "Devenir Ingénieur" Obtenir le fichier PDF Sommaire1 Objectifs2 A quoi sert la détection par couleurs ?3 Ouverture de la Caméra (Multi-sources)4 Ouverture du port série5 Paramètres du programme6 Détection & Transfert Lire la suite…
You have successfully subscribed to the newsletter
There was an error while trying to send your request. Please try again.
2 commentaires
tgtyyig · 2022-02-24 à 6:41
merci
ElecM · 2022-02-24 à 7:12
Avec plaisir!