En nuestro último post del blog capturamos algunos datos de los sensores de las tres diferentes posiciones que nuestro robot puede encontrarse al seguir la línea negra, (negro, sensor de sensor/derecha sensor blanco, derecha sensor izquierdo negro a la izquierda).
En este blog vamos a tomar los datos del sensor y ejecutar a fondo nuestro programa de Python readOptical.py y evaluar lo que está sucediendo en nuestro programa de lineFollow.ino.
Vamos a ver en las siguientes secciones de código:
Si ((sensor_in & 0xf00) == 0) sensorValue1 = sensor_in & 0xff;
else if ((sensor_in & 0xf00) >> 8 == 1)
sensorValue2 = sensor_in & 0xff;
Si (sensorValue1 == 0 x 00) acción1 = acción1 y 0xfe;
Si (sensorValue1 == 0xFF) acción1 = action1 | 0 x 01;
Si (sensorValue2 == 0 x 00)
acción1 = action1 | 0 x 02;
Si (sensorValue2 == 0xFF)
acción1 = acción1 y 0xfd;
Si (action1! = action2)
{
Si (action1 == 3)
line_following.go_forward(50);
Si (action1 == 1)line_following.line_following_turn_left(50);
Si (action1 == 2)line_following.line_following_turn_right(50);
Si (action1 == 0)
line_following.go_forward(50);
}
action2 = acción1;
Nuestro programa de Python readOptical.py bastante contiene el código anterior, pero también calcula los operadores bit a bit y convierte las instrucciones del programa (expresiones) a binario para que podamos ver fácilmente lo que realmente está haciendo el programa.
Pásate por mi blog para obtener más información:
http://joepitz.wordpress.com/