Dans notre dernier billet de blog, nous avons capturé quelques données de capteur des trois différentes positions que notre robot peut rencontrer lorsqu’il suit la ligne noire, (capteur noir, gauche droite/capteur capteur blanc, à droite noir à gauche).
Dans ce blog, nous allons prendre ces données de capteur et exécutez-le approfondie de notre programme de Python readOptical.py et évaluer ce qui se passe dans notre programme de lineFollow.ino.
Nous allons regarder les sections suivantes du code :
Si ((sensor_in & 0xf00) == 0) sensorValue1 = sensor_in & 0xff ;
sinon si ((sensor_in & 0xf00) >> 8 == 1)
sensorValue2 = sensor_in & 0xff ;
Si (sensorValue1 == 0 x 00) action1 = action1 & 0xfe ;
Si (sensorValue1 == 0xFF) action1 = action1 | 0 x 01 ;
Si (sensorValue2 == 0 x 00)
Action1 = action1 | 0 x 02 ;
Si (sensorValue2 == 0xFF)
Action1 = action1 & 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 = action1 ;
Notre programme de Python readOptical.py peu près contient le code ci-dessus, mais aussi calcule les opérateurs de bits et convertit les instructions de programme (expressions) binaire alors nous pouvons facilement voir ce que fait vraiment le programme.
Consulter mon blog pour plus d’informations :
http://joepitz.wordpress.com/