Update steering and also update Kp

This commit is contained in:
Γιώργος Αντρέου 2025-05-29 17:13:00 +03:00
parent 576f4a8293
commit 33611fcfb1

View file

@ -4,9 +4,9 @@ QTRSensors qtr;
const uint8_t SensorCount = 8;
uint16_t sensorValues[SensorCount];
float Kp = 0.09;//set up the constants value
float Kp = 0.093;//set up the constants value
float Ki = 0.0008;
float Kd = 0.34;
float Kd = 0.6;
int P;
int I;
int D;
@ -95,7 +95,38 @@ void forward_brake(int posa, int posb) {
analogWrite(aenbl, posa);
analogWrite(benbl, posb);
}
void PID_control() {
void left_brake(int posa, int posb) {
digitalWrite(aphase, LOW);
digitalWrite(bphase, LOW);
analogWrite(aenbl, posa);
analogWrite(benbl, posb);
}
void right_brake(int posa, int posb) {
digitalWrite(aphase, HIGH);
digitalWrite(bphase, HIGH);
analogWrite(aenbl, posa);
analogWrite(benbl, posb);
}
void speedcontrol(int mota, int motb) {
if (mota >= 0 && motb >= 0) {
forward_brake(mota, motb);
}
if (mota < 0 && motb >= 0) {
//dreapta
mota = 0 - mota;
right_brake(mota, motb);
}
if (mota >= 0 && motb < 0) {
//stanga
motb = 0 - motb;
left_brake(mota, motb);
}
}
void PID_control() {
uint16_t position = qtr.readLineBlack(sensorValues);
int error = 3500 - position;
@ -121,5 +152,5 @@ void PID_control() {
motorspeedb = minspeedb;
}
//Serial.print(motorspeeda);Serial.print(" ");Serial.println(motorspeedb);
forward_brake(motorspeeda, motorspeedb);
speedcontrol(motorspeeda, motorspeedb);
}