초음파 센서 사용하기

int TrigPin = 12;
int EchoPin = 13;
void setup(){
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop(){
Serial.print("Distance : ");
Serial.print(distance());
Serial.println(" cm");
}
unsigned long distance(){
unsigned long d;
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
d = pulseIn(EchoPin, HIGH)*0.034/2;
return d;
}
초음파 센서와 서보 결합

#include <Servo.h>
Servo myservo;
int increase = 1;
int min_angle = 15;
int max_angle = 165;
int pos = min_angle;
int TrigPin = 12;
int EchoPin = 13;
void setup(){
Serial.begin(9600);
myservo.attach(6);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop(){
myservo.write(pos);
Serial.print(pos);
Serial.print(",");
Serial.print(distance());
Serial.print(".");
pos += increase;
if(pos <= min_angle || pos >= max_angle)
increase *= -1;
delay(30);
}
unsigned long distance(){
unsigned long d;
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
d = pulseIn(EchoPin, HIGH)*0.034/2;
return d;
}
