Étape 6: Création du logiciel
Être un ingénieur logiciel, j’ai passé beaucoup de mon temps sur l’aspect logiciel de ce projet. Mon code source est disponible. J’avais l’habitude Ping Library de Caleb Zulawski (http://www.arduino.cc/playground/Code/Ping). J’ai fait une modification, cependant. Cette bibliothèque utilise un délai par défaut de la fonction pulseIn() de 1 seconde. Cela causait des retards importants dans l’exécution du programme donc j’ai réduit ce délai à 500ms. Choses d’exécuter beaucoup plus rapidement maintenant. Je ne vais pas aller dans les détails du programme, parce que pas tous les utilisateur de Instructables sont code-jockeys, mais voici les principaux points :Code source (Arduino Sketch et mis à jour le Ping bibliothèque) sont à http://polymythic.com/HALO_SourceCode_v8.zip
Le flux de la loop() principale du programme est :
-Capteur feu,
-Vérifier si un des moteurs sont censé mettre en marche ou hors issu des précédents télémétrie
-Capteur suivant feu... Répétez
Autres choses à la Note que vous regardez le Code :
Il y a 4 « intensités » des impulsions moteur pour donner à la personne une meilleure idée de la gamme, et celles-ci varient par le pied (jusqu'à 4 pieds)
Ceci est basé sur un modèle de machine d’État, mais une des bibliothèques de threading Arduino pourrait servir à gérer cela de façon indépendante.