Étape 3: Le code Source et IDE
Le code source du projet sont accessibles depuis mon dépôt électronique dans GitHub. N’hésitez pas à examiner le code, l’utiliser (il suffit de donner le crédit quand est due) et proposer des améliorations.
Nous utilisons le câblage v.1.0.1-dev comme IDE (Integrated Development Environment), qui est actuellement disponible uniquement sur Windows et Mac OS (: (nous manquons la version GNU/Linux).
Pour utiliser les bibliothèques communes Arduino comme TMRpcm (pour la lecture de fichiers WAV à partir de cartes SD) sur le câblage, on a besoin de modifier leur code source, par exemple, en incluant les Wiring.h au lieu de Arduino.h. Puisqu’il s’est avéré pour être un peu de douleur, nous partageons aussi le dossier entier de câblage, y compris les bibliothèques configurées pour vous éviter ces processus.
EEPROM
Afin de faire l’heure et alarme paramètres perdurable, nous utilisons l' EEPROM (électriquement Erasable Programmable Read-Only Memory) (2 KB) accordées par l’art de câblage Le code source est optimisé de telle façon qu’il empêche d’écrire à l’adresse EEPROM même trop de fois (mémoire EEPROM a une durée de vie basée sur le nombre d’opérations de lecture/écriture). Par exemple, lors du réglage des minutes, nous avons seulement écrire le nombre final et pas intermédiaires. 11 EEPROM adresses nous permet de stocker 4 variables (activé, type, heures et minutes) pour l’alarme 1, 4 (activé, type, heures et minutes) pour l’alarme 2 et 3 (activé, heures et minutes) pour le mode de mise en garde.
Calculs de phases de lune
Nous emprunter la fonction de calcul de la phase de la lune de http://www.ben-daglish.net/moon.shtml et de l’adapter au code C++. C’est une fonction basée sur un algorithme par John Conway, qui donne généralement la bonne phase de lune. Il n’est pas exacte, mais l’erreur est négligeable pour nos besoins.
câblage-v1.0.1-dev.7z