Raspberry Pi:Примеры/Управление датчиком HC-SR04 с помощью Python скрипта: различия между версиями
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
Строка 43: | Строка 43: | ||
==Код== | ==Код== | ||
<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
import time | import time | ||
import botbook_gpio as gpio | import botbook_gpio as gpio | ||
Строка 82: | Строка 82: | ||
Для этого введите в консоли | Для этого введите в консоли | ||
<syntaxhighlight lang="bash | <syntaxhighlight lang="bash"> | ||
nano hc-sr04.py | nano hc-sr04.py | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 94: | Строка 94: | ||
Для запуска скрипта, введите '''python''' и путь до скрипта(если скрипт находится в вашем текущем расположении, то можно просто указать имя файла) | Для запуска скрипта, введите '''python''' и путь до скрипта(если скрипт находится в вашем текущем расположении, то можно просто указать имя файла) | ||
<syntaxhighlight lang="bash | <syntaxhighlight lang="bash"> | ||
python hc-sr04.py | python hc-sr04.py | ||
</syntaxhighlight> | </syntaxhighlight> |
Текущая версия от 18:24, 14 мая 2023
Содержание | Введение | Продукты | Операционная система | Настройка | Основы 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
Пример работы скрипта
Как видим показания могут сильно искажаться, на точность может повлиять и количество запущенных программ.