본문 바로가기

Embedded System/Arduino Board

[Arduino] 아두이노 초음파 거리센서 ( HC-SR04 ) 사용하기 (13)

반응형

 


 

안녕하세요.

이번 포스트에서는 거리를 측정하는 센서중 초음파를 통해 거리를 측정하는 초음파거리센서 HC-SR04에 대해 알아보겠습니다.


거리를 측정하기 위해 사용하는 센서는 크게 초음파센서와 레이더 센서로 나뉘어집니다. 이번 포스팅에서는 초음파거리센서에 대해 알아보겠습니다.

초음파 거리 센서는 초음파를 사용하여 물체까지의 거리를 측정하는 장치입니다. 초음파 거리 센서는 다양한 응용 분야에서 사용되며, 특히 로봇 공학, 자동화 시스템, 거리 측정 등에 널리 활용됩니다. 가장 일반적으로 사용되는 초음파 거리 센서 중 하나는 HC-SR04입니다.

※1.  초음파 거리센서의 원리과 특징

초음파 거리 센서는 초음파 펄스를 방출하고, 이 펄스가 물체에 반사되어 돌아오는 시간을 측정합니다. 소리가 공기 중을 이동하는 속도(약 343 m/s)를 알고 있기 때문에, 왕복 시간으로부터 거리를 계산할 수 있습니다.

작동 원리:

  1. 발신: 초음파 트랜스듀서가 초음파 펄스를 방출합니다.
  2. 반사: 초음파 펄스가 물체에 부딪혀 반사됩니다.
  3. 수신: 반사된 초음파 펄스가 센서로 돌아옵니다.
  4. 시간 측정: 발신에서 수신까지 걸린 시간을 측정합니다.
  5. 거리 계산: 소리의 속도를 사용하여 왕복 시간을 거리로 변환합니다.

거리 계산 공식: 거리=왕복 시간×소리의 속도2\text{거리} = \frac{\text{왕복 시간} \times \text{소리의 속도}}{2}

 

HC-SR04 초음파 거리 센서

HC-SR04는 가장 일반적으로 사용되는 초음파 거리 센서 중 하나로, 2cm에서 400cm까지의 거리를 측정할 수 있습니다.

센서의 특징:

  • 전원 공급: +5V
  • 작동 전류: 15mA
  • 초음파 주파수: 40kHz
  • 최대 거리: 400cm
  • 최소 거리: 2cm
  • 정확도: 약 ±3mm

핀 구성:

  1. VCC: 전원 공급 (+5V)
  2. Trig: 트리거 핀 (초음파 펄스를 발사하기 위한 신호 입력)
  3. Echo: 에코 핀 (반사된 초음파 펄스를 수신하여 시간을 측정)
  4. GND: 접지

 

 

 

※2. Wiring (배선 연결)

Vcc <-> 5V
Trig <-> D9
Echo <-> D10
GND <-> GND

 

 

 

 

※3. 소스코드 및 동작

초음파 센서를 통해 거리를 측정하는 코드를 실행해 보겠습니다.

1. 소스코드

코드를 실행해 보겠습니다. (소스코드는 첨부파일 제공해 드리겠습니다.)

13_Distance_HCSR04.ino
0.00MB

// 초음파 센서 핀 설정
#define trigPin 9
#define echoPin 10

// 거리 측정 변수
long duration;
int distance;

void setup() {
  // 시리얼 통신 시작
  Serial.begin(9600);
  // 초음파 센서 핀 모드 설정
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  // 초음파 신호를 발사하기 위해 트리거 핀을 HIGH로 설정
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  // 에코 핀으로부터 초음파의 이동 시간 측정
  duration = pulseIn(echoPin, HIGH);
  
  // 거리 계산 (음속은 초당 340 미터)
  distance = duration * 0.034 / 2;
  
  // 거리를 시리얼 모니터에 출력
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");
  
  // 잠시 대기
  delay(1000);
}

 

 

2. 하드웨어 연결 및 동작 확인

직선 방향의 물체 위치에 따라 거리가 측정됨을 확인할 수 있습니다.

 

 

 

 

 

이상으로 아두이노에서 초음파 거리센서를 다루는 방법에 대한 설명을 마치겠습니다.

다름 포스트에서 여러개의 레이저 거리센서를 다루는 방법에 대해 다루겠습니다.

감사합니다.

 

반응형