// santoantonion23.c - Criado pelo studio UNO 2.3
// 16 May 2016 12:24:55 pm
#include <uno.h>
// Declaracao das Variaveis
unsigned int EncDir;
unsigned int EncEsq;
// Prototipos
void retinho(void);
void LeEncoders(void);
void freio(void);
//Funcoes do Usuario
void retinho(void)
{
if ((EncEsq > EncDir)) {
__motor_curso(__LEFT_TURN);
}
if ((EncEsq < EncDir)) {
__motor_curso(__RIGHT_TURN);
}
if ((EncEsq == EncDir)) {
__motor_curso(__FORWARD);
}
}
void LeEncoders(void)
{
EncEsq = __EncoderGetValue(1);
EncDir = __EncoderGetValue(2);
__delay(5);
}
void freio(void)
{
__motor_curso(__REVERSE);
__delay(30);
__motor_curso(__STOP);
}
//Funcao Principal
void main(void)
{
__inicializa;
__SmartSensorCmd(1, 1, 8, 0);
__SmartSensorCmd(1, 1, 9, 0);
__SmartSensorCmd(1, 2, 9, 0);
__motor_curso(__RIGHT_ROTATE);
// NP=Angulo/4,9
while((__EncoderGetValue(1) < 17)) {
while(!(__EncoderGetValue(1) >= 17)) { __delay(10); }
__SmartSensorCmd(1, 1, 8, 0);
__SmartSensorCmd(1, 1, 9, 0);
__SmartSensorCmd(1, 2, 9, 0);
EncEsq = 0;
EncDir = 0;
}
// Para saber os pulsos divido a distância em centimetros por
// 0,618.
while(((EncEsq < 72) || (EncDir < 72))) {
__backlight(__ON);
__lcd_goto(0x7f, 1);
__lcd_puts("%d", __EncoderGetValue(1));
__motor_curso(__RIGHT_ROTATE);
}
freio();
while(TRUE) { }
}