Paso 6: Crear el Software
Ser un ingeniero de software, había dedicado mucho de mi tiempo en el aspecto del software de este proyecto. Mi código fuente está disponible. Usé Ping Library de Caleb Zulawski (http://www.arduino.cc/playground/Code/Ping). Hice una modificación, sin embargo. Esta biblioteca utiliza un tiempo de espera predeterminado de la función pulseIn() de 1 segundo. Esto causaba grandes retrasos en la ejecución del programa para la disminución de este tiempo de espera a 500ms. Cosas mucho más rápido ejecutan ahora. No entraré en los detalles del programa, porque no todo usuario de Instructables son jinetes de código, pero aquí están los principales puntos:Código fuente (Arduino Sketch y modificado Ping de biblioteca) están en http://polymythic.com/HALO_SourceCode_v8.zip
El flujo del loop() principal del programa es:
-Sensor fuego,
-Compruebe a ver si alguno de los motores se supone para encender o apagado basado en anterior Rangefinding
-Sensor siguiente fuego... Repetir
Otras cosas a la nota que mirar el código:
Hay 4 "intensidades" de pulsaciones motor para dar a la persona un sentido mejor de la gama, y éstos varían por el pie (4 pies)
Esto se basa en un modelo de máquina de estado, pero una de las bibliotecas de Arduino subprocesos podría utilizarse para manejar esto de forma independiente.