In onze laatste blogpost we bepaalde sensorgegevens uit de drie verschillende posities die onze robot tegenkomen kunt wanneer na de zwarte lijn, (links sensor zwart, links sensor/sensor wit, juiste sensor zwart) gevangen.
In deze blogpost wij gaan nemen die sensorgegevens en het grondige onze readOptical.py Python programma uitvoeren en evalueren wat er gebeurt in ons lineFollow.ino-programma.
We gaan kijken naar de volgende secties van code:
Als ((sensor_in & 0xf00) == 0) sensorValue1 = sensor_in & 0xff;
anders als ((sensor_in & 0xf00) >> 8 == 1)
sensorValue2 = sensor_in & 0xff;
Als (sensorValue1 == 0x00) Actie1 = Actie1 & 0xfe;
Als (sensorValue1 == 0xFF) Actie1 = Actie1 | 0x01;
Als (sensorValue2 == 0x00)
Actie1 = Actie1 | 0x02;
Als (sensorValue2 == 0xFF)
Actie1 = Actie1 & 0xfd;
Als (Actie1! = Actie2)
{
Als (Actie1 == 3)
line_following.go_forward(50);
Als (Actie1 == 1)line_following.line_following_turn_left(50);
Als (Actie1 == 2)line_following.line_following_turn_right(50);
Als (Actie1 == 0)
line_following.go_forward(50);
}
Actie2 = Actie1;
Onze readOptical.py Python programma vrij veel bevat de bovenstaande code, maar ook berekent de bitsgewijze operatoren en de programma-instructies (expressies) omgezet in binaire zodat we gemakkelijk kunnen zien wat het programma echt doet.
Check mijn blog voor meer info:
http://joepitz.WordPress.com/