J'aurais besoin de quelques infos concernant le module DS 3231. Je m'explique, je suis débutant et j'ai un niveau de survie me permettant de faire des programmes courts et pas trop complexes : je maitrise les digitalwrite, digitalRead, if, and, else, delay mais ça s'arrête là.
J'ai fouillé le net, je trouve une multitude de choses sans trop les comprendre.
J'aimerais déjà pour commencer, pouvoir allumer une led à une heure précise, et la laisser allumer un certain temps avant de l'éteindre.
J'ai commencé un sketch, j'ai inclus la bibliothèque relative au DS 3231, mais après c'est la page blanche. Je peux bien copier des codes trouvés sur le net permettant d'acquérir et lire l'heure sur l'arduino mais j'ai aucune idée de ce que je dois faire pour remplir ma condition : allumer une led si l'heure est égale à 18h00 par exemple.
Est-ce que qqun se sent de m'expliquer, si possible en mettant des // pour m'aider à comprendre à quoi correspondent les instructions / fonctions ? J'ai trouvé tout un tas de fonctions sur le site où j'ai téléchargé la bibliothèques (examples) mais j'avoue je nage, je vais pas savoir les paramétrer.
Déjà nous donner un lien vers la librairie que tu utilises. Il y a souvent plein d'informations dans les fichiers .h .
Le DS3231 a deux registres d'alarme, plus des registres de configuration pour la gestions desdites alarmes. Une librairie spécifique au DS3231 devrait avoir des méthodes pour gérer ces alarmes.
Je viens de tenter un truc sans trop y croire, mais ça a l'air de fonctionner.
Alors ça n'est peut être pas très propre comme code, mais ça a fonctionné chez moi.
Autre question générale concernant l'arduino, lorsque l'on met un delay, gèle t-il les autres fonctions / conditions pendant qu'il exécute le delay ou alors est-ce qu'il continue en arrière plan de faire tourner les autres conditions de la loop ?
Désolé je devais dormir à moitié à l'heure où j'ai écrit mon message... Il manquait une condition pour que ça fonctionne correctement, j'ai édité le code ( qui doit être mis dans loop(), même les déclarations des variables puisque secondes prends les valeurs actuellement stockées dans t )
Et oui, delay bloque tout le programme, il ne fais rien d'autre (à part les interruptions) qu'attendre que le delai se termine.
Une autre façon d'écrire mon code pour le même résultat :
S'il n'y a que ça à faire, un arduino et une RTC (et un relais j'imagine que ce n'est pas la LED), vous avez aussi le Lot de 2 programmateurs 24 h mécanique à 6,50€ chez Leroy Merlin....
Non en réalité ce que je compte faire est un peu plus complexe et implique d’autres actions ; gestion d’un Spa, filtration, commande des différentes pompes etc …
La partie commande manuelle m’a pas trop posé de problèmes en revanche la partie automatisée avec les routines…
La led c’était effectivement un exercice pour apprivoiser la RTC