Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
805 connectés 

  FORUM HardWare.fr
  Electronique, domotique, DIY
  Nano-ordinateur, microcontrôleurs, FPGA

  [Arduino] RTClib et stockage plage horaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Arduino] RTClib et stockage plage horaire

n°117905
M4vrick
Mad user
Posté le 26-11-2015 à 12:26:22  profilanswer
 

Hello :hello:
 
Je suis en train de travailler sur un petit thermostat programmable et j'ai une interrogation:
 
quelle est la meilleure manière de stocker des plages horaires ?
 
Le principe est basique, je vais avoir des plages horaires avec un seuil de déclenchement pour le thermostat.
Lundi 6h-9h par exemple
 
Je me demande comment stocker le plus efficacement ce type de plage horaire à utiliser avec RTClib ?


---------------
--== M4vr|ck ==--
mood
Publicité
Posté le 26-11-2015 à 12:26:22  profilanswer
 

n°117934
TotalRecal​l
Modérateur
Posté le 26-11-2015 à 15:04:50  profilanswer
 

Sachant que la lib introduit apparemment un type DateTime (qui sert à fixer une date précise à la seconde) et un type TimeSpan (qui sert à définir un intervalle de temps) tu ne peux pas t'en sortir ?


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°117943
M4vrick
Mad user
Posté le 26-11-2015 à 16:18:50  profilanswer
 

Bah je ne vois pas trop comment faire en fait :??:  
 
J'ai une variable qui doit changer suivant les plages horaires (ou deux variables qui doivent etre utilisé alternativement, ca n'a pas d'importance).  
Mais je ne vois pas trop comment faire.
Tester une date pour faire sonner une alarme pas de soucis, c'est easy. Mais cette histoire de plage horaire me perturbe :sweat:


---------------
--== M4vr|ck ==--
n°117948
TotalRecal​l
Modérateur
Posté le 26-11-2015 à 16:58:19  profilanswer
 

N'hésite pas à poster ton code jusque là et expliquer ton algo, je ne comprend pas ce qui te pose souci.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°117950
M4vrick
Mad user
Posté le 26-11-2015 à 17:13:40  profilanswer
 

Je n'ai pas de code pour le moment, parce que justement je ne sais pas comment le structurer.
Et poster du code pour le reste des fonctions n'a pas beaucoup d'interet sur ce problème en particulier :whistle:  
 
Je vais me replonger sur la doc de la lib, il doit y avoir quelque chose à faire avec ce que tu m'indiques.
 
Pour expliquer quand même mon soucis, je dois stocker en EEPROM des fenetres du type:
Lundi 6h-9H
Lundi 17h-23h
etc ...
 
Et ensuite trouver une méthode pour tester si je suis dans une de ces fenetres ou non.
 
Je n'arrive pas à voir comment stocker ces fenetres (array? de quel type? ...)
Et ensuite je n'arrive pas à voir comment tester si je suis dans une fenetre, je ne peux pas avoir des if/else en boucle, ca ne me parait pas "propre".
Je pense que si j'arrive à structurer mon stockage correctement je pourrais ensuite tester facilement.
 
Mais encore une fois ca doit etre réalisable avec ce que fourni la lib, je ne demande rien d'extraordinaire. Je vais creuser ca.


---------------
--== M4vr|ck ==--
n°117954
TotalRecal​l
Modérateur
Posté le 26-11-2015 à 17:42:31  profilanswer
 

Si le comportement est différent pour chaque jour de la semaine tu peux faire une espèce de structure
{ DayOfWeek, BeginHour, EndHour }
que tu stockes dans une liste, et tu testes si ton heure actuelle est dans l'une des fênetres définies dans cette liste.

 

Genre
{ 1, 6, 9 } pour le lundi de 6 à 9h et cie
Et toutes les minutes tu fais tourner ton truc qui boucle sur la liste si il détecte que l'heure actuelle est dans l'un de ces cas, tu allumes ton truc et tu sors de la boucle et sinon tu éteins.

 

PS : truc bête, au format US il me semble que le premier jour de la semaine c'est le dimanche.

 

Ca aide ?

Message cité 1 fois
Message édité par TotalRecall le 26-11-2015 à 17:43:05

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°117957
M4vrick
Mad user
Posté le 26-11-2015 à 17:58:09  profilanswer
 

TotalRecall a écrit :

Si le comportement est différent pour chaque jour de la semaine tu peux faire une espèce de structure
{ DayOfWeek, BeginHour, EndHour }  
que tu stockes dans une liste, et tu testes si ton heure actuelle est dans l'une des fênetres définies dans cette liste.
 
Genre  
{ 1, 6, 9 } pour le lundi de 6 à 9h et cie
Et toutes les minutes tu fais tourner ton truc qui boucle sur la liste si il détecte que l'heure actuelle est dans l'un de ces cas, tu allumes ton truc et tu sors de la boucle et sinon tu éteins.
 
PS : truc bête, au format US il me semble que le premier jour de la semaine c'est le dimanche.
 
Ca aide ?


 
Mais oui carrement  :love:  
 
Ca vient de faire tilt, plutot qu'une liste je peux même utiliser un tableau, c'est plus facile à parcourir pour plusieurs jours/plages horaires.
C'est tout con en fait, je savais que je passais à coté d'un truc simple
 
Merci :jap:


---------------
--== M4vr|ck ==--
n°117960
TotalRecal​l
Modérateur
Posté le 26-11-2015 à 18:47:28  profilanswer
 

Oui j'utilise le terme liste par habitude des langages évolués pour dire une collection mais en C Arduino c'est un bête tableau. En tout cas l'idée a l'air de te convenir :d


Message édité par TotalRecall le 26-11-2015 à 18:47:49

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°117984
Modano
Posté le 26-11-2015 à 23:00:02  profilanswer
 

Bonne idée oui  :jap: Surtout que dans l'EEPROM l'espace est vraiment compté !

n°119447
M4vrick
Mad user
Posté le 27-11-2015 à 13:31:08  profilanswer
 

Tant que j'y suis et puisqu'il y a du monde qui a vu mon topic, vous avez des préférences parmi la multitudes de librairies de gestion de menu pour Arduino ?
 
Je vais faire quelque chose de très simple avec juste un afficheur LCD classique à deux lignes type HD44780 et 4 boutons.
Et dans l'idéal j'aimerais une librairie qui ne soit pas 'fermée' sur la conception de l'arbre de navigation, pour pouvoir par exemple rajouter ou retirer des plages horaires et pouvoir les parcourir avec le menu.


---------------
--== M4vr|ck ==--

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Electronique, domotique, DIY
  Nano-ordinateur, microcontrôleurs, FPGA

  [Arduino] RTClib et stockage plage horaire

 

Sujets relatifs
[Arduino] Alimentation intermitente et recharge LiPo/NIMH[arduino]utilisation dans un cadre domotique
Régulation automatique 11 ventilateurs rhéobus/controleur/arduino?arduino gérant 2servomoters et des leds avec 1 boutton poussoir
Problème bibliothèque Wire.h + GPS arduinocomment implémenter un système de transmission chaotique sur carte arduino uno
ARDUINO MEGAAmbilight avec Arduino uno pour systeme eyefinity x3
Signal analogique carré 0-24V pour ArduinoArduino / Modem Sim900 : quelle carte SIM utiliser ?
Plus de sujets relatifs à : [Arduino] RTClib et stockage plage horaire



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR