아두이노 초음파 센서 HC-SR04

HC-SR04

사람이 들을 수 있는 소리의 주파수는 약 20 ~ 20만Hz입니다. 20만Hz 보다 높은 음은 초음파라고 합니다. 초음파는 사람이 직접 들을 수 없습니다. 박쥐의 경우는 이 초음파가 반사되는 메아리를 이용하여 장애물을 피한다고 알려져 있습니다.
초음파는 직진성이 강하기 때문에 주변부의 메아리와 잘 혼동되지 않는다는 장점도 있습니다. 즉, 원하는 방향에서만 메아리가 되돌아 옵니다.

이와 같이 초음파을 이용하여 거리를 측정하는 센서는 많이 판매되고 있습니다.
가장 대표적인 HC-SR04는 인터넷 몰에서 흔하게 볼 수 있으며, 가격도 많이 저렴합니다.

소스 코드

int trigPin = 3;
int echoPin = 2;

void setup()
{
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT); // 센서 Trig 핀
  pinMode(echoPin, INPUT);  // 센서 Echo 핀
}

void loop()
{
  digitalWrite(trigPin, HIGH);  // 센서에 Trig 신호 입력
  delayMicroseconds(10);  // 10us 정도 유지
  digitalWrite(trigPin, LOW);   // Trig 신호 off

  long duration = pulseIn(echoPin, HIGH);    // Echo pin: HIGH->Low 간격을 측정
  long distance = duration / 29 / 2;  // 거리(cm)로 변환

  Serial.print(distance);
  Serial.println(" cm");

  delay(200);
}

소스코드를 업로드 한 다음, 시리얼 모니터를 열어 보면 거리가 cm 단위로 나타납니다.

목차