Paso 15: Programar el Robot
Para iniciar al robot, colóquelo en una superficie plana y deslice que el interruptor de la Junta de educación, a la posición "2" y el robot debe comenzar - el debería parpadean como ojos de Cylon y el robot deben empezar a moverse. Si no, presione el botón "reset" y todos deben estar bien. Después de que el robot ha terminado de ejecutar el programa se detiene. Presione el botón "reset" para reiniciar el programa.
En el primer diagrama en este paso se muestra el flujo del programa. El programa comienza haciendo el flash de LEDs como ojos de Cylon, entonces se mueve hacia adelante por cinco segundos, detiene los motores entonces va hacia atrás de cinco segundos, detiene los motores, luego gira a la izquierda durante cinco segundos, detiene los motores y entonces se vuelve derecho durante cinco segundos. El programa entonces hace el flash LED como ojos de Cylon y paradas.
El programa tiene cinco subprogramas de alto niveles para el control de los motores: motors_forward, motors_backwards, motors_turn_left, motors_turn_right y motors_stop como se muestra en el segundo diagrama.
- motors_forward subrutina hace dos motores gire hacia la derecha.
- motors_backward hace que ambos motores hacia la izquierda.
- motors_turn_left vueltas haciendo motor A ir hacia la derecha y B ir contra las agujas del reloj.
- motors_turn_right vueltas haciendo motor A ir contra las agujas del reloj y el motor B ir hacia la derecha.
- motors_stop apaga ambos motores.
El tercer diagrama muestra las subrutinas de bajo niveles que controla los motores y los LEDs. Todas las subrutinas siguen la misma forma:
- Establecer la dirección del motor da vuelta encendido o apagado de las señales de dos control. El puente H documentación explica cómo funciona un puente H con más detalle.
- Encender los LEDs correspondientes / apagar para que coincida con lo que las señales se envían al puente H. Esto no es necesario para el movimiento pero es muy útil para la depuración y hace que el robot "look" fresco.
Las subrutinas de LED pasan el número LED para activar o desactivar (led_pin variable) y girar el LED de encendido o apagado por consiguiente.
La subrutina cylon_hello_world hace que el control del motor cuatro LEDs iluminarán y mover hacia atrás y de cuarto como ojos de Cylon. ¿Quién sabe? Este robot podría ser de seis gran, gran, gran, gran, gran, gran abuelo (un poco de humor Battlestar Galactica es lógico para un robot instructable).