초음파 센서는 실제 세계와의 실제 접촉없이 거리를 측정하고 물체를 감지 할 수있는 훌륭한 도구입니다. 액체 레벨 측정, 근접성 확인 및 자동차에서 셀프 주차 또는 충돌 방지 시스템을 지원하는 것과 같은 여러 응용 분야에서 사용됩니다. 이전에는 수위 감지, 초음파 레이더 등과 같은 많은 초음파 센서 프로젝트도 구축했습니다. 이것은 작은 거리를 정확하게 측정하는 효율적인 방법입니다. 이 프로젝트에서는 Arduino와 함께 HC-SR04 초음파 센서를 사용했습니다. 센서에서 장애물까지의 거리를 결정합니다. 초음파 거리 측정의 기본 원리는 ECHO를 기반으로합니다. 음파가 환경에서 전송되면 파도가 장애물에 부딪힌 후 ECHO로 원점으로 돌아갑니다. 따라서 두 소리의 이동 시간 만 계산하면 장애물에 부딪힌 후 출발 시간과 원점 복귀 시간을 의미합니다. 소리의 속도가 우리에게 알려져 있으므로 몇 가지 계산 후에 거리를 계산할 수 있습니다. 이 Arduino 거리 측정 프로젝트에 이와 동일한 기술을 사용할 것이므로 시작하겠습니다.
사용 된 구성 요소
- Arduino Uno 또는 Pro Mini
- 초음파 센서 모듈
- 16x2 LCD
- 규모
- 브레드 보드
- 9 볼트 배터리
- 전선 연결
초음파 센서 모듈
Arduino 거리 센서 에는 여러 유형 이 있지만이 프로젝트에서는 HC-SR04 를 사용하여 3mm의 정확도로 2cm-400cm 범위의 거리를 측정했습니다. 센서 모듈은 초음파 송신기, 수신기 및 제어 회로로 구성됩니다. 초음파 센서의 작동 원리는 다음과 같습니다.
- 트리거를 사용하여 10us 동안 하이 레벨 신호를 보냅니다.
- 모듈은 8 개의 40KHz 신호를 자동으로 전송 한 다음 펄스가 수신되는지 여부를 감지합니다.
- 신호가 수신되면 하이 레벨을 통과 한 것입니다. 높은 기간의 시간은 신호를 보내고받는 사이의 시간 간격입니다.
거리 = (시간 x 공기 중 음속 (340m / s)) / 2
타이밍 다이어그램
모듈은 소리의 에코의 자연 현상에 대해 작동합니다. 모듈을 트리거하기 위해 약 10us 동안 펄스가 전송됩니다. 그 후에 모듈은 40KHz 초음파 신호의 8주기를 자동으로 전송하고 에코를 확인합니다. 장애물에 부딪힌 후 신호는 되돌아와 수신기에 포착됩니다. 따라서 센서에서 장애물까지의 거리는 다음 공식으로 간단히 계산됩니다.
거리 = (시간 x 속도) / 2.
여기서 우리는 속도와 시간의 곱을 2로 나누었습니다. 시간은 장애물에 도달하고 돌아 오는 데 걸린 총 시간이기 때문입니다. 따라서 장애물에 도달하는 시간은 총 소요 시간의 절반에 불과합니다.
초음파 센서 Arduino 회로도 및 설명
arduino 및 초음파 센서의 회로도 는 거리를 측정하기 위해 위에 나와 있습니다. 회로 연결에서 초음파 센서 모듈의 "트리거"및 "에코"핀은 arduino의 핀 18 (A4) 및 19 (A5)에 직접 연결됩니다. 16x2 LCD는 4 비트 모드에서 arduino와 연결됩니다. 제어 핀 RS, RW 및 En은 arduino 핀 2, GND 및 3에 직접 연결되고 데이터 핀 D4-D7은 arduino의 4, 5, 6 및 7에 연결됩니다.
먼저 arduino를 사용하여 신호를 전송하도록 초음파 센서 모듈을 트리거 한 다음 ECHO 수신을 기다려야합니다. Arduino는 트리거링과 수신 된 ECHO 사이의 시간을 읽습니다. 우리는 음속이 약 340m / s라는 것을 알고 있습니다. 따라서 주어진 공식을 사용하여 거리를 계산할 수 있습니다.
거리 = (이동 시간 / 2) * 음속
초당 약 340m의 음속이 있습니다.
거리 표시에는 16x2 LCD가 사용됩니다.
이 튜토리얼에서 거리 측정 프로젝트 작업에 대해 자세히 알아보십시오. 초음파 센서 및 AVR 마이크로 컨트롤러를 사용한 거리 측정.
거리 측정을위한 Arduino 초음파 센서 코드
이 초음파 거리 측정 프로젝트의 전체 코드는이 페이지 하단에 있습니다. 코드에서 pulseIn (pin)을 사용하여 시간을 읽습니다. 그런 다음 적절한 기능을 사용하여 16x2 LCD에 계산 및 표시 결과를 수행합니다.