#include <AFMotor.h>
//defining pins and variables
#define left A0
#define right A1
//defining motors
AF_DCMotor M1(2);
AF_DCMotor M4(3);
int S_maju = 100;
int S_belok = 150;
void setup() {
//declaring pin types
pinMode(left, INPUT);
pinMode(right, INPUT);
//begin serial communication
Serial.begin(9600);
}
void loop() {
//printing values of the sensors to the serial monitor
Serial.println(digitalRead(left));
Serial.println(digitalRead(right));
//line detected by both
if (digitalRead(left) == 0 && digitalRead(right) == 0) {
//Forward
M1.run(FORWARD);
M1.setSpeed(S_maju);
M4.run(FORWARD);
M4.setSpeed(S_maju);
}
//line detected by left sensor
else if (digitalRead(left) == 0 && !analogRead(right) == 0) {
//turn left
M1.run(FORWARD);
M1.setSpeed(S_belok);
M4.run(BACKWARD);
M4.setSpeed(S_belok);
}
//line detected by right sensor
else if (!digitalRead(left) == 0 && digitalRead(right) == 0) {
//turn right
M1.run(BACKWARD);
M1.setSpeed(S_belok);
M4.run(FORWARD);
M4.setSpeed(S_belok);
}
//line detected by none
else if (!digitalRead(left) == 0 && !digitalRead(right) == 0) {
//stop
M1.run(RELEASE);
M1.setSpeed(0);
M4.run(RELEASE);
M4.setSpeed(0);
}
}
Terkait