본문 바로가기

관리하지않음/아두이노

[아두이노] 초음파 센서 사용법

HC-SR04 초음파 거리 센서

아두이노 기본 키트에 포함되어 있던 HC-SR04 초음파 거리 센서입니다. 이 센서를 사용하여 간단하게 거리를 재는 코드를 작성해봤습니다. 

 

1. 보드 구성

보드 구성

초음파 센서 Vcc 아두이노 5V
초음파 센서 Trig 아두이노 13번 핀
초음파 센서 Echo 아두이노 12번 핀
초음파 센서 GND 아두이노 GND

 

2. 코드

int trigPin = 13;
int echoPin = 12;

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  /* 초음파 보내기 */
  digitalWrite(trigPin, HIGH);
  delay(10);
  digitalWrite(trigPin, LOW);

  /* echo가 HIGH를 유지한 시간 = 초음파가 갔다가 돌아온 시간 */
  float duration = pulseIn(echoPin, HIGH);

  /* 소리의 속도(340m/s)를 곱한다.
  마이크로초(ms)를 초(s)로 변환하기 위해 10000을 나눈다.
  마지막으로 왕복 거리이므로 2를 나눈다. */
  float distance = (float) 340*duration / 10000 / 2;

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

  delay(1000); // 1초에 한번씩 측정
}

1초에 한번씩 거리를 측정하도록 작성했습니다.

 

3. 실행 결과

실행 영상

센서와 물체 사이의 거리에 따라서 측정 값이 달라지는 것을 확인할 수 있습니다.

 

초음파 거리 센서를 사용하면 거리를 감지하여 뚜껑을 여는 스마트 쓰레기통 부터 속도 측정기나 충돌을 피하는 로봇등을 만들 수 있습니다. 무한대로 응용이 가능한 센서이기 때문에 꼭 활용해보세요:)


잘못된 내용이 있다면 언제든지 댓글이나 메일로 알려주시면 감사하겠습니다.

이 포스팅이 도움이 되었다면 공감 부탁드립니다.

궁금한 점은 언제든지 댓글 남겨주시면 답변해드리겠습니다 :D