Objetivo:
Programar el coche para que atienda a las siguientes órdenes:
- Al tocar el logo, el coche avanza / retrocede.
- Al presionar el botón A, el coche gira a la izquierda.
- Al presionar el botón B, el coche gira a la derecha.
- Al tapar el sensor de luz, el coche se para.
Programación:
Avanzar y retroceder: Para cambiar el sentido de la marcha, utilizamos el sensor de contacto del logo. Al tocarlo, el coche retrocede si estaba avanzando, o avanza si estaba retrocediendo.
Utilizamos una variable para indicar el sentido de la marcha actual. Cuando el coche avanza, la variable vale 0 y cuando el coche retrocede, la variable vale 1.
Al tocar el sensor de contacto
– Si la variable vale 0, cambia el sentido de los motores (-50 y 50), pon 1 en la variable y el coche retrocederá.
– Si la variable vale 1, cambia el sentido de los motores (50 y -50), pon 0 en la variable y el coche avanzará
Girar a la derecha: Para girar a la derecha, ponemos a 0 la velocidad del motor P2. Tenemos en cuenta si el coche avanzaba o retrocedía para que respete el sentido de giro. Para ello utilizamos la variable sentido
Girar a la izquierda: Para girar a la izquierda, ponemos a 0 la velocidad del motor P1. Tenemos en cuenta si el coche avanzaba o retrocedía para que respete el sentido de giro. Para ello utilizamos la variable sentido
Parar: Si detectamos un nivel de luz igual a cero, significa que estamos tapando la esquina superior derecha de la placa, que es donde se ubica el sensor de luz. En ese caso, detenemos ambos motores.