En esta lección vamos a evitar terribles accidentes. Haremos un programa para evitar que el PrintBot Renacuajo se caiga de la mesa. Para ello usaremos los sensores IR de la parte delantera del robot. En la lección anterior os hemos dicho que el sensor infra-rojo distingue el color negro del blanco, pero en realidad, cuando no hay nada debajo del sensor (es decir, cuando está a punto de caerse), es igual que si viera negro. Por lo tanto, para programar nuestro robot no te caigas basta que detectemos el color negro. ¡Manos a la obra!
En primer lugar declaramos las variables para los sensores IR y para los servos.
Una vez hecho esto vamos a hacer que nuestro robot se mueva en línea recta cuando hay suelo, y que gire durante 2 segundos cuando esté a punto de caerse. Sabremos que está a punto de caerse porque alguno de los dos sensores IR detectará NEGRO.
Uff, ¡qué complicado! No te preocupes, te lo explico por partes.
- Queremos detectar cuándo el Renacuajo está a punto de caerse, es decir el IR derecho o el IR izquierdo están viendo negro. Esto se hace así:
- Cuando uno de los dos ve el abismo debemos girar, para ello paramos el servo derecho y hacemos girar hacia atrás al servo izquierdo. Además lo pausamos 2000 milisegundos, es decir, 2 segundos.
- De lo contrario, es decir, si ambos IR no ven el abismo, lo que quiere decir que estoy en terreno seguro, avanzo. Para ello, el servo izquierdo gira en sentido de las agujas del reloj, mientras el servo derecho gira en sentido contrario.
¿Has visto? ¡Es fácil! Prográmalo tú mismo en bitbloq y mándanos un video para que lo veamos todos. Hasta la próxima robonautas.