this is my code for autonomy,
is this ok.
I used lidar as inputs.
byte irf = 10;
byte irl = 9;
byte irr = 8;
byte rightfront = 2;
byte rightback = 3;
byte leftfront = 4;
byte leftback = 5;
void setup() {
pinMode(irf, INPUT);
pinMode(irl, INPUT);
pinMode(irr, INPUT);
pinMode(rightfront, OUTPUT);
pinMode(rightback, OUTPUT);
pinMode(leftfront, OUTPUT);
pinMode(leftback, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (digitalRead(irf) == LOW && digitalRead(irl) == LOW && digitalRead(irr) == LOW) {
digitalWrite(rightfront, HIGH);
digitalWrite(rightback, LOW);
digitalWrite(leftfront, HIGH);
digitalWrite(leftback, LOW);
Serial.println("no obstacle , going front");
} else if (digitalRead(irf) == LOW && digitalRead(irl) == LOW && digitalRead(irr) == HIGH) {
digitalWrite(rightfront, HIGH);
digitalWrite(rightback, LOW);
digitalWrite(leftfront, HIGH);
digitalWrite(leftback, LOW);
Serial.println("right is near obstacle , going front");
} else if (digitalRead(irf) == LOW && digitalRead(irl) == HIGH && digitalRead(irr) == LOW) {
digitalWrite(rightfront, HIGH);
digitalWrite(rightback, LOW);
digitalWrite(leftfront, HIGH);
digitalWrite(leftback, LOW);
Serial.println("left is near obstacle , going front");
} else if (digitalRead(irf) == LOW && digitalRead(irl) == HIGH && digitalRead(irr) == HIGH) {
digitalWrite(rightfront, HIGH);
digitalWrite(rightback, LOW);
digitalWrite(leftfront, HIGH);
digitalWrite(leftback, LOW);
Serial.println("right and left is near obstacle , going front");
} else if (digitalRead(irf) == HIGH && digitalRead(irl) == LOW && digitalRead(irr) == LOW) {
digitalWrite(rightfront, LOW);
digitalWrite(rightback,HIGH;
digitalWrite(leftfront,HIGH);
digitalWrite(leftback,LOW);
Serial.println("obstacle infront ! , turning right");
delay(600);
} else if (digitalRead(irf) == HIGH && digitalRead(irl) == LOW && digitalRead(irr) == HIGH) {
digitalWrite(rightfront, HIGH);
digitalWrite(rightback,LOW;
digitalWrite(leftfront,LOW;
digitalWrite(leftback,HIGH);
Serial.println("obstacle infront and on right , turning left");
delay(600);
} else if (digitalRead(irf) == HIGH && digitalRead(irl) == HIGH && digitalRead(irr) == LOW) {
digitalWrite(rightfront, LOW);
digitalWrite(rightback,HIGH;
digitalWrite(leftfront,HIGH);
digitalWrite(leftback,LOW);
Serial.println("obstacle infront and on left , turning right");
delay(600);
} else if (digitalRead(irf) == HIGH && digitalRead(irl) == HIGH && digitalRead(irr) == HIGH) {
digitalWrite(rightfront, LOW);
digitalWrite(rightback,HIGH;
digitalWrite(leftfront,LOW);
digitalWrite(leftback,HIGH);
Serial.println("obstacle in front & right & left, going back");
delay(3500);
}
delay(100);
}
your suggestions are extremely valuble to me.
thnx