Étape 6: Le Code
Étape par étape à pied à travers :
#define
Cela met en place tous le brochage pour le ATtiny
Setup()
affecte pinMode à toutes les broches
J’ai eu des problèmes avec la configuration de mon horloge binaire pour être le même que ma montre et j’ai ajouté un paramètre de configuration, appuyez sur la touche hour contourne cette option
shiftOut envoyer l’octet de données 0xff, B11111111 en binaire, pour le registre à décalage cela tourne sur toutes les colonnes
digitalWrite s’allume alors en une seule couche
puis il attend que le bouton de l’heure ou la minute ; l’heure bouton ignore le processus d’ajustement la minute commence le timmer
une autre couche s’allume et commence à décompter
Lorsque vous avez terminé avec 60 secondes appuyer sur le bouton de l’heure, il a changé les boutons
Loop()
lastSecond magasins quand l’horloge a ajouté une seconde, si elle est sur le testTime puis il ajoute une seconde
testTime a été configuré ou contourné plus tôt la valeur par défaut est de 1000
le si () s évaluer si les minutes ou les heures doivent être changés, j’ai ajouté une fonction if() ne pas utilisé si vous souhaitez que votre bouton minute à rebours
toutes les unité variables sUnit, lyly et hUnit reçoivent la valeur de ceux placer pendant des heures, minutes et secondes
les boutons sont alors demandés si elles sont sur
la fonction activate() est appelée, décrit ensuite
Activate()
ce sera son tour sur l’ensemble des LEDs à l’heure actuelle
* note au sujet de ne pas utiliser un registre à décalage, utilisez le numéro que - je n’ai pas testé et j’espère que travaille pour vous
Lorsque l’horloge est faibles données peuvent être écrites pour elle et seront déplacées quand on tire sur horloge haute
Ce faisant, tout en permettant à la couche doit être activée
Il y a un retard alors vos yeux verrons la LED
puis tous les calques sont désactivés avant la couche suivante est chargée
Rincez et répétez...
Layer()
un, deux, quatre et huit correspondent à la valeur de la LED, en binaire, sera tourné à haute ou basse...
Il y a beaucoup de nombres qui se met à clignoter dans la façon dont savent être une horloge
LED()
tourne sur le calque correspondant à la valeur de temps