Paso 9: Electrónica y potencia
Programamos nuestro planeador submarino utilizando un Arduino UNO y las muchas bibliotecas de Arduino. Además necesitábamos dos micro controladores para controlar los motores paso a paso que empuje y tire de nuestros lastres, un servo para controlar el peso y el acelerómetro de Adafruit DOF 10. Para alimentar el dispositivo utiliza una batería de 9 voltios y el voltaje adicional es necesario para los motores paso a paso usamos una 14.8V batería LiPo.
Para la programación del dispositivo utilizamos 6 bibliotecas en total:
Después de configurar los distintos dispositivos y motores tenemos un solo bucle principal que controla el algoritmo para la vela. A continuación hemos incluido pseudo código para este bucle.
La función de oscilación de nuestro código toma los datos del acelerómetro y cambia la posición del servo según su lectura. Esta parte del código se llama cada vez a través del lazo para que el servo y el peso están en constante movimiento como el planeador viaja a través del agua. Hemos incluido nuestro código completo a continuación. Tenemos las puertas de los extremos más allá de -10 y 10 para permitir el cálculo para el servo escribir.
El sub entra en el bucle sigue viajando, y esto es donde los lastres Haz movidos durante las diferentes etapas del movimiento. La primera etapa entra es la fase de caída. Durante esta etapa los lastres se tiran en el uso de nuestro motor paso a paso. La segunda etapa es la etapa de stopANDtake durante esta etapa la de la propuesta los lastres deje de tirar y el planeador debe hundirse un poco. Esto también será a la etapa en la próxima generación de la sub cuando se toma el tubo de ensayo en muestras. Por último tenemos una función de aumento. Esto convierte la dirección del paso a paso motor alrededor para que empuja los lastres y el agua vuelve a salir. Esto permite que el sumiso ser más boyante y flotará a la superficie. El comando final sólo apaga los motores y permite la recuperación segura de la embarcación.