цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Система мониторинга почвы на основе Raspberry Pi Pico, датчика влажности почвы и Bluetooth-модуля



Система мониторинга почвы на основе Raspberry Pi Pico, датчика влажности почвы и Bluetooth-модуля

Автор: Mike(admin) от 3-06-2022, 03:55

Данный проект будет отличным подспорьем для людей, увлеченных садоводством и цветами. Его цель – контролировать и уведомлять владельца, когда влажность почвы падает ниже определенного уровня и растение нуждается в воде, или если датчик обнаруживает высокий уровень влажности. Система в результате позволяет предупредить кого-то о необходимости выключить систему орошения. Пользователь уведомляется сообщением, отправленным на телефон.


Система мониторинга почвы на основе Raspberry Pi Pico, датчика влажности почвы и Bluetooth-модуля

В этом проекте используется датчик влажности, который заземляется в почве около растения. Когда датчик обнаруживает низкое содержание влажности в почве, он отправляет посредством подключенного по UART Bluetooth-модуля уведомление пользователю, чтобы сообщить ему об этом. Также система обеспечивает визуальную индикацию с помощью светодиода.


Итак, подключите последовательно три необходимых компонента (датчика влажности почвы, Bluetooth-модуля и светодиода) к Raspberry Pi Pico, как показано на следующих изображениях.


Система мониторинга почвы на основе Raspberry Pi Pico, датчика влажности почвы и Bluetooth-модуля

Система мониторинга почвы на основе Raspberry Pi Pico, датчика влажности почвы и Bluetooth-модуля

Система мониторинга почвы на основе Raspberry Pi Pico, датчика влажности почвы и Bluetooth-модуля

Код, написанный на Python, весьма прост и представлен далее:



from machine import ADC, Pin, Timer, UART
import utime
uart = UART(0,9600)
#ledplacuta
led_placuta = Pin(25, Pin.OUT)
timer = Timer()
def blink(timer):
    led_placuta.toggle()
    
led = Pin(14, Pin.OUT)

soil = ADC(Pin(26)) # линия датчика влажности почвы
#калибровочные значения
min_moisture=0
max_moisture=45235

readDelay = 2 # задержка между измерениями

send=UART(0,9600)
while True:
    message=''
    moisture = (min_moisture+soil.read_u16())*100/(max_moisture-min_moisture)
    message=str(moisture)
    print("moisture: " + "%.2f" % moisture +"% (adc: "+str(soil.read_u16())+")")
    if moisture < 1:
        print("Flowers need water")
        message+="  u" 
        led.value(1)
    elif moisture > 70:
        print(" The flowers have too much water")
        message+=" s" 
        led.value(1)
    else:
        led.value(0)
    send.write(message)
    utime.sleep(readDelay) # задержка между измерениями
    timer.init(freq=25, mode=Timer.PERIODIC, callback=blink)
led.value(0)



© digitrode.ru


Теги: Raspberry Pi Pico, датчик влажности, Bluetooth




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий