//motor shield pin int dirR = 12; int speedR = 10; int dirL = 13; int speedL = 11; int pb = 7; //push button //line sensor pin int _ = _; int _ = _; int _ = _; int _ = _; int _ = _; void setup() { pinMode(dirR, OUTPUT); pinMode(speedR, OUTPUT); pinMode(dirL, OUTPUT); pinMode(speedL, OUTPUT); pinMode(pb, INPUT); pinMode(_, INPUT); pinMode(_, INPUT); pinMode(_, INPUT); pinMode(_, INPUT); pinMode(_, INPUT); while (_(_) == 0) { stop(); } } void forward(int a, int b) //a=right motor, b=left motor { digitalWrite(dirR, HIGH); analogWrite(speedR, a); digitalWrite(dirL, HIGH); analogWrite(speedL, b); } void backward(int a, int b) //a=right motor, b=left motor { digitalWrite(dirR, LOW); analogWrite(speedR, a); digitalWrite(dirL, LOW); analogWrite(speedL, b); } void right(int a, int b) //a=right motor, b=left motor { digitalWrite(dirR, LOW); analogWrite(speedR, a); digitalWrite(dirL, HIGH); analogWrite(speedL, b); } void left(int a, int b) //a=right motor, b=left motor { digitalWrite(dirR, HIGH); analogWrite(speedR, a); digitalWrite(dirL, LOW); analogWrite(speedL, b); } void stop() { analogWrite(speedR, 0); analogWrite(speedL, 0); } void loop() { int _ = _(_); int _ = _(_); int _ = digitalRead(_); int _ = digitalRead(_); int _ = digitalRead(_); if (s1 == LOW && s2 == LOW && s3 == HIGH && s4 == LOW && s5 == LOW) //12*45 - Situation #1 { forward(_, _); } if (s1 == LOW && s2 == LOW && s3 == HIGH && s4 == HIGH && s5 == LOW) //12**5 - Situation #2 { forward(_, _); } if (s1 == LOW && s2 == HIGH && s3 == HIGH && s4 == LOW && s5 == LOW) //1**45 - Situation #3 { forward(_, _); } if (s1 == LOW && s2 == LOW && s3 == LOW && s4 == HIGH && s5 == LOW) //123*5 - Situation #4 { forward(_, _); } if (s1 == LOW && s2 == HIGH && s3 == LOW && s4 == LOW && s5 == LOW) //1*345 - Situation #5 { forward(_, _); } if (s1 == LOW && s2 == LOW && s3 == LOW && s4 == HIGH && s5 == HIGH) //123** - Situation #6 { forward(_, _); } if (s1 == HIGH && s2 == HIGH && s3 == LOW && s4 == LOW && s5 == LOW) //**345 - Situation #7 { forward(_, _); } if (s1 == LOW && s2 == LOW && s3 == LOW && s4 == LOW && s5 == HIGH) //1234* - Situation #8 { forward(_, _); } if (s1 == HIGH && s2 == LOW && s3 == LOW && s4 == LOW && s5 == LOW) //*2345 - Situation #9 { forward(_, _); } if (s1 == LOW && s2 == LOW && s3 == LOW && s4 == LOW && s5 == LOW) //12345 - Situation #10 { right(_, _); } if (s1 == LOW && s2 == HIGH && s3 == HIGH && s4 == HIGH && s5 == LOW) //1***5 - Situation #11 { forward(_, _); } if (s1 == HIGH && s2 == HIGH && s3 == HIGH && s4 == LOW && s5 == LOW) //***45 - Situation #12 { forward(120, 100); } if (s1 == LOW && s2 == LOW && s3 == HIGH && s4 == HIGH && s5 == HIGH) //12*** - Situation #13 { forward(_, _); } if (s1 == LOW && s2 == HIGH && s3 == HIGH && s4 == HIGH && s5 == HIGH) //1**** - Situation #14 { forward(_, _); } if (s1 == HIGH && s2 == HIGH && s3 == HIGH && s4 == HIGH && s5 == LOW) //****5 - Situation #15 { forward(_, _); } if (s1 == HIGH && s2 == HIGH && s3 == HIGH && s4 == HIGH && s5 == HIGH) //***** - Situation #16 { stop(); } }