#define Am 19
#define Ap 18
#define Bp 17
#define Bm 16
#define sig 26
boolean turnedCCW = false ;
boolean turnedCW = false ;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(Am, OUTPUT);
pinMode(Ap, OUTPUT);
pinMode(Bp, OUTPUT);
pinMode(Bm, OUTPUT);
pinMode(sig, INPUT);
}
void loop()
{
int value = analogRead(sig);
// Serial.println(value);
if (value >= 0 && value < 1023 && turnedCCW == false) {
Serial.println("Left");
ccw();
turnedCCW = true ;
if(turnedCW == true){
cwB();
}
turnedCW = false ;
} else if (value >= 1023 && value < 3072) {
} else if (value >= 3072 && value < 4096 && turnedCW == false ) {
Serial.println("Right");
cw();
turnedCW = true ;
if(turnedCCW == true){
ccwB();
}
turnedCCW = false ;
}
}
void cw() {
for (int i = 0 ; i < 5 ; i++ ) {
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
}
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
}
void ccw() {
for (int i = 0 ; i < 4 ; i++ ) {
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
}
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
}
void cwB() {
for (int i = 0 ; i < 4 ; i++ ) {
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
}
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
}
void ccwB() {
for (int i = 0 ; i < 5 ; i++ ) {
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
digitalWrite(Am, LOW);
digitalWrite(Ap, HIGH);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, HIGH);
digitalWrite(Bm, LOW);
delay(2);
}
digitalWrite(Am, HIGH);
digitalWrite(Ap, LOW);
digitalWrite(Bp, LOW);
digitalWrite(Bm, HIGH);
delay(2);
}