Étape 6: Arduino Sketch
Les images ci-dessus contiennent le code utilisé pour exécuter le projet.
Le sketch arduino peut être divisé en quatre sections :
- Définition de Variable globale (lignes 1-133)
Cette section crée un définit toutes les variables nécessaires dans le programme.
Tout d’abord, les bibliothèques nécessaires sont inclus pour donner le programme à accéder aux fonctions qui ont déjà été écrits. Les bibliothèques DS1307 et temps sont utilisés pour le CCF. La bibliothèque de Servo est utilisée pour exploiter le servo. Enfin, les bibliothèques LiquidCrystal_I2C et les fils sont utilisés pour mettre à jour l’écran LCD I2C.
Ensuite, les objets sont initialisés pour donner ces bibliothèques les informations que dont ils ont besoin pour travailler. Création d’un objet de LCD en ligne 9 pour définir l’adresse I2C et la taille de l’écran. Un objet de Servo est créé en ligne 12 pour définir un servo spécifique qui peut ensuite être manipulé.
Lignes 15 à 26 contiennent le brochage qui définissent qui épingle sur l’arduino est utilisé pour. Broche 2 est utilisée pour le capteur tactile, broches 3-5 et 7-9 sont utilisés pour les LEDs, et broche 6 est utilisé pour le servo.
Le reste de la section (lignes 28-133) contenir des variables pour définir le CCF et convertissant les entiers de temps en caractères qui peuvent ensuite être imprimés sur l’écran LCD.
Cette section s’exécute qu’une seule fois quand le programme est a commencé.
Tout d’abord, les broches d’entrée/sortie sont initialisées et définir comme entrée ou sortie (lignes 141-148). Les broches de la LED doivent être les broches de sortie, alors que le touchpad et le servo doivent être des broches d’entrée.
Ensuite, l’écran LCD est initialisée et le rétro-éclairage est allumé (lignes 158-159).
En lignes 166-192, les informations de date et l’heure sont lues dans le compilateur pour définir le module RTC.
Cette section de l’esquisse s’exécute à plusieurs reprises que tant que le système a le pouvoir et contient le corps principal du programme.
Tout d’abord, lignes 199-212 lit les informations de date et l’heure actuelles du CCF et l’affiche sur l’écran LCD.
Ensuite, les lignes 216 à 219 déclencheur la routine pour le mouvement du servo et affichage LED. Ligne 216 vérifie l’état du capteur tactile. Le capteur produit un apport réduit lorsqu’il détecte le toucher et procure un high entré à tout autre moment. Si la broche 2 reçoit un apport réduit, il appelle la fonction « marbleRoll ».
Cette dernière partie définit exactement ce qui se passe à l’intérieur de chaque fonction utilisée.
Lignes 226-360 contiennent le code pour la fonction MarbleRoll, qui se déplace le servo et met à jour les LEDs. Ligne 227 attache le servo à broche 6, puis ligne 228 répète la routine 3 fois. Le code de mouvement du servo est divisé en 12 sections. Chacune de ces sections se déplacent le servo sur toute une gamme de 7 degrés et allumer une LED différente. Les six premières sections passent le servo d’un côté à l’autre, et les prochaines sections déplacent vers où il a commencé. Chaque gamme de 7 degrés s’allume une LED différente, créant l’effet des LED suivant les mouvements du servo. Une fois la routine exécutée 3 fois, ligne 352 détache du servo. Enfin, les lignes 354-359 éteint toutes les LEDs.
Lignes 362-389 contiennent le code pour les fonctions utilisées pour régler l’heure sur le CCF. GetTime enregistre les données de temps, alors que GetDate enregistre les informations de date.
Ceci conclut le code pour le sketch arduino pour ce projet.