제조공정
이전 튜토리얼에서 우리는 온도 감지, 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 초음파 범위 센서
제조공정
이 가이드에서는 HC-SR04 초음파 센서가 작동 및 Arduino와 함께 사용하는 방법 . 아두이노로 거리를 측정하고 장애물 회피 로봇을 만드는 데 가장 많이 사용되는 센서입니다. 저는 이미 몇 가지 멋진 Arduino 프로젝트를 구축하기 위해 HC-SR04 초음파 센서를 사용했으며 여기에서 확인할 수 있습니다. Arduino 레이더(음파 탐지기) 거리 측정기 및 디지털 수준기 보안 및 경보 시스템 프로젝트 Arduino Ant Hexapod 로봇 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 사양, 핀
초음파는 인간의 정상적인 가청 범위(20kHz 이상)를 초과하는 주파수를 가진 고음의 음파입니다. 초음파 센서의 한 유형은 13피트 떨어진 물체를 감지하는 HC-SR04입니다. 이 기사에서는 센서가 어떻게 작동하는지 보여주고 Arduino와의 인터페이스 프로젝트를 수행합니다. 초음파와 비교한 주파수 범위 HC SR04 초음파 거리 센서 개요 하드웨어 개요 hc-sr04 초음파(미국) 센서는 두 개의 초음파 변환기로 구성됩니다. 송신기와 수신기. 송신기(T) 및 수신기(R) 수신기는 전송된 펄스를 기