Étape 5: Le code de base pour une utilisation avec RTC DS1307
Vous y trouverez le code sur codebender (voir en bas de page).
Fondamentalement, ce que fait le code est après que définir ses paramètres de base est de lopp à travers un tas de « Si » les conditions dans lesquelles le temps actuel est vérifié par rapport certains définir des valeurs de temps et si remplie, allumer une lumière ou désactiver.
L’état des lumières obtient stockée dans une variable pour travailler avec aussi bien que dans NVR RAM comme sauvegarder si il y a une coupure de courant.
L’utilisation de RAM NVR signifie que vous êtes lié à l’utilisation du module RTC DS1307.
Vous avez deux autres options à utiliser comme stockage permanent : l’EEPROM de l’Arduino, ou de l’EEPROM qui se trouve sur la plupart des modules de CCF.
Pour plusieurs raisons j’ai choisi initialement pour la mémoire NVRam, mais avec le recul, qu'il aurait été préférable de choisir pour l’EEPROM présent sur la plupart des modules CCF comme le DS1307 ou le DS3231 comme qui rend le code un peu plus universel. J’ai réécrit que pour le programme plus étendu. Utiliser mon « Extended program » pour obtenir la flexibilité dans l’utilisation de DS3231 RTC DS1307
Les tests de condition prend la forme suivante
IF currenthour == x AND currentminute + aléatoire == y et lightstatus == OFF
PUIS allumez la lumière
Écrire lightstatus sur ON
UDATE NVR
J’ai ajouter le randomfactor juste pour lui donner l’air plus naturel. Toujours avoir des lumières an consacrée à 21:00 signaux « Je suis absent »
Le code a plusieurs déclarations impression mais bien sur tehse sont seulement utiles si vous avez un atteched de module bluetooth ou d’un terminal.
Vous pouvez rendre le code beaucoup plus sophistiqué en vérifiant pour dire le jour ou le mois et passer les lumières plus ou moins long selon le mois ou si c’est un jour de semaine ou un week-end.
La version élargie (voir plus loin) a beaucoup plus de fonctionnalités et se déroulera sur la « Version de base »