티스토리 뷰

아두이노

아두이노 - 초음파 센서

iiieee 2020. 5. 19. 06:38

초음파센서 모듈을 이용해서 일정 거리 안에 장애물이 있으면

LED를 켜거나 끄는 실험을 해 보았습니다.

 

초음파센서는 높은 주파수의 소리 펄스를 내보낸 후

장애물 등에 반사되어 돌아오는 시간을 측정해서

장애물까지의 거리를 계산할 수 있는 센서입니다.

 

적외선센서와 초음파센서는 장애물을 감지한다는 면에서

용도가 비슷하지만

개인적인 생각으로

장애물까지 거리를 정확히 알고 싶다면

초음파 센서를,

장애물 유무만 알고 싶다면

적외선 센서를 사용하면 될 것 같습니다.

 

초음파 센서 모듈은 아래와 같이 생겼습니다.

핀이 4개가 있는데, 각각 VCC, GND, Trig, Echo 라고 되어 있습니다.

초음파 센서

Trig 는 초음파센서에게

"이제 부터 초음파 센서 너를 사용할게." 라고 알려줄 수 있는 핀입니다.

Trig 핀에 짧은 펄스를 입력해주면

초음파센서가 고주파 소리 펄스를 발사하기 시작합니다.

 

Echo 는 초음파센서가 반사되어 돌아오는 소리 펄스를 받는 동안

HIGH 신호를 내주는 핀입니다.

이 HIGH 신호 길이를 측정해서 거리로 변환합니다.

 

회로는 아래와 같습니다.

VCC, GND는 아두이노 우노 보드에서 제공하는

전원을 사용하고,

초음파센서 Trig 는 디지털 3번 출력,

초음파센서 Echo 는 디지털 4번 입력,

LED 는 디지털 7번 출력으로 사용합니다.

초음파센서 테스트

5 cm 거리 이내에 전방 장애물이 있으면 LED 불이 꺼지고

 5 cm 거리 이내에 전방 장애물이 없으면 LED 불이 켜지도록

스케치를 작성했습니다.

pulseIn은 특정핀이 HIGH나 LOW 상태를 얼마동안 유지하는지

시간을 알려주는 함수입니다.

여기서는 pulseIn 함수를 이용해서

echo핀에 HIGH신호가 얼마동안 입력되는지 파악합니다.

 

거리를 계산하는 distance 식은 소리전파속도*시간/2 입니다.

소리 전파속도는 340 m/s

10000 으로 나누어 주는 것은 단위를 맞추기 위한 것이고

2로 나누는 것은 측정값이 왕복시간이기 때문에

편도시간으로 계산하기 위해서 입니다.

 

테스트를 해보니,

5 cm가 아닌 약 4.5 cm에서 LED가 켜졌다가 꺼졌다가 합니다.

장애물~초음파센서 거리 4.5 cm - LED 꺼짐
장애물~초음파센서 거리 5 cm - LED 켜져 있음

초음파센서가 실제적으로

아래 사진처럼 원기둥형 부품 안쪽으로

약 0.5 cm 부위에 위치하기 때문인 것으로 생각됩니다.

프로그램 작성하실 때 이 숨겨진 0.5 cm를 감안하셔서

작성하셔야겠습니다.

 

이상, 초음파센서 모듈 테스트 였습니다.

댓글
공지사항
최근에 올라온 글