Stap 6: Maken van de Software
Wordt software engineer, ik veel van mijn tijd besteed aan de software-aspecten van dit project. Mijn broncode is beschikbaar. Ik gebruikte Caleb Zulawski van Ping Library (http://www.arduino.cc/playground/Code/Ping). Ik één wijziging, maar maken. Deze bibliotheek gebruikt een standaard timeout van de functie van de pulseIn() van 1 seconde. Dit veroorzaakte grote vertragingen bij de uitvoering van het programma zodat ik deze time-out gereduceerd tot 500ms. Dingen uitvoeren nu veel sneller. Ik zal niet ingaan op de details van het programma, omdat niet alle gebruiker van Instructables code-jockeys, maar hier de belangrijkste punten zijn:Broncode (Arduino schets en gemodificeerde Ping bibliotheek) zijn op http://polymythic.com/HALO_SourceCode_v8.zip
De stroom van de loop van het hoofdprogramma is:
-Brand sensor,
-Controleer om te zien of de motoren zijn moest inschakelen of uitschakelen op basis van eerdere bereik zoeken
--Het vuren volgende sensor... Herhaal
Andere dingen aan notitie als u kijken naar de Code:
Er zijn 4 "intensiteit" van motor pulserende geven de persoon een beter gevoel van het bereik, en deze variëren door de voet (maximaal 4 poten)
Dit is gebaseerd op een statusmachine model, maar een van de Arduino threading bibliotheken kan worden gebruikt om dit zelfstandig.