TEMPORIZADOR
Actividad: El Robot de Rescate.
El mBot debe avanzar de forma autónoma por un pasillo. Si encuentra un obstáculo (una víctima o un derrumbe), debe rodearlo, medir cuánto tiempo ha tardado en esquivarlo y encender los LEDs en rojo como señal de alarma si el obstáculo estaba a menos de 10 cm.
Creamos una variable llamada distancia y otra llamada tiempo_esquiva. Al arrancar el programa, aseguramos que el robot empiece parado.
Justo antes de empezar a girar para esquivar el obstáculo, fijamos la variable tiempo_esquiva al valor del cronómetro del programa.
Al terminar la maniobra, restamos el tiempo actual menos el guardado para calcular cuántos segundos ha tardado en esquivarlo y lo mostramos en la pantalla del ordenador (usando el módulo matriz de LED si el mBot lo lleva).
Al arrancar mBot
| Reiniciar cronómetro
| Para siempre:
| | Fijar variable [distancia] a (distancia del sensor de ultrasonidos en el puerto 3)
| |
| | Si < distancia < 15 > entonces:
| | | Llamar a función "Maniobra_Alarma"
| | Si no:
| | | Avanzar a potencia 50%
| | | Encender LEDs en color VERDE
Función maniobra_alarma :
| Detener movimiento
| Si < distancia < 10 > entonces:
| | Encender LEDs en color ROJO
| Si no:
| | Encender LEDs en color AMARILLO
|
| Fijar [tiempo_inicio] a (cronómetro)
|
| [ programar los giros para esquivar el objeto]
| Girar a la derecha a potencia 60% durante 0.8 seg
| Avanzar a potencia 60% durante 1.2 seg
| Girar a la izquierda a potencia 60% durante 0.8 seg
|
| Fijar [tiempo_final] a ((cronómetro) - tiempo_inicio)
| Muestra en la matriz de LED o pantalla: "Obstáculo esquivado en:" [tiempo_final] "segundos"