Hi, I’m new. I’m in my first project and I’m having problems with the code. I’m doing the code on MPlab and the objective is to follow a black line. Some words are in Portuguese, so: SENSORDIREITA= right sensor; SENSORESQUERDA= left sensor; SENSORFRONTAL= center sensor; CORINTERMEDIARIA= avg; Thanks (:
[FONT=“Comic Sans MS”]#include “API.h”
#include “BuiltIns.h”
int SENSORDIREITA; //Sensor da direita.
int SENSORCENTRAL; //Sensor central.
int SENSORESQUERDA; //Sensor da esquerda.
int SENSORFRONTAL; //Sensor da frente.
int CORINTERMEDIARIA = 300; //Nível de luminosidade dos sensores (0=PRETO e 1000=BRANCO).
int FWD = 192; //Velocidade máxima para tras.
int STP = 127; //Velocidade nula.
int REV = 67; //Velocidade máxima para frente.
int SLOW = 157; //Velocidade lenta para tras.
int REVSLOW = 97; //Velocidade lenta para frente.
void main (void)
{
SetPWM (1,STP);
SetPWM (2,STP);
SENSORDIREITA = GetAnalogInput(1);
SENSORCENTRAL = GetAnalogInput(2);
SENSORESQUERDA = GetAnalogInput(3);
Wait (1000); //Tempo para carregar sensores.
while (1) //Loop Infinito.
{
while (SENSORCENTRAL < CORINTERMEDIARIA) //Sensor central está sobre a linha.
{
SENSORCENTRAL = GetAnalogInput(2);
SetPWM (1,REV);
SetPWM (2,FWD);
}
while (SENSORDIREITA < CORINTERMEDIARIA) //Caso o valor for menor que CORINTERMEDIARIA, então SENSORDIREITA está sobre a linha.
{
SENSORDIREITA = GetAnalogInput(1);
SetPWM (1,FWD);
SetPWM (2,FWD);
}
while (SENSORESQUERDA < CORINTERMEDIARIA) //Caso o valor for menor que CORINTERMEDIARIA, então SENSORESQUERDA está sobre a linha.
{
SENSORESQUERDA = GetAnalogInput(3);
SetPWM (1,FWD);
SetPWM (2,FWD);
}
SENSORDIREITA = GetAnalogInput(1);
SENSORCENTRAL = GetAnalogInput(2);
SENSORESQUERDA = GetAnalogInput(3);
}
} [/FONT]