Skip to content

Instantly share code, notes, and snippets.

@mskf1383
Last active August 2, 2024 11:56
Show Gist options
  • Select an option

  • Save mskf1383/ffb5739b317f7018ab89d9481fa798e0 to your computer and use it in GitHub Desktop.

Select an option

Save mskf1383/ffb5739b317f7018ab89d9481fa798e0 to your computer and use it in GitHub Desktop.
// import libraries
#include <Servo.h> // Michael Margolis, Arduino
// set pins
#define triggerPin 7
#define echoPin 8
#define servoPin 9
// define objects
Servo baseMotor;
// define variables
int angle;
long duration;
int distance;
void setup() {
// setup serial
Serial.begin(9600);
//setup servo
baseMotor.attach(servoPin);
//setup ultrasonic
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
for (angle = 0; angle < 180; angle += 10) {
// set angle
baseMotor.write(angle);
delay(1000);
// get distance
getDistance();
// show resault
Serial.print("Angle: ");
Serial.print(angle);
Serial.print(", Distance: ");
Serial.print(distance);
Serial.println("cm");
}
for (angle = 180; angle > 0; angle -= 10) {
// set angle
baseMotor.write(angle);
delay(1000);
// get distance
getDistance();
// show resault
Serial.print("Angle: ");
Serial.print(angle);
Serial.print(", Distance: ");
Serial.print(distance);
Serial.println("cm");
}
}
void getDistance() {
// reset ulterasonic
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// send signal
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
// recive signal
duration = pulseIn(echoPin, HIGH);
// calculate distance
distance= duration*0.034/2;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment