Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int motor1pin1 = 2;
- int motor1pin2 = 3;
- int motor2pin1 = 4;
- int motor2pin2 = 5;
- const int trigPin = 9;
- const int echoPin = 10;
- bool flag = 0;
- float duration, distance;
- void setup() {
- // put your setup code here, to run once:
- pinMode(motor1pin1, OUTPUT);
- pinMode(motor1pin2, OUTPUT);
- pinMode(motor2pin1, OUTPUT);
- pinMode(motor2pin2, OUTPUT);
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- Serial.begin(9600);
- }
- void loop() {
- ultrasonic();
- if (distance < 35 && flag == 0) {
- flag = 1;
- openMotors();
- delay(1000);
- stopMotors();
- delay(500);
- }
- else if (distance > 35) {
- flag = 0;
- closeMotors();
- delay(1000);
- stopMotors();
- delay(500);
- }
- }
- void openMotors() {
- digitalWrite(motor1pin1, HIGH);
- digitalWrite(motor1pin2, LOW);
- digitalWrite(motor2pin1, LOW);
- digitalWrite(motor2pin2, HIGH);
- }
- void closeMotors() {
- digitalWrite(motor1pin1, LOW);
- digitalWrite(motor1pin2, HIGH);
- digitalWrite(motor2pin1, HIGH);
- digitalWrite(motor2pin2, LOW);
- }
- void stopMotors() {
- digitalWrite(motor1pin1, LOW);
- digitalWrite(motor1pin2, LOW);
- digitalWrite(motor2pin1, LOW);
- digitalWrite(motor2pin2, LOW);
- }
- void ultrasonic() {
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- distance = (duration * .0343) / 2;
- Serial.print("Distance: ");
- Serial.println(distance);
- delay(100);
- }
Advertisement
Add Comment
Please, Sign In to add comment