Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino UNO Ultrasonic Distance Measurement with Servo Motor Control

View and Edit Project In Cirkit DesignerImage of Arduino UNO Ultrasonic Distance Measurement with Servo Motor Control

Circuit Documentation

Summary

This circuit involves an Arduino UNO microcontroller interfacing with an HC-SR04 Ultrasonic Sensor and a 9G Servo Motor. The Arduino UNO is used to control the servo motor based on distance measurements obtained from the ultrasonic sensor.

Component List

HC-SR04 Ultrasonic Sensor

Arduino UNO

Servo Motor 9G

Wiring Details

HC-SR04 Ultrasonic Sensor

Arduino UNO

Servo Motor 9G

Code Documentation

Arduino UNO Code

#include <Servo.h>

#define trigPin 2
#define echoPin 3

long duration;
int distance;

Servo myservo;

int calculateDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;
  return distance;
}

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  myservo.attach(11);
  Serial.begin(9600);
}

void loop() {
  int i;
  for (i = 15; i <= 165; i++) {
    myservo.write(i);
    delay(15);
    calculateDistance();
    Serial.print(i);
    Serial.print(",");
    Serial.print(distance);
    Serial.print(".");
  }
  for (i = 165; i >= 15; i--) {
    myservo.write(i);
    delay(15);
    calculateDistance();
    Serial.print(i);
    Serial.print(",");
    Serial.print(distance);
    Serial.print(".");
  }
}

This code initializes the ultrasonic sensor and the servo motor. It continuously measures the distance using the ultrasonic sensor and moves the servo motor back and forth while printing the distance to the serial monitor.