Raspberry pi pico: http://alii.pub/626ldu
HC-SR04: http://alii.pub/626oxl
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Я решил здесь постить простенькие примеры подключения разных датчиков к raspberry pi pico.
В данном примере покажу как подключить ультразвуковой дальномер HC SR-04. Это довольно популярный дальномер.
В интернете есть парочка примеров, но они все не однозначные.
У меня запустить датчик заняло несколько часов, я перебрал несколько примеров, распиновку. И ничего не получалось завести.
А дело все в том, что сам дальномер HC SR-04 он питается от 5 вольт. А Raspberry pi pico не может дать 5 вольт. Она может только 3.3 дать. И вот в примерах при подключении например так как показано на схеме выше, все работает у людей. У меня же ничего не работало.
Пример выводит значения с датчика в монитор порта. И вот у меня там происходила все время тишина. Хотя на сам код не ругалось. И вот только после того как я подключил датчик от 5 вольт (Я запитал от arduino) а питы trigger и echo я подключил к raspberry i pico. И только после этого все заработало как надо.
Вывод дистанции в монитор порта выглядит следующим обрзом:
измерения производятся каждые 0.1 секунды.
Сам код выглядит так:
from machine import Pin
import utime
pin_trigger = Pin(3, Pin.OUT)
pin_echo = Pin(2, Pin.IN)
while True:
pin_trigger.low()
utime.sleep_us(5)
pin_trigger.high()
utime.sleep_us(5)
pin_trigger.low()
while pin_echo.value() == 0:
signal_off = utime.ticks_us()
while pin_echo.value() == 1:
signal_on = utime.ticks_us()
timepassed = signal_on - signal_off
object_distance = (timepassed * 0.0343) / 2
print("distanct: ",object_distance,"cm")
utime.sleep(0.1)