//motor shield pin int dirR = 12; int speedR = 10; int dirL = 13; int speedL = 11; //ultrasonic pin int _ = _; int _ = _; long _; int _; void setup() { pinMode(dirR, OUTPUT); pinMode(speedR, OUTPUT); pinMode(dirL, OUTPUT); pinMode(speedL, OUTPUT); pinMode(_, INPUT); //echo pinMode(_, OUTPUT); //trig Serial.begin(9600); } 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 _() //ultrasonic { digitalWrite(_, LOW); //ultrasonic trig pin delayMicroseconds(2); //ultrasonic trig pin digitalWrite(_, HIGH); delayMicroseconds(10); digitalWrite(_, LOW); //ultrasonic echo pin _ = pulseIn(_, HIGH); _ = _ * 0.034 / 2; } void loop() { _(); //ultrasonic Serial.print("Distance: "); Serial.println(_); if ( _ > _ && _ < _ ) { stop(); delay(_); _(_, _); //reverse delay(_); _(_, _); //turn delay(_); } else { _(_, _); //forward } }