Hi,
I have building a robot with 2 motors on each side and a spinning wheel on the front, so it can go forward/backward and turn right/left easily. My objective is to creat floor cleaner to go through all the space available at my room.
I have created one with this components:
- ARDUINO UNO R3
- L293d Motor Shield
- 2 Bo motor 100 rpm
- hc-sr04 ultrasonic sensor
It works fine for a but not fulfill my objective, "go through all the space available"
My code is as under
#include <AFMotor.h>[color=#222222][/color]
#define trigPin 12[color=#222222][/color]
#define echoPin 13[color=#222222][/color]
AF_DCMotor motor1(1);[color=#222222][/color]
AF_DCMotor motor2(2);[color=#222222][/color]
[color=#222222][/color]
void setup() {[color=#222222][/color]
pinMode(trigPin, OUTPUT);[color=#222222][/color]
pinMode(echoPin, INPUT);[color=#222222][/color]
}[color=#222222][/color]
[color=#222222][/color]
void loop() {[color=#222222][/color]
[color=#222222][/color]
long duration, distance;[color=#222222][/color]
digitalWrite(trigPin, LOW);[color=#222222][/color]
delayMicroseconds(2);[color=#222222][/color]
digitalWrite(trigPin, HIGH);[color=#222222][/color]
[color=#222222][/color]
delayMicroseconds(2);[color=#222222][/color]
digitalWrite(trigPin, LOW);[color=#222222][/color]
duration = pulseIn(echoPin, HIGH);[color=#222222][/color]
distance = (duration / 2) / 29.1;[color=#222222][/color]
[color=#222222][/color]
if (distance < 15) {[color=#222222][/color]
motor1.setSpeed(100);[color=#222222][/color]
motor2.setSpeed(0);[color=#222222][/color]
motor1.run(FORWARD);[color=#222222][/color]
motor2.run(FORWARD);[color=#222222][/color]
delay(4740); [color=#222222][/color]
}[color=#222222][/color]
else {[color=#222222][/color]
motor1.setSpeed(100); [color=#222222][/color]
motor2.setSpeed(100);[color=#222222][/color]
motor1.run(FORWARD);[color=#222222][/color]
motor2.run(FORWARD);[color=#222222][/color]
}[color=#222222][/color]
}
Please help to upgrade the code so that it go through all the space available.