Étape 3: Éteignez, WDT et temps
Lorsque MCU et OLED allumé, il consomme environ 6 mA.
Afin de rendre la montre peut exécuter plus d’un an, j’utiliserai le MCU plupart power saving mode "veille", SLEEP_MODE_PWR_DOWN, lorsque l’utilisateur est pas utilisé. Selon mon compteur d’énergie à bas prix, il montre pas 0,1 uA si désactiver toutes les fonctions. Mais il faut toujours activer WDT pour garder, après activer WDT, il montre 4 uA. Assumer la MCU et OLED veilleuse après 5 secondes et affichage utilisateur la montre 12 fois par jour en moyenne, la montre consommera sur 0,2 mAh par jour. ((0,004 mA * 24 heures) + (6 mA * (5 / 60 / 60) heures * 12)) Ainsi, une 150 mAh CR2025 peut fonctionner 750 jours.
Le time code source proviennent principalement de PaulStoffregen. Cependant, la puissance en mode "veille" s’arrête le compteur normal, fonction de millis() d’utilisation pour le maintien de l’heure n’est pas valide. Donc je continue une autre variable pour remplacer la fonction millis(). Pour chaque interruption WDT, elle augmenter une certaine valeur. La valeur d’incrément dépend les paramètres d’intervalle WDT et oscillateur de la puce. Lorsque vous utilisez 1 deuxième interruption WDT, valeur d’incrément calibré de ma puce est 998 (environ 1000 millisecondes).
Et aussi j’ai ajouté la fonction readVcc() pour surveiller l’état de la batterie.
Ref. :
WDT et puissance liées : http://www.re-innovation.co.uk/web12/index.php/en...
fonction du temps pour Arduino v1.4 : https://github.com/PaulStoffregen/Time
readVcc : http://www.re-innovation.co.uk/web12/index.php/en...