Подключение ультразвукового датчика HC‑SR04 к Raspberry Pi 3 — полное руководство
Требования к железу
- Raspberry Pi 3 (или новее)
- Ультразвуковой датчик расстояния HC‑SR04 (один или несколько)
- Пара резисторов: 330 Ом (для ECHO) и 470 Ом (для делителя напряжения)
- Перемычки
- Макетная плата
Схема подключения
Пины датчика подключаются к Pi следующим образом:
- VCC → Пин 2 (5 В)
- GND → Пин 6 (земля)
- TRIG → Пин 12 (GPIO18)
- ECHO → резистор 330 Ом → Пин 18 (GPIO24); резистор 470 Ом → Пин 6 (земля)
Резисторы ограничивают 5-В импульс ECHO до 3,3-В логического уровня Pi.
Разместите датчик на макетной плате и протяните перемычки к соответствующим GPIO. Для добавления второго датчика продублируйте проводку на другой стороне платы, соединив VCC и GND с теми же шинами питания и выбрав любые два свободных GPIO для TRIG и ECHO.
Софт — пример на Python
Откройте любимую IDE или терминал, создайте файл ultrasonic_distance.py и вставьте следующий скрипт. Код написан для одного датчика; продублируйте секцию и переименуйте переменные (TRIG2, ECHO2 и т.д.) для поддержки второго датчика.
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
TRIG1 = 18
ECHO1 = 24
GPIO.setup(TRIG1, GPIO.OUT)
GPIO.output(TRIG1, False)
GPIO.setup(ECHO1, GPIO.IN)
time.sleep(0.1)
GPIO.output(TRIG1, True)
time.sleep(0.00001)
GPIO.output(TRIG1, False)
while GPIO.input(ECHO1) == 0:
pass
pulse_start1 = time.time()
while GPIO.input(ECHO1) == 1:
pass
pulse_end1 = time.time()
pulse_duration1 = pulse_end1 - pulse_start1
distance1 = pulse_duration1 * 17150
distance1 = round(distance1, 2)
print(f'Distance: {distance1} cm')
time.sleep(10)
GPIO.cleanup()
Сохраните файл и запустите из терминала:
python3 ultrasonic_distance.py
Для дополнительных датчиков зеркально продублируйте проводку на макетной плате, обновите номера TRIG и ECHO в коде и добавьте второй блок измерения.
Источник: Ultrasonic Sensor (HC‑SR04) + Raspberry Pi
Производственный процесс
- Сборка логгера температуры на Raspberry Pi с $5 I2C датчиком
- Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
- Создание метеостанции на Raspberry Pi с ежедневными email-отчётами о погоде
- Как подключить однопроводный датчик температуры DS1820 к Raspberry Pi через GPIO
- Подключение ультразвукового датчика HC‑SR04 к Raspberry Pi 3 — полное руководство
- Датчик слежения за линией на Raspberry Pi — простой детектор двери/линии KY‑033
- Управление светодиодом с PIR-датчиком движения на Raspberry Pi
- Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива
- Чтение линейного Холловского датчика с Raspberry Pi: руководство по Java и особенности ADC0832
- Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20