Étape 12 : Version de Prototype - logiciels
Le logiciel n’est pas compliqué, mais assurez-vous de qu'avoir la dernière version du pilote Motorshield de Adafruit propre. Il y a une difficulté dans ce qui est importante pour ce code.Le code :
Il y a une représentation de temps interne, composé de trois entiers (ints): currentSeconds, currentMinutes et currentHours. Cette fois est pré-réglé à commencer vers le haut et incrémentée tandis que le programme s’exécute.
La boucle principale du programme donne une indication de l’heure de début, puis il vérifie en permanence l’heure actuelle pour voir si c’est 1000 millisecondes plus tard ou non. Si c’est le cas, elle augmente le temps de l’horloge interne (doTick()) et frappe une procédure pour changer la position des indicateurs sur l’horloge (renderTime()).
La procédure doTick() traite incrémentation des secondes en minutes et minutes en heures et de réinitialiser ces valeurs lorsque cela est nécessaire.
La procédure renderTime() traite de convertir le temps en h postes sur la face de l’horloge, ou plus exactement, du stepper. Le programme a une conception de la position actuelle des indicateurs (préréglé sur démarrage à 00:00 - la position extrême gauche), et utilise ce initiale position pour décider s’il faut déplacer le stepper ou recule de départ.
À l’aide de l’interne de chronométrage de l’Arduino est assez douteux au sol (voir cette instructable pour une bonne descente sur le pourquoi et une solution possible). Il y a beaucoup de façons autour de cela si c’est important : les principales pages d’Arduino ont plusieurs façons de faire précis, en plus de trucs sur l’utilisation de la bibliothèque. Je suis allé pour une solution plus simple, étant donné que c’est un prototype (Oui, c’est mon excuse pour chaque fois que je fais une entaille).
J’utilise la bibliothèque AFMotor pour conduire les steppers, parce que j’utilise le motorshield Adafruit. Si vous exécutez les steppers à travers un autre circuit, vous pouvez probablement utiliser les bibliothèques de stepper Arduino réguliers avec un code minimal à découper. Si vous téléchargez le code, le fichier doit être enregistré avec un .pde sur la fin. Ne sais pas comment changer le nom de fichier sur instructables !