Étape 8: Construction électronique et explication du code
Voici le circuit complet et le code
J’ai mis aussi un 11, 1V 1000mAh rechargeable Accu Lipo, donc je peux alimenter l’horloge sans câble DC externe.
Explication de code :
Après avoir branché tous les électroniques téléchargement les fichiers zip zip 3 un est le code de des autres sont les bibliothèques.
Tout d’abord, il faut mettre les deux dossiers de bibliothèques pour TLC et RTC-Module dans votre dossier de bibliothèque arduino sinon vous obtiendrez erreur lors de l’ouverture du code, ou vous pouvez également télécharger les bibliothèques sur le site d’arduino.
Le code comprend 3 dossiers :
Le dossier SetTime avec SetTime.ino : utiliser ce fichier pour régler l’heure manuellement pour votre CCF-Module pour la première fois, pour cela vous devez modifier les variables byte dans la fonction setDateTime() avec votre heure locale, puis charger ce code à votre arduino et le CCF-Module enregistre votre heure locale, il suffit de le faire la première fois pour régler l’heure ou si vous changez la pile de votre Module RTC. Le TestTimeFolder avec
TestTime.ino : utiliser uniquement pour vérifier si le CCF-Module stocké l’heure correcte, de charger ce code et d’ouvrir le serial monitor pour le vérifier.
Le dossier de LED_Mega_Clock : avec 6 fichiers, tous ce 6 fichiers doivent être dans le même dossier, ouvert uniquement de LED_Mega_Clock.ino et vous obtiendrez tous les 6 fichiers dans différents robinets.
- « LED_Mega_Clock Tap »: Voici le programme d’installation pour les goupilles et la définition des variables globales et de réseaux pour les registres et la fonction loop(). J’ai fait 3 fonctions dans l’onglet « programmes » avec 3 différentes animations choisir l’un d'entre eux et mettez-la dans la fonction de boucle.
- Onglet « RTC »: Voici la configuration de la CCF, il ne faut vraiment modifier cet onglet, mais pour plus d’informations visitez le site de l’arduino. Ici, j’ai fait le checkTime() fonction d’amorcer la transition entre le CCF-Module et arduino. J’ai utiliser avant chaque animation et n’oubliez pas de lire l’heure avant l’animation et de convertir ces données binaires codées décimal normal avec la fonction de bcdToDec() octets, j’ai fait. Par exemple : int = deuxième bcdToDec(Wire.read()) ; « RGB_LED_Strip Tap »: ici, j’ai fait 2 fonctions celui qui modifient l’ensemble du spectre de couleur du rouge magenta très 20 min et celui de modifier chaque couleur chaque deuxième sorties PWM d’utilisation de votre arduino pour ce faire. vous pouvez faire vos propres fonctions.
- « blue_LEDs Tap »: ici, j’ai fait 3 fonctions utilisant un multiplexage pour définir la matrice LED bleue avec la seconde, minute, et indication de l’heure l’autre faire la même chose mais avec un point en se balançant de droite à gauche comme second indicateur. et la fonction shift() aux données de déplacement. Vous pouvez faire vos propres animations.
Comment passer des données : http://arduino.cc/en/tutorial/ShiftOut
- digit_display robinet : Voici 3 fonctions celle de définir la les chiffres (anodes ou arduino axes définis dans le tableau [] CA dans les Tap"LED_Mega_Clock") un pour définir les segments (cathodes ou épingles de TLC à descendre le courant au GND) et l’autre pour réinitialiser le TLC cela signifie que vous avez 4 chiffres que vous définissez haut ou bas avec vos broches de l’arduino et 7 segments dans chaque chiffre que vous définissez haut ou bas avec la TLC à l’aide de multiplexage. Comment utiliser la bibliothèque de TLC: http://arduino.cc/en/tutorial/ShiftOut
Vous pouvez optimiser l’horloge par exemple en connectant une Foto-résistance dans le circuit à automatiquement controll la légèreté de l’horloge selon la lumière ambiante de votre chambre, ou vous pouvez utiliser un 10 k potentiomètre pour contrôler la luminosité manuellement.
Vous pouvez également insérer un bouton permettant de passer les différents programmes betteew ou mettre une autre bande de LED à l’intérieur de l’horloge pour éclairer la pièce en plastique transparente sur la façade.