Go Down

Topic: Changer d'état des led avec une horloge temps réel  (Read 166 times) previous topic - next topic

Douduix

Salut je me présent je suis élève en terminal STI2D option sin, on doit réaliser un projet en fin d'année programmer avec une carte arduino bref.

Mon problème est que j'ai une horloge temps réel DS1307 et une bande LED, mon but et de faire allumé la bande les a un certain temps exemple a 8H jusqu'à 18H les LED sont allumé et le reste du temps elle sont éteintes.

je n'arrive pas à trouver la commande me permettant de pouvoir interagir avec l'heure.
Merci d'avance pour votre aide

hazerty565

#1
Apr 12, 2019, 05:53 pm Last Edit: Apr 12, 2019, 05:54 pm by hazerty565
deja il te faut faire en 2 temps...

l'un pour faire allumer les leds uniquement...

Et l'autre DS1307 pour la RTC... tu as des examples sur internet... avec google..

https://www.carnetdumaker.net/articles/utiliser-un-module-horloge-temps-reel-ds1307-avec-une-carte-arduino-genuino/

icare

2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

Douduix

Merci pour le liens mais le problème n'es pas le fonctionnement de l'horloge mais, l'utilisation du temps pour faire changer la valeur d'une led.
exemple si l'horloge atteint 17H30 la led s'éteint puis a 18H elle se rallume.

Merci pour vos raiponces

dbrion06

Avez vous remarque que la bibliothèque d'adaFruit RTClib gère (i.e calcule) le temps écoulé -en secondes- depuis que le monde est monde  (et on peut en déduite, par un modulo, le nombre de secondes depuis le début du jour : dans votre exemple, allumer des leds entre 8 h et 17h30 revient à les allumer entre 8*3600 et 1800+17*3600UL...)
Sinon, les tests et autres contrôles d'instruction sont décrits dans https://fr.wikipedia.org/wiki/Structure_de_contr%C3%B4le#Test_si ... s'ils n'ont pas éré introduirs en cours...

Douduix

Merci de ta raiponce mais je n'arrive pas a le réaliser tu n'aurais pas un bout de programme pour me montrer

merci de vos raiponces

dbrion06

bon, je vais faire un contresens (normalement, il faudrait que cous montriez ce que vous avez fait, avec votre cerf veau (donné par votre mère, qui est certainement une sainte femme).:
On s'inspire de https://github.com/adafruit/RTClib/blob/master/examples/ds1307/ds1307.ino
et on calcule l'heure actuelle

Code: [Select]

  DateTime now = rtc.now(); // dommage que vous n'ayez pas posté de code: ça aurait permis d'harmoniser
   
 //   Serial.print(" since midnight 1/1/1970 = ");
int32_t elapsedSinceZero = (now.unixtime() % 86400L); // nbre de secondes depuis minuit
int32_t debut = 8*3600UL;

if (elapsedSinceZero  > debut ) { ellumerLED();} else {eteindreLED();} // je vous laisse le soin de gérer un intervalle


Go Up