// seguidor_de_linha.c - Criado pelo studio UNO 2.3
// 29 October 2014 8:22:07 pm
#include <uno.h>
// Declaracao das Variaveis
unsigned char dire;
unsigned char esqu;
unsigned char lado;
unsigned char meio;
//Funcao Principal
void main(void)
{
__inicializa;
__SmartSensorCmd(2, 1, 14, 0);
while(TRUE) {
esqu = __SeguidorGetDigital(1, 2);
__delay(10);
meio = __SeguidorGetDigital(1, 3);
__delay(10);
dire = __SeguidorGetDigital(1, 4);
__delay(10);
// esqu=pista;
// meio=linha;
// dire=pista;
if (((esqu == 255) && ((meio == 0) && (dire == 255)))) {
__motor_curso(__FORWARD);
}
// esqu=linha;
// meio=pista;
// dire=pista;
if (((esqu == 0) && ((meio == 255) && (dire == 255)))) {
__motor_curso(__LEFT_TURN);
lado = 0;
}
// esqu=pista;
// meio=pista;
// dire=linha;
if (((esqu == 255) && ((meio == 255) && (dire == 0)))) {
__motor_curso(__RIGHT_TURN);
lado = 1;
}
// esqu=linha;
// meio=linha;
// dire=pista;
if (((esqu == 0) && ((meio == 0) && (dire == 255)))) {
__motor(1, 900);
__motor(2, 1023);
lado = 0;
}
// esqu=pista;
// meio=linha;
// dire=linha;
if (((esqu == 255) && ((meio == 0) && (dire == 0)))) {
__motor(1, 1023);
__motor(2, 900);
lado = 1;
}
// esqu=pista;
// meio=pista;
// dire=pista;
if (((esqu == 255) && ((meio == 255) && (dire == 255)))) {
if ((lado == 0)) {
__motor_curso(__LEFT_ROTATE);
}
else {
__motor_curso(__RIGHT_ROTATE);
}
}
}
while(TRUE) { }
}