Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- const int trigPin = 2;
- const int echoPin = 3;
- long duration;
- int distance;
- Servo myServo;
- void setup() {
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- Serial.begin(9600);
- myServo.attach(5);
- }
- void loop() {
- for (int i = 15; i <= 165; i++) {
- myServo.write(i);
- delay(30);
- distance = calculateDistance();
- // cm
- long cm = distance / 29.1;
- if (cm >= 20) {
- digitalWrite(8, HIGH);
- digitalWrite(9, LOW);
- digitalWrite(10, LOW);
- //
- } else if (distance >= 15) {
- digitalWrite(8, LOW);
- digitalWrite(9, HIGH);
- digitalWrite(10, LOW);
- } else {
- digitalWrite(8, LOW);
- digitalWrite(9, LOW);
- digitalWrite(10, HIGH);
- }
- Serial.print(i);
- Serial.print(",");
- Serial.print(distance);
- Serial.print(".");
- }
- for (int i = 165; i > 15; i--) {
- myServo.write(i);
- delay(30);
- distance = calculateDistance();
- // cm
- long cm = distance / 29.1;
- if (cm >= 20) {
- digitalWrite(8, HIGH);
- digitalWrite(9, LOW);
- digitalWrite(10, LOW);
- //
- } else if (distance >= 15) {
- digitalWrite(8, LOW);
- digitalWrite(9, HIGH);
- digitalWrite(10, LOW);
- } else {
- digitalWrite(8, LOW);
- digitalWrite(9, LOW);
- digitalWrite(10, HIGH);
- }
- Serial.print(i);
- Serial.print(",");
- Serial.print(distance);
- Serial.print(".");
- }
- }
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement