brunch

번외편 - 초음파센서 사용하기

자동차 후방 주차 할 때 많이 사용되는 센서

by 준호씨

또다시 돌아온 번외편이다. 실생활에 알게 모르게 많이 사용되고 있는 센서 중 하나인 초음파 센서에 대해 알아 볼 것이다. 자동차 후방 주차 할 때 많이 사용 되고 있고, 바닷속의 깊이를 측정 하기도 하고, 심지어 사람의 키를 측정 할 때도 사용한다. 사용예에서 알 수 있듯이 주로 거리나 길이를 측정하는데 사용하는 센서라고 보면 된다.


준비물: HC-SR04 초음파 센서


초음파 센서의 원리

우리는 번개가 번쩍하고 나서 몇초가 지나서 소리가 들리느냐에 따라 얼마나 멀리서 번개가 쳤는지 예상해 볼 수 있고, 산에서 메아리를 울렸을 때 얼마나 지나서 소리가 돌아오느냐에 따라 맞은편 산이 얼마나 먼지 가늠해 보기도 한다. 초음파센서는 그러한 원리를 이용해서 거리를 측정하게 된다.


과학시간에 소리의 속도는 340m/s 라고 배웠을 것이다. 1cm 가는데 29us 정도가 걸린다. 그래서 거리는 시간 / 29 / 2 공식을 적용해서 구할 수 있다.

Distance = time / 29 / 2

마지막에 2로 나누는 이유는 초음파를 쏘고 나서 돌아오는 것을 받아야 되기 때문에 거리가 두배이기 때문이다.



HC-SR04 초음파 센서

가격이 저렴해서 실습용으로 많이 사용되는 센서이다. 스펙문서를 보면 측정거리는 2cm~4m 정도 측정이 가능하며 측정각도는 15도이다. 측정 단위는 3mm 정도로 꽤 정확한 측정이 가능하다.


생김세는 꼭 ET 나 Wall E 를 닮았다. 하나는 초음파를 생성하는 것이고 하나는 돌아오는 초음파를 수신받는 부분이다.


회로구성

회로구성은 간단하다. 다음과 같이 회로를 구성해 보자.

hc-sr04_arduino.png


코딩하기

아래의 코드를 보고 코드를 작성해 보자. 사용하는 라이브러리가 없을 정도로 간단하다. 물론 라이브러리를 검색해 보면 라이브러리를 받을 수 있는데 라이브러리를 이용하면 좀 더 간단히 코드를 작성 할 수 있다.


Screen Shot 2018-05-11 at 1.28.02 AM.png

trigPin 는 초음파를 생성하는 핀이고 echoPin 는 되돌아온 초음파를 수신받는 부분의 핀이다.

trigPin 으로 초음파를 쏘고 잠깐 기다렸다가 초음파 쏘기를 중단한다. 그리고 돌아오는 초음파를 pulseIn 으로 읽어 들이고 시간을 저장한다.

구한 시간을 공식에 대입하여 거리를 구한다.


이 예제에서는 Serial Monitor 를 이용하여 값을 출력해 보았다.

hc-sr04_serial_monitor.png

앞서 LCD 사용법을 익혀 보았었기 때문에 LCD에 값을 출력해 보기도 도전해 보길 권장한다.

keyword
매거진의 이전글9장 온도, 습도 센서 사용하기. 라이브러리 사용하기