본문 바로가기

교육 자료/Raduino

9. 초음파센서를 이용한 거리측정

초음파센서를 이용한 거리측정


초음파 센서를 이용하여 거리를 측정하는 원리는 간단하다. 박쥐가 동굴에서 빛 없이도 장애물을 파악하고 피해가거나, 번개가 치고 1초 뒤 천둥소리가 들렸다면 번개가 친 곳과의 거리가 340m인 것을 파악하는 원리와 비슷하다고 생각하면 된다. 


초음파의 속도는 340m/s로, 일반적인 소리의 속도와 같다. 초음파를 발생해 음파 속도로 원거리의 물체에 반사되어 돌아오는 초음파의 시간을 측정하는 것이다. 이 측정된 시간을 절반으로 나눈 시간과 음파의 속도로 거리를 구할 수 있다. 초음파가 발생되어 대상 물체에 부딪히게 되면 반사되어 돌아오게 된다. 이의 시간차를 계산하면 거리를 계산할 수 있다. 간단히 초음파를 생성해서 일정 속도로 발사한 뒤에, 발사된 초음파가 특정 물체에 부딪혀서 다시 발사 위치까지 되돌아온 시간을 측정하면 초음파 센서와 물체 간의 거리를 측정할 수 있다. 


초음파 센서의 송신부(Trig)에서 일정한 시간의 간격을 둔 짧은, 초음파 펄스를 방사하고, 대상물에 부딪혀 돌아온 에코 신호를 수신부(Echo)에서 받아 이에 대한 시간차를 기반으로 거리를 산출한다.  


아두이노에서 Trig핀으로 HIGH를 입력하면 초음파 모듈에서 40KHZ 음파를 발사합니다. 이때부터 Echo핀은 HIGH 상태가 되고 음파가 되돌아와 수신되면 Echo핀이 다시 Low상태가 됩니다. 이 간격에서 거리를 구하고 왕복이므로 다시 2로 나누면 된다. 


초음파 센서 | HC-SR04

 

HC-SR04는 초음파를 이용해 거리를 측정할 수 있는 센서이다초음파는 귀에 들리지 않을 정도의 높은 주파수(약 200MHz이상)의 소리를 말하며초당 340m의 속도를 갖는다이러한 초음파의 속도를 바탕으로 시간관련 함수를 응용하면 초음파를 활용하여 거리나 수위적설 등을 측정할 수 있다초음파 거리센서의 구조는 생각보다 간단하다.


초음파 센서를 보면 스피커 같은 것이 2개가 달려있는데 한 쪽은 초음파를 발생시키고 다른 한쪽은 물체에 반사되는 초음파를 감지하는 역할을 한다초음파 발생시간과 물체에 부딪혀 반사되어 오는 간의 차를 이용하여 거리를 측정하게 되는 것이다

 

총 4개의 핀으로 구성되어 있으며 양끝의 VCC와 GND를 통해 전원(5V)을 입력받고, Trig핀을 통해 신호를 입력 받으면 초음파를 발신초음파가 다시 수신되면 Echo핀을 통해 신호를 출력한다센서는 5V에서 작동하며 약 15mA의 전류를 사용한다측정 범위는 최소 2cm에서 4m이지만 주변 환경에 의해 오차가 발생할 수 있다적외선과 초음파 센서는 각각 빛과 소리를 보낸다


동작전압

DC 5V

 동작전류

15mA

 동작주파수

40HZ

 발생주파수

40kHZ

 측정 거리

2 cm ~ 400 cm  

 정밀도

0.3cm

 측정 각도

15도 

 크기

45x20x15mm 


HC-SR04의 핀 구성은 VCC, GND, 초음파 송신이 가능한 Trig, 초음파 수신이 가능한 Echo로 이뤄져 있다. 


PulseIn이 실행되기 전, 이미 센서의 상태가 원하는 상태인 경우, 프로그램 진행 상태는 센서의 상태가 반대의 상태가 되고, 다시 원하는 상태로 돌아가기 전까지 멈추게 됩니다. 쉽게 말해, PulseIn(echo, HIGH) 라는 명령어가 실행되기 전에 이미 echo에 해당하는 부분이 HIGH인 경우 그 센서의 상태가 LOW가 되고, 다시 HIGH가 될 때까지 프로그램이 기다린다는 이야기입니다. LOW가 되었다가 HIGH가 되면 시간 카운팅이 시작됩니다. 

 

HC-SR04와 아두이노 연결 회로도

소개되는 예제들은 아두이노 우노 기반으로 회로도와 프로그램이 설계되었으며라두이노를 이용해서 동일한 예제를 구현할 수 있도록 라두이노용 회로도와 프로그램을 추가한다라두이노용 회로도와 프로그램은 다음과 같으며 본 예제는 동일한 프로그램을 수정 없이 사용한다.