티스토리 뷰

Arduino

[Arduino] hc-sr04를 이용한 거리측정

생각많은 소심남 2014. 6. 2. 01:13

Instructables를 살펴보다가 초음파센서에 관련된 내용이 있길래 한번 해봤다. 링크


내가 가지고 있는 초음파 센서는 hc-sr04라는 핀 4개짜리 센서인데, 아마 다른걸로는 흔히 ping이라고 불리는 핀 3개짜리 초음파센서도 있는걸로 안다. 아무튼 이 센서는 한개의 입력핀(trigger)와 한개의 출력(echo) 그리고 ground와 Vcc로 구성되어있다. 초음파센서의 특성은 일반적인 거리측정 원리와 똑같다. 간단히 설명하자면 소리의 이동을 이용한 것이다.

 소리는 그 자체의 파장(wavelength)를 가지고, 정해진 시간만큼 그 파장의 거리로 나아간다. 만약 파장이 나아가는 곳에 장애물이 있게 되면 반사(reflection)이 일어나던지 회절(diffraction) 이 발생하는데, 초음파 센서는 반사된 파의 도달 시간을 이용해서 거리를 측정한다. 물론 이를 위해서는 시간을 거리로 변환해주는 코드가 필요하고, 여기에 필요한 함수가 pulseIn()이라는 함수다. 

 웃기는 건 내가 전에 구입한 인텔 갈릴레오에 이걸 붙여보려고 했는데 아직 implement되지 않았다고 한다. 그래서 어쩔 수 없이 일반 보드에 올리고 테스트해봤는데 잘되는 것 같다. 참고로 링크에 있는 코드를 그대로 이용하면 아래와 같이 시리얼 모니터창에 측정 거리를 출력하게 할 수 도 있다.



동작 동영상은 다음과 같다.




댓글