산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

라즈베리 파이의 HC-SR04 초음파 범위 센서

이전 튜토리얼에서 우리는 온도 감지, PIR 모션 컨트롤러, 버튼 및 스위치에 대해 설명했으며, 모두 Raspberry Pi의 GPIO 포트에 직접 연결할 수 있습니다. HC-SR04 초음파 거리 측정기는 사용이 매우 간단하지만 출력되는 신호는 Raspberry Pi가 손상되지 않도록 5V에서 3.3V로 변환되어야 합니다! 각 단계를 설명하기 위해 이 튜토리얼에서 전자와 함께 일부 물리학을 소개합니다!

필요한 것:

HC-SR04

1kΩ 저항기

2kΩ 저항기

점퍼 와이어

초음파 거리 센서

소리는 매질(예:공기)을 통해 진동하는 파동으로 구성되며, 주파수로 정의되는 서로에 대한 파동의 근접성에 따라 피치가 결정됩니다. 사운드 스펙트럼(음파 주파수의 범위) 중 일부만 인간의 귀로 들을 수 있으며 "어쿠스틱" 범위로 정의됩니다. Acoustic 아래의 매우 낮은 주파수 사운드는 "Infrasound"로 정의되고, 위쪽의 고주파 사운드는 "Ultrasound"라고 합니다. 초음파 센서는 레이더와 유사한 초음파 반사를 사용하여 물체의 근접성 또는 범위를 감지하여 센서와 고체 물체 사이의 초음파를 반사하는 데 걸리는 시간을 계산하도록 설계되었습니다. 초음파는 사람의 귀에는 들리지 않고 근거리에서는 비교적 정확하기 때문에 주로 사용됩니다. 물론 이 목적을 위해 어쿠스틱 사운드를 사용할 수 있지만 몇 초마다 삐 소리를 내는 시끄러운 로봇이 있을 것입니다. . . .

기본 초음파 센서는 하나 이상의 초음파 송신기(기본적으로 스피커), 수신기 및 제어 회로로 구성됩니다. 송신기는 고주파 초음파를 방출하여 근처의 고체 물체에 반사됩니다. 그 초음파 노이즈의 일부는 센서의 수신기에 의해 반사되어 감지됩니다. 그런 다음 그 반환 신호는 전송되고 수신되는 신호 사이의 시간 차이를 계산하기 위해 제어 회로에 의해 처리됩니다. 이 시간은 이후 몇 가지 영리한 수학과 함께 센서와 반사 물체 사이의 거리를 계산하는 데 사용할 수 있습니다.

이 튜토리얼에서 Raspberry Pi용으로 사용할 HC-SR04 초음파 센서에는 접지(GND), 에코 펄스 출력(ECHO), 트리거 펄스 입력(TRIG) 및 5V 공급(Vcc)의 4가지 핀이 있습니다. Vcc를 사용하여 모듈에 전원을 공급하고 GND를 사용하여 접지하고 Raspberry Pi를 사용하여 입력 신호를 TRIG로 보내면 센서가 초음파 펄스를 보내도록 트리거합니다. 펄스파는 근처의 물체에 반사되어 일부는 센서로 다시 반사됩니다. 센서는 이러한 반환파를 감지하고 트리거와 반환된 펄스 사이의 시간을 측정한 다음 ECHO 핀에 5V 신호를 보냅니다.

에코 펄스를 수신할 때 센서가 트리거될 때까지 ECHO는 "낮음"(0V)이 됩니다. 리턴 펄스가 발견되면 ECHO는 해당 펄스 지속 시간 동안 "높음"(5V)으로 설정됩니다. 펄스 지속 시간은 초음파 펄스를 출력하는 센서와 센서 수신기가 감지하는 리턴 펄스 사이의 전체 시간입니다. 따라서 Python 스크립트는 펄스 지속 시간을 측정한 다음 이로부터 거리를 계산해야 합니다.

중요한. HC-SR04의 센서 출력 신호(ECHO)는 정격 5V입니다. 그러나 Raspberry Pi GPIO의 입력 핀은 3.3V입니다. 보호되지 않은 3.3V 입력 포트에 5V 신호를 보내면 GPIO 핀이 손상될 수 있습니다. 이는 우리가 피하고자 하는 것입니다! 센서 출력 전압을 Raspberry Pi가 처리할 수 있는 수준으로 낮추려면 두 개의 저항으로 구성된 작은 전압 분배기 회로를 사용해야 합니다.

전압 분배기

전압 분배기는 입력 전압(Vin)에 직렬로 연결된 두 개의 저항(R1 및 R2)으로 구성되며, 출력 전압(Vout)으로 감소되어야 합니다. 우리 회로에서 Vin은 ECHO가 될 것이며, 이는 5V에서 3.3V의 Vout으로 감소되어야 합니다.

다음 회로와 간단한 방정식은 전압을 줄여야 하는 많은 응용 분야에 적용될 수 있습니다. 기술적인 부분을 배우고 싶지 않다면 1 x 1kΩ 및 1 x 2kΩ 저항을 사용하십시오.

수학적인 측면에 너무 깊이 들어가지 않고 실제로 중요한 분할 비율이므로 하나의 저항 값만 계산하면 됩니다. 우리는 입력 전압(5V)과 필요한 출력 전압(3.3V)을 알고 있으며 저항 조합을 사용하여 감소를 달성할 수 있습니다. 우연히 1kΩ 저항기가 추가로 많이 생겨서 회로에서 이들 중 하나를 R1으로 사용하기로 결정했습니다.

회로 조립

우리는 이 프로젝트를 위해 Raspberry Pi에서 4개의 핀을 사용할 것입니다. GPIO 5V [Pin 2]; Vcc(5V 전원), GPIO GND [핀 6]; GND(0V 접지), GPIO 23 [핀 16]; TRIG(GPIO 출력) 및 GPIO 24 [핀 18]; 에코(GPIO 입력)

1. 4개의 수-암 점퍼 와이어를 다음과 같이 HC-SR04의 핀에 꽂습니다. 빨간색; Vcc, 파란색; TRIG, 노란색; 에코와 블랙; GND.

2. Vcc를 브레드보드의 양극 레일에 연결하고 GND를 음극 레일에 연결합니다.

3. GPIO 5V [핀 2]를 양극 레일에 연결하고 GPIO GND [핀 6]을 음극 레일에 연결합니다.

4. TRIG를 빈 레일에 연결하고 해당 레일을 GPIO 23[핀 16]에 연결합니다. (원하는 경우 TRIG를 GPIO 23에 직접 연결할 수 있습니다). 저는 개인적으로 브레드보드에서 모든 것을 하는 것을 좋아합니다!

5. ECHO를 빈 레일에 연결하고 R1(1kΩ 저항)을 사용하여 다른 빈 레일을 연결합니다.

6. R2(2kΩ 저항)를 사용하여 R1 레일을 GND 레일에 연결합니다. 두 저항 사이에 공간을 두십시오.

7. R1(1kΩ 저항)이 있는 레일에 GPIO 24 [핀 18]을 추가합니다. 이 GPIO 핀은 R1과 R2 사이에 있어야 합니다.

그게 다야! HC-SR04 센서가 Raspberry Pi에 연결되었습니다!

Python으로 감지

이제 초음파 센서를 Pi에 연결했으므로 거리를 감지하는 Python 스크립트를 프로그래밍해야 합니다!

초음파 센서 출력(ECHO)은 트리거되지 않는 한 항상 로우(0V)를 출력하며 이 경우 5V(우리의 전압 분배기로 3.3V!)를 출력합니다. 따라서 하나의 GPIO 핀을 출력으로 설정하여 센서를 트리거하고 다른 하나를 ECHO 전압 변화를 감지하기 위한 입력으로 설정해야 합니다.

먼저 Python GPIO 라이브러리를 가져오고 시간 라이브러리를 가져오고(Pi가 단계 사이에 대기하도록) GPIO 핀 번호를 설정합니다.

RPi.GPIO를 GPIO로 가져오기

가져오기 시간

GPIO.setmode(GPIO.BCM)

자세한 내용:Raspberry Pi의 HC-SR04 초음파 범위 센서


제조공정

  1. 라즈베리 파이 온도 로거
  2. Raspberry Pi의 온도 모니터링
  3. Python 및 Raspberry Pi 온도 센서
  4. 라즈베리 파이 기상 관측소
  5. Raspberry Pi용 DHT Tiny Breakout
  6. 센서 데이터와 Raspberry Pi 마이크로프로세서의 통합
  7. 초음파 센서(HC-SR04) + 라즈베리파이
  8. Raspberry Pi를 사용한 모션 센서
  9. 라즈베리 파이 토양 수분 센서
  10. JAVA의 Raspberry Pi 디지털 홀 센서