아두이노 블록코딩 #4 초음파모듈과 가까워지면 소리출력하기

이번에는 HC-SR04 초음파 모듈로 거리가 가까워지면 패시브버저(Passive Buzzer)가 소리를 내는 실험을 합니다.

 

 

초음파 센서와 동작 원리

초음파란

소리는 일종의 파동입니다. 소리의 진동은 공기의 분자를 진동시키며 공기를 압축 또는 확장 시킴으로써 파동을 갖게되는 음파입니다. 사람이 들을 수 있는 소리의 주파수는 20Hz~20KHz입니다. 초음파란 음파 또는 진동의 주파수가 사람 귀가 들을 수 있는 범위를 초과하는 것을 말합니다. 초음파의 주파수가 너무 낮으면 노이즈가 증가하고 초음파의 주파수가 너무 높으면 감쇠가 증가하여 도달 거리가 짧아집니다. 측정 가능한 거리 범위 내에서는 최대한 측정주파수를 높여야만 반사판의 측정이 쉽고 높은 거리정확도를 얻을 수 있습니다. 일반적으로 사용되는 초음파 주파수 범위는 20kHz~40kHz입니다. 초음파는 직선으로 발사하더라도 계속 퍼지므로 손실이 발생하게 되며 거리가 멀수록 손실은 커지게 됩니다. 일반적으로 초음파센서가 측정할 수 있는 최대 거리는 10미터이며, 대부분의 경우 최대 2~5미터의 초음파센서가 가장 많이 사용되고 있습니다. 초음파 모듈로 거리를 측정하는 원리는 다음과 같습니다. 초음파 센서에서 초음파를 발사함과 동시에 타이머를 동작시킵니다. 초음파는 공중으로 전파되어 장애물에 부딪히면 다시 반사되며, 초음파 수신기가 반사파를 수신하면 카운트를 멈추게 되는데, 측정된 시간은 초음파 모듈과 물체 사이의 왕복 시간이 됩니다. 초음파는 초당 약 340미터의 속도로 공기 중에서 이동하기 때문에 초음파 모듈과 물체 사이의 거리는 (왕복시간/2)*340미터가 됩니다.

초음파 모듈과 동작원리

여기서는 HC-SR04 초음파 모듈을 사용합니다. HC-SR04는 VCC, TRIG ECHO, GND의 4개의 핀을 가지고 있으며 5V로 구동됩니다. 검출 거리는 2cm~400cm이며 정밀도는 0.3cm입니다. 초음파 모듈의 동작 원리는 다음과 같습니다. 먼저 아두이노 보드에서 초음파 모듈의 Trig로 약 5㎲의 짧은 펄스를 측정 시작 신호로 보냅니다. 초음파 모듈은 측정 시작 신호를 받자마자 8개의 40kHz 펄스(200㎲)를 발사합니다. 이 초음파 신호가 물체에 반사되어 되돌아오면 초음파 모듈은 Echo 핀을 통해 1개의 PWM 신호를 아두이노보드로 전달합니다. 이 PWM 신호는 초음파가 이동한 왕복 시간을 의미합니다. 초음파의 속도는 초당 340m이고 이는 29㎲/cm와 같습니다. 따라서 초음파 모듈과 물체와의 거리는 (왕복시간㎲/2)/ 29cm가 됩니다.

 

      준비물

  • 아두이노보드  ……… 1개
  • USB 케이블 ………… 1개
  • 패시브버저   …………1개
  • 초음파모듈   …………1개
  • 점퍼케이블(수수)……6개

 

준비된 모듈과 아두이노 보드 결선하기

버저 - 아두이노보드 GND
버저 + 아두이노보드 8번
초음파모듈 VCC 아두이노보드 5V
초음파모듈 TRIG 아두이노보드 3번
초음파모듈 ECHO 아두이노보드 4번
초음파모듈 GND 아두이노보드 GND

 

 

엠블록에서 블록을 이동하여 아래와 같이 블록 프로그램을 작성합니다.

 

아두이노 보드를 USB 케이블로 PC와 연결하고 앞서 설명한 방법으로 엠블록 화면에서 [연결]버튼을 클릭하고 아두이노 보드와 연결합니다. 엠블록과 아두이노 보드가 성공적으로 연결되면 [업로드]버튼이 나타나며 [업로드] 버튼을 클릭하여 프로그램을 아두이노 보드로 업로드합니다. 업로드가 완료되면 초음파모듈로 거리를 측정하며 거리가 10cm 미만이 되면 패시브버저에서 주파수(700Hz)로 소리가 출력되는 것을 확인할 수 있습니다. 


Tags