Hello Guys,
First I isn't be a good writer on English Language but a will try my best for you help me.
I'm using a QTR-8A on a Robot but a I need do this with him...
Following a Line and Line Breaks...
This is my program for follow line:
<code>
#include <DualVNH5019MotorShield.h>
#include <QTRSensors.h>
DualVNH5019MotorShield md; //declaracao dos pinos dos motores
QTRSensorsAnalog qtr((unsigned char[]) {0, 1, 2, 3, 4, 5, 6, 7}, 8); // declaracao sensores analogicos
unsigned int sensors[8]; //diz quantos sensores tem utilizados
const float KP = 0.1; // potencial
const float KD = 5.0; // derivado
int last_error = 0; // erro
const int M1 = 200; // velocidade 1
const int M2 = 200; // velocidade 2
void setup() {
md.init();
md.setSpeeds(200, -200);
for (int i = 0; i < 250; i++) {
qtr.calibrate();
delay(20); // rotina de calibracao 1
}
md.setSpeeds(-200, 200);
for (int i = 0; i < 250; i++) {
qtr.calibrate();
delay(20); // rotina de calibracao 2
}
}
void loop() {
int position = qtr.readLine(sensors);
int error = position - 1000;
int motor_speed = (int)(KP * error + KD * (error - last_error));
last_error = error;
int m1_speed = M1 + motor_speed;
int m2_speed = M2 - motor_speed;
m1_speed = constrain(m1_speed, 0, 400);
m2_speed = constrain(m2_speed, 0, 400);
md.setSpeeds(m1_speed, m2_speed);
}
</code>
But I don't know how I do for him pass the Break Line !.
Help me guys please !