Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- const int pingPin = 7;
- const int minsafedistance = 10;
- int rightDistance, leftDistance;
- int leftMotor2 = 3;
- int leftMotor7 = 4;
- int rightMotor10 = 5;
- int rightMotor15 = 6;
- // int enablePin1 = 9;
- // int enablePin9 = 10;
- long duration;
- Servo servo;
- void setup()
- {
- servo.attach(8);
- servo.write(90);
- pinMode(leftMotor2, OUTPUT);
- pinMode(leftMotor7, OUTPUT);
- pinMode(rightMotor10, OUTPUT);
- pinMode(rightMotor15, OUTPUT);
- // pinMode(enablePin1, OUTPUT);
- // pinMode(enablePin9, OUTPUT);
- // digitalWrite(enablePin1, HIGH);
- // digitalWrite(enablePin9, HIGH);
- }
- void loop()
- {
- int fwdDistance = ping();
- if(fwdDistance>minsafedistance)
- {
- GoForward();
- }
- else
- {
- Stop();
- // rightDistance = ping();
- // leftDistance = ping();
- }
- }
- long ping()
- {
- // Send out PING))) signal pulse
- pinMode(pingPin, OUTPUT);
- digitalWrite(pingPin, LOW);
- delayMicroseconds(2);
- digitalWrite(pingPin, HIGH);
- delayMicroseconds(5);
- digitalWrite(pingPin, LOW);
- //Get duration it takes to receive echo
- pinMode(pingPin, INPUT);
- duration = pulseIn(pingPin, HIGH);
- //Convert duration into distance
- return duration / 29.3866966 / 2;
- }
- void GoForward()
- {
- digitalWrite(leftMotor7, LOW);
- digitalWrite(leftMotor2, HIGH);
- digitalWrite(rightMotor15, LOW);
- digitalWrite(rightMotor10, HIGH);
- }
- void GoBackward()
- {
- digitalWrite(leftMotor2, LOW);
- digitalWrite(leftMotor7, HIGH);
- digitalWrite(rightMotor10, LOW);
- digitalWrite(rightMotor15, HIGH);
- }
- void GoLeft()
- {
- digitalWrite(leftMotor2, LOW);
- digitalWrite(leftMotor7, HIGH);
- digitalWrite(rightMotor15, LOW);
- digitalWrite(rightMotor10, HIGH);
- }
- void GoRight()
- {
- digitalWrite(leftMotor7, LOW);
- digitalWrite(leftMotor2, HIGH);
- digitalWrite(rightMotor10, LOW);
- digitalWrite(rightMotor15, HIGH);
- }
- void Stop()
- {
- digitalWrite(leftMotor7, LOW);
- digitalWrite(leftMotor2, LOW);
- digitalWrite(rightMotor10, LOW);
- digitalWrite(rightMotor15, LOW);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement