Paso 6: Programa de la mesa-sin mesa
El código de Arduino para el TNT tiene tres funciones principales:
- Crear un camino aleatorio para la TNT
- avanzar por ese camino en intervalos al azar y
- movimiento de registro en una tarjeta SD.
Usted puede encontrar el código de Arduino abajo. Todo lo que necesitas hacer es descargar el código y subir a tu placa de Arduino. Si desea modificar el código, aquí está una explicación más detallada de los pasos individuales.
En primer lugar, el espacio de en que la TNT se mueve es limitado porque está conectado a un cable de alimentación. Por lo tanto su movimiento no puede ser completamente al azar, ya que puede funcionar sin cable o, si los motores son lo suficientemente fuertes, puede desenchufar sí mismo. Puesto que todavía queríamos el movimiento aparezca al azar hemos decidido programar una lógica que crea un camino al azar para la TNT. Pero una vez había llegado al final del camino, será retroceder sus pasos a su posición original. Y después de la TNT volvió a su posición original el código generará un nuevo camino al azar para la TNT. De esta manera el movimiento es todavía aleatorio, pero también asegura que el TNT permanecerá dentro de una zona determinada ya que siempre está volviendo a su punto de partida.
La trayectoria sí mismo puede contener cualquier número de pasos pero decidimos trabajar con 6 pasos en total. 3 pasos para una posición al azar y tres pasos hacia el punto de partida. Cada paso puede ser uno de los 8 programados movimientos: adelante, derecha, izquierda, giro derecha, giro izquierda, inversa derecha, inversa izquierda y al revés. Cada vez que nuestro código crea una nueva ruta que seleccione tres movimientos al azar y almacenarlos en un array. Luego seguir adelante y determinar los pasos necesarios para volver a su posición original.
Por ejemplo, supongamos que la ruta de acceso al azar consiste en la siguiente secuencia: izquierda, giro derecha, adelante. El código será entonces determinar que los pasos para volver al inicio: al revés, girar izquierda, derecha atrás.
Mientras que el código crea la ruta de la TNT, también determina de cuánto se ejecutará cada paso. La duración puede variar entre 5 y 12 segundos, mientras que el código se asegura de que cada paso y su contraparte se ejecutarán por el mismo tiempo. Por ejemplo: Si el paso 'Hacia delante' del ejemplo anterior es ejecutado por 8,5 segundos, también se ejecutará el paso 'Hacia atrás' para 8.5 segundos.
Ahora el TNT está listo pero lo único no ejecutado inmediatamente. El código pone un retardo aleatorio antes de ejecutar cada paso. Estos retrasos van desde 20 a 110 minutos. A diferencia de los pasos y el tiempo para cada paso, cada retardo solo es diferente que se suma a la ambigüedad del movimiento.
Por último los pasos solo se graban en una tarjeta SD enchufada en el escudo de Datalogger. El escudo también nos permite leer la hora actual que usamos para grabar junto a los pasos individuales y su sincronización.