Código seguir linha. Robô zumo pololu
Código
int esq;
int dir;
const int valor_branco = 500;
// as quatros linhas abaixo significam quais pinos dos arduino serão utilizados
const int motorA = 5; //velocidade motor A - de 0 a 255
const int motorB = 6; //velocidade motor B - de 0 a 255
const int dirA = 7; //direção do motor A - HIGH ou LOW
const int dirB = 8; //direção do motor B - HIGH ou LOW
void setup(){
// as quatros linhas abaixo significam a comfiguração dos pinos
pinMode(motorA, OUTPUT);
pinMode(motorB, OUTPUT);
pinMode(dirA, OUTPUT);
pinMode(dirB, OUTPUT);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
Serial.begin(9600);
}
void loop(){
esq = analogRead(A0);
dir = analogRead(A1);
Serial.println(esq);
Serial.println(dir);
if (esq > 700 && dir > 700)
{
Serial.println("acelerar");
// as quatros linhas abaixo significam que um motor vai para frente e outro para trás com velocidade maxima
digitalWrite(dirA, LOW); //SENTIDO DE ROTACAO
digitalWrite(dirB, HIGH);
analogWrite(motorA, 100); //VELOCIDADE
analogWrite(motorB, 10);
}
if (esq > 700 && dir < 900)
{
Serial.println("acelera mais a esquerda");
analogWrite(motorA, 100); //VELOCIDADE
analogWrite(motorB, 0);
}
if (esq < 900 && dir > 700)
{
Serial.println("acelerar mais a direita");
analogWrite(motorA, 0); //VELOCIDADE
analogWrite(motorB, 100);
}
delay (500);
}
int esq;
int dir;
const int valor_branco = 500;
// as quatros linhas abaixo significam quais pinos dos arduino serão utilizados
const int motorA = 5; //velocidade motor A - de 0 a 255
const int motorB = 6; //velocidade motor B - de 0 a 255
const int dirA = 7; //direção do motor A - HIGH ou LOW
const int dirB = 8; //direção do motor B - HIGH ou LOW
void setup(){
// as quatros linhas abaixo significam a comfiguração dos pinos
pinMode(motorA, OUTPUT);
pinMode(motorB, OUTPUT);
pinMode(dirA, OUTPUT);
pinMode(dirB, OUTPUT);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
Serial.begin(9600);
}
void loop(){
esq = analogRead(A0);
dir = analogRead(A1);
Serial.println(esq);
Serial.println(dir);
if (esq > 700 && dir > 700)
{
Serial.println("acelerar");
// as quatros linhas abaixo significam que um motor vai para frente e outro para trás com velocidade maxima
digitalWrite(dirA, LOW); //SENTIDO DE ROTACAO
digitalWrite(dirB, HIGH);
analogWrite(motorA, 100); //VELOCIDADE
analogWrite(motorB, 10);
}
if (esq > 700 && dir < 900)
{
Serial.println("acelera mais a esquerda");
analogWrite(motorA, 100); //VELOCIDADE
analogWrite(motorB, 0);
}
if (esq < 900 && dir > 700)
{
Serial.println("acelerar mais a direita");
analogWrite(motorA, 0); //VELOCIDADE
analogWrite(motorB, 100);
}
delay (500);
}
Comentários
Postar um comentário