Raspberry Pi:Примеры/Управление датчиком HC-SR04 с помощью Python скрипта
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Черновик |
Управление датчиком HC-SR04 с помощью Python скрипта
Данный пример показывает как управлять датчиком HC-SR04 с помощью Python скрипта.
Необходимое оборудование
- плата Raspberry Pi;
- датчик HC-SR04;
- 2 резистора 10 кОм;
- пара перемычек;
- макетная плата;
Схема
Будьте осторожны при обращении с портами GPIO вашего Raspberry Pi. Помните входы и выходы GPIO расссчитаны на напряжение +3,3В |
Таблица с используемыми выводами:
Вывод GPIO(BCM) | № п/п |
---|---|
gpio22 | 15 |
gpio27 | 13 |
GND | 20 |
5V | 2 |
Все манипуляции по подключению датчика HC-SR04 производите только при отключенном питании платы Raspberry Pi |
Код
import time
import botbook_gpio as gpio
def measureDistance():
trigPin = 22 # указываем номер контакта Raspberry Pi, к которому подключен Trig контакт датчика HC-SR04
echoPin = 27 # указываем номер контакта Raspberry Pi, к которому подключен Echo контакт датчика HC-SR04
v=(331.5+0.6*20) # скорость звука при температуре 20 градусов Цельсия(вы можете указать свое значение вместо 20) в м/с
gpio.mode(trigPin, "out") # устанавливаем контакт как выход
gpio.mode(echoPin, "in") # устанавливаем контакт как вход
gpio.interruptMode(echoPin, "both") # режим прерывания, чтобы функция pulseInHigh вычислила длительность перехода сигнала с 0 до 1 и от 1 до 0
gpio.write(trigPin, gpio.LOW) # устанавливаем низкий уровень сигнала
time.sleep(0.5) # задержка в пол секунда
gpio.write(trigPin, gpio.HIGH) # устанавливаем высокий уровень сигнала
time.sleep(1/1000000.0) # задержка в 1 мкс
gpio.write(trigPin, gpio.LOW) # устанавливаем низкий уровень сигнала
t = gpio.pulseInHigh(echoPin) # вычисляем длительность сигнала
d = t*v*50 # вычисляем пройденное расстояние
return d # возвращаем значение
d = measureDistance() # вызываем функцию и сохраняем возвращенное значение в переменную
print "Distance: %.2f cm" % d # выводим значение
Инструкции
Соберите схему.
В удобном для вас месте создайте файл Python скрипта.
Для этого введите в консоли
nano hc-sr04.py
Скопируйте или перепечатайте код скрипта в файл.
После этого сохраните файл. Нажмите Ctrl + X , вам предложат сохранить изменения, нажмите Y и затем ↵ Enter
Для работы этого скрипта также необходима библиотека botbook_gpio, скачать которую можно отсюда. Файл botbook_gpio.py необходимо поместить в папку с вашим скриптом.
Для запуска скрипта, введите python и путь до скрипта(если скрипт находится в вашем текущем расположении, то можно просто указать имя файла)
python hc-sr04.py
Пример работы скрипта
Как видим показания могут сильно искажаться, на точность может повлиять и количество запущенных программ.