안녕하세요. 메카럽입니다. 연이은 명절연휴와 한글날 연휴가 끝나고 일상으로 복귀하는 오늘 많이 힘든 하루가 되겠지만 다시 마음을 잡고 화이팅하는 하루가 되시길 바랍니다. 이번 포스팅에서는 아두이노를 활용한 초음파센서에 대해 알아보도록 하겠습니다.
인간의 가청 주파수는 20Hz~20,000Hz로 알려져 있으며, 인간은 이 주파수 범위를 벗어나는 소리는 들을 수 없습니다. 대표적으로 박쥐나 돌고래가 내는 초음파가 이에 해당하는데요. 박쥐는 어둠 속에서 초음파를 통해 물체와의 거리를 측정합니다. 그 정보를 통해 비행 방향을 결정하는데, 우리가 사용할 초음파 센서도 이와 마찬가지입니다. 초음파 센서는 초음파를 발생시켜 물체의 거리나 속도를 측정하는데, 대표적인 애플리케이션으로 수상함이나 잠수함의 소나 시스템, 어군 탐지기, 차량의 후방 감지기 등이 있습니다.
초음파 센서는 크게 초음파를 발신하는 송신부와 발신된 초음파가 물체에 부딪혀 돌아오는 신호를 읽어 들이는 수신부로 구성됩니다. 초음파를 발생시켜 송신하고, 되돌아오는 신호를 수신하는데, 송신 후 수신되는 신호 간의 시간차를 측정하여 거리를 산출하는 것이 그 원리입니다.
공기 중에서 음파의 속도는 약 340m/s이며 번개가 치고 5초 후에 천둥수리가 들린다면 번개 발생지점이 약 1,700m 떨어져 있음을 유추하는 것과 같은 원리입니다. 초음파의 속도는 특별히 온도에 영향을 받는데 만약 더욱 정확한 거리를 측정하고 싶으면 온도 센서를 적용하여 온도에 따른 보상기법을 적용할 필요가 있습니다.
이제 저가로 구할 수 있는 HC-SR04 초음파 센서를 소개하겠습니다.
위 그림의 센서 앞부분 왼쪽이 초음파 송신부(ping), 오른쪽이 수신부(Echo)입니다. 총 4개의 핀으로 전원(Vcc), 송신(Trig), 수신(Echo), 접지(GND)로 구성되어 있습니다. Vcc에는 5V전원(전압 범위 4.5~5.5V)을 연결하고, 송신/수신 단자는 송신, 수신을 위한 디지털 핀에 연결합니다.
HC-SR04의 데이터 시트를 참조하면, 전방 좌우 30˚ 내에서 최적의 성능을 보이며, 이는 센서 전방이 가급적 측정대상을 향하고 잇어야 하고 수직에 가깝게 측정해야 함을 의미합니다. 만약 측정대상과 센서와의 경사각이 크거나 균일하지 않다면 아래 그림과 같이 수신부로 신호가 들어오지 않거나 왜곡됩니다. 이는 본 센서의 신호 수신 지향각이 좁기 때문에 발생하는 문제이기도 하며, 반사가 쉽게 일어나는 음파의 특성 때문이기도 합니다. 특히 신호가 벽체에 반사되어 들어오면 그만큼 지연시간이 늘어나 더 먼거리로 인식하기도 합니다.
그간 밀리 초(ms)단위의 지연시간을 사용하였는데, 이번 예제에서는 마이크로초(us) 단위의 지연을 사용해봅니다. 사용방법은 밀리 초와 같으며, delay 뒤에 Microseconds를 붙여줍니다.
delayMicroseconds(지연시간) |
준비물 : 아두이노 우노, HC-SR04 초음파 센서, 점퍼선 |
위 그림은 초음파 센서를 활용하여 물체와의 거리를 측정하는 회로와 코드를 나타내었습니다.
위 예제를 참조하면, Ping 단자가 연결된 디지털 핀을 통해 HIGH 신호를 인가하면 Echo 단자는 디지털 핀을 통해 수신되는 반향파(Echo) 신호가 인가된 시간, 거리를 표시합니다. 초음파는 측정하는 물체까지 갔다가 되돌아오는 개념, 즉 왕복하므로(340x시간(초))/2와 같은 계산이 이루어지며 음파는 음파가 전달되는 매질(공기, 물) 온도에 영향을 크게 받는 특성이 있으나, 이번 예제에서 사용되는 센서는 수 센티미터에서 수 백 센티미터 수준의 유효감지거리를 갖습니다. 이보다 더 먼 거리를 측정하려면 레이더와 같이 "RF신호"를 활용한 센서를 적용하는 것이 합리적입니다.
이번 포스팅에서는 초음파 거리감지에 대해 알아보았습니다. 회로가 생각보다 어렵지 않아서 큰 어려움 없이 진행했던 것 같습니다. 다음 포스팅에서는 초음파 센서와 부저를 활용해 근접 감지기를 만들어 보도록 하겠습니다. 오늘 하루도 행복한 하루 되세요.
'3D프린터와 아두이노 > 아두이노' 카테고리의 다른 글
아두이노 온도센서 적용 (TMP-36 온도센서) (28) | 2020.10.19 |
---|---|
아두이노 초음파 센서와 부저 활용 (21) | 2020.10.13 |
아두이노 세븐-세그먼트에 대해 (8) | 2020.10.08 |
아두이노에서 스피커와 MP3재생 (12) | 2020.10.07 |
아두이노에서 부저와 멜로디 재생 (옥타브와 음계별 표준 주파수 실습) (13) | 2020.10.06 |