안녕하세요. 공대 박형입니다.
오늘은 아두이노 초음파센서를 알아보겠습니다.
코드부터 보시죠.
( 3핀 초음파 센서 )
int distance = 0;
void setup () {
Serial.begin (9600);
}
void loop() {
pinMode(9, OUTPUT); //출력 모드
digitalWrite(9, HIGH); // 초음파 송출
delay(10);
digitalWrite(9, LOW); // 초음파 송출 정지
pinMode(9, INPUT); // 입력 모드
distance = 0.01723 * pulseIn(9, HIGH); // 들어온 값을 0.01723과 곱하여 거리 계산
Serial.print(distance); //계산된 거리를 cm로 출력
Serial.println(" cm");
delay(10);
}
( 4핀 초음파 센서 )
const int trig = 9;
const int echo = 8;
int distance = 0;
void setup(){
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}
void loop(){
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
distance = pulseIn(echo, HIGH) * 0.01723;
Serial.print(distance);
Serial.println(" cm");
delay(50);
}
실험용으로 사용하기에는 3핀과 4핀 모두 동작에는 큰 차이가 없습니다. 구하기 쉬운것으로 사용하시면 되겠습니다.
초음파센서는 음파를 쏘고 돌아오는 시간을 계산하여 물체와 센서 사이의 거리를 계산합니다. 그 값을 cm로 표현하기 위해 0.01723을 곱해줍니다.
다음 시간에는 dc모터를 동작시키고 pwm제어를 통해 속도제어를 해보겠습니다.
궁금한 부분은 문의주시면 답해드리겠습니다.
읽어주셔서 감사합니다.