Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Подключение ультразвукового датчика HC-SR04 к Raspberry Pi — практическое руководство

В ранних проектах мы рассматривали датчики температуры, PIR-модули и базовую работу с GPIO. Ультразвуковой дальномер HC-SR04 популярен для измерения расстояния, но его 5-вольтовый выход нужно понизить до 3,3 В для защиты GPIO Raspberry Pi. Это руководство проведет через физику, электронику и Python-код для безопасного подключения и использования датчика.

Необходимые компоненты

Принцип работы ультразвуковых датчиков

Звук распространяется в виде волн давления; частота определяет тональность. Ультразвуковые датчики излучают высокочастотный звук, неслышимый человеком, который отражается от объектов и возвращается как эхо. Измеряя время туда-обратно, встроенная электроника вычисляет расстояние, используя скорость звука (~343 м/с в воздухе).

Распиновка и функции HC-SR04

Датчик выдает 5-вольтовый импульс на ECHO от момента обнаружения эха до готовности к следующему триггеру. Так как GPIO Pi терпит только 3,3 В, необходимо понизить напряжение.

Делитель напряжения

Простой делитель использует два последовательных резистора. С 5 В на ECHO входе, резистор 1 кОм (R1) и 2 кОм (R2) дадут 3,3 В на стыке:

Vout = Vin × (R2 / (R1 + R2))

Подключите 1 кОм между линией ECHO и GPIO Pi, а 2 кОм от этой точки к земле. Это защищает Pi и сохраняет точность измерений.

Схема подключения (на макетной плате)

Используйте следующие выводы Raspberry Pi:

  1. Подключите контакты HC-SR04 к макетной плате: красный (Vcc), синий (TRIG), желтый (ECHO), черный (GND).
  2. Соедините шины питания макетной платы с 5 В и GND Pi.
  3. Подключите TRIG к GPIO 23 напрямую или через шину.
  4. Для линии ECHO: поставьте 1 кОм на шине от контакта ECHO датчика, затем 2 кОм к земле. Подключите GPIO 24 к точке между резисторами.
  5. Проверьте все соединения перед включением Pi.

Python-код для измерения расстояния

Скрипт демонстрирует запуск датчика и интерпретацию ширины импульса эха для расчета расстояния в сантиметрах.

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
TRIG = 23
ECHO = 24
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
GPIO.output(TRIG, False)
time.sleep(2)  # датчик стабилизируется

while True:
    # Триггер: 10 мкс высокий импульс
    GPIO.output(TRIG, True)
    time.sleep(0.00001)
    GPIO.output(TRIG, False)

    # Ждем начала эха
    pulse_start = time.time()
    while GPIO.input(ECHO) == 0:
        pulse_start = time.time()
    # Ждем конца эха
    pulse_end = time.time()
    while GPIO.input(ECHO) == 1:
        pulse_end = time.time()

    pulse_duration = pulse_end - pulse_start
    distance = pulse_duration * 17150  # скорость звука в см/с
    print("Distance: %0.2f cm" % distance)
    time.sleep(1)

GPIO.cleanup()

Запуск скрипта покажет измерения расстояния в реальном времени. Настройте задержку или интервал триггера под вашу задачу.

Меры безопасности

Следуя этим шагам, вы получите надежную систему ультразвукового измерения расстояния, безопасную для Raspberry Pi и точную для робототехники и автоматизации.

Производственный процесс

  1. Сборка логгера температуры на Raspberry Pi с $5 I2C датчиком
  2. Профессиональный мониторинг температуры на Raspberry Pi с датчиком DS18B20
  3. Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
  4. Создание метеостанции на Raspberry Pi с ежедневными email-отчётами о погоде
  5. Компактный breakout для DHT температуры и влажности на Raspberry Pi — ATtiny85 и DHT22/DHT11
  6. Интеграция данных сенсоров в Raspberry Pi: практическое руководство
  7. Подключение ультразвукового датчика HC‑SR04 к Raspberry Pi 3 — полное руководство
  8. Управление светодиодом с PIR-датчиком движения на Raspberry Pi
  9. Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива
  10. Чтение линейного Холловского датчика с Raspberry Pi: руководство по Java и особенности ADC0832