Sigue líneas
En este caso sólo vamos a utilizar de los 4 sensores quad que tiene los 2 de en medio con la instrucción
mbuild.quad_rgb_sensor.get_line_sta("middle", 1)
El valor que devuelve esta instrucción puede ser :
- 0 o en binario 00 que quiere decir que los dos sensores detectan blanco, por lo tanto habría que volver hacia atrás para recuperar la línea
- 1 o en binario 01 que significa que el sensor de la derecha detecta línea pero el de la izquierda no, por lo tanto hay que girar a la derecha
- 2 o en binario 10 que significa que el sensor de la izquierda detecta línea pero el de la derecha no, por lo tanto hay que girar a la izquierda
- 3 o en binario 11 que quiere decir que los dos sensores detectan línea, por lo tanto todo bien, recto
El código es
import event, time, cyberpi, mbuild, mbot2
cyberpi.display.show_label("PULSA A PARA COMENZAR",16,0,20,1)
while not cyberpi.controller.is_press('a'):
pass
while True:
if mbuild.quad_rgb_sensor.get_line_sta("middle", 1) == 0b00:
mbot2.backward(50)
if mbuild.quad_rgb_sensor.get_line_sta("middle", 1) == 0b11:
mbot2.forward(50)
if mbuild.quad_rgb_sensor.get_line_sta("middle", 1) == 0b01:
mbot2.turn_right(50)
if mbuild.quad_rgb_sensor.get_line_sta("middle", 1) == 0b10:
mbot2.turn_left(50)
Fuente Javier Quintana
El resultado es
No Comments