Изделия своими руками

Система полива растений с управлением по Wi-Fi

Система полива растений с управлением по Wi-FiСистема полива растений с управлением по Wi-FiВ этой статье мы рассмотрим еще одну схему автоматизации процесса полива растений. Человек, сделавший эту систему, увлекается электроникой и разведением цветов.
Цветы растут в пяти ящиках в двух местах на террасе над водоемом. Расстояние от зеркала воды до цветов около 60 см. Задача была следующая:
Автоматический забор воды из пруда и полив с помощью капельной ленты в пяти цветочных горшках.
Два отдельных насоса, один для ящиков с цветами у перил, другой для ящиков на палубе.
Полив растений только в определенное время утром и вечером в течение короткого периода времени.
Полив растений только в теплые и солнечные дни.
При реализации этого проекта предполагается, что есть домашняя автоматизация (с погодной станцией) и установлен Home Assistant.
Инструменты и материалы:
-Компьютер;
-Паяльник;-Клеевой пистолет;-3D-принтер (опция);-Плата ESP-Wroom-32;-Блок питания, 12 В, 2 А;
-Разъем питания вилка / розетка;
-Модуль L298N;-Самовсасывающий водяной насос 12 В – 2 шт;
-Водяной фильтр;
-Система микрокапельного орошения, включая шланг длиной 10 м;
-Корпус из АБС-пластика;
Шаг первый: схема
Схема работы устройства следующая:
Блок питания подает 12В на драйвер двигателя.
Драйвер мотора подает 5В на ESP32.
Драйвер мотора подает питание на оба водяных насоса.
ESP32 управляет драйвером двигателя через два вывода данных GPIO.
Система полива растений с управлением по Wi-FiШаг второй: плата драйвера двигателя L298N
Чтобы плата драйвера генерировала 5В нужно установить перемычку рядом с входом 12 В. С установленной перемычкой плата драйвера двигателя L298N может также напрямую питать ESP32.
Драйвер двигателя имеет 6 цифровых входов, по 3 на каждый двигатель. ENA и ENB – это входы с широтно-импульсной модуляцией (ШИМ), которые определяют скорость двигателя. Входы In1 / In2 и In3 / In4 управляют направлением вращения двигателя. После проверки направления вращения двигателя ,входы In1, In2, In3 и In4 могут быть подключены к 5V / Gnd ESP32 соответственно. В данном случае подключение следующее:
In1 / In3 = high, In2 / In4 = low
ENA и ENB по умолчанию подключены к 5 В через две перемычки. Когда для установки скорости двигателей используется ШИМ, эти перемычки необходимо удалить.
Оба двигателя подключаются к выходным контактам двигателя на плате драйвера.
Система полива растений с управлением по Wi-FiШаг третий: самовсасывающий мембранный насос
Первым насосом, который мастер попробовал в данной сборке, был простой и дешевый бесщеточный насос постоянного тока 12 В AD20P-1230C. Но этот насос не мог всасывать воду снизу. Для таких целей нужен так называемый «самовсасывающий» мембранный насос.
К основным параметрам этого насоса можно отнести:
Модель: диафрагменный насос постоянного тока R365
Рабочее напряжение: 12 В постоянного тока
Ток без нагрузки: 0,23 А
Максимальный расход: 2-3 л / мин.
Максимальное давление на выходе: 1-2,5 кг
Максимальный подъем: 1-2,5 м
Максимальное всасывание: 2 м
Таким образом, он может всасывать воду с глубины 2 м, чего более чем достаточно, так как в данном случае нужно поднять воду только на 90 см вверх. Затем он должен протолкнуть воду еще на метр. В любом случае, этот насос удовлетворяет техническим требованиям.
Система полива растений с управлением по Wi-FiСистема полива растений с управлением по Wi-FiШаг четвертый: подключение ESP32
ESP32 – дешевый, но мощный чип от Espressif Systems. Его довольно часто используют в различных простых проектах беспроводной автоматизации. Особенности ESP32:
ESP32 имеет множество входных и выходных контактов.
ESP32 имеет встроенные Bluetooth и Wi-Fi для беспроводной передачи данных.
В сочетании с ESPHome ESP32 можно интегрировать в Home Assistant.
ESPHome обновляется по воздуху
ESPHome имеет простой локальный веб-сервер
Подключения следующее:
Питание 5 Вольт подключается от платы драйвера двигателя к выводу Vin ESP32.
Gnd подключена к Gnd
Контакт GPIO D14 подключен к ENA для ШИМ двигателя A
Контакт GPIO D32 подключен к ENB для ШИМ двигателя B
Система полива растений с управлением по Wi-FiШаг пятый: корпус
Устройство должно быть размещено в водонепроницаемом корпусе. Мастер разработал и напечатал на 3D-принтере, несущую конструкцию, которая удерживает все компоненты и которую можно легко установить в стандартный корпус из АБС-пластика.
Насосы и электронная часть находятся в разных отсеках корпуса. Разъем питания 12 В расположен сбоку.
Система полива растений с управлением по Wi-FiСистема полива растений с управлением по Wi-FiСистема полива растений с управлением по Wi-FiСистема полива растений с управлением по Wi-FiШаг шестой: программирование
Сначала нужно прописать некоторые параметры.
В esphome устанавливается название устройства, а также конкретная используемая плата ESP. Если контакты In1, In2, In3 и In4 платы драйвера двигателя подключены напрямую к 5V (In1, In3) и земле (In2, In4), вся запись on_boot может быть удалена.
В Wi-Fi необходимо указать сетевые учетные данные.
Запись api гарантирует, что Home Assistant найдет устройство.
Запись web_server создает веб-сервер, через который можно напрямую управлять устройством.
Запись ota позволяет обновлять данные через сеть Wi-Fi, а не через USB-соединение.
В output entry устанавливаются два контакта управления двигателем. Платформа ledc выбрана для управления ШИМ с частотой 1000 Гц. Если контакты In1, In2, In3 и In4 платы драйвера двигателя подключены напрямую к 5V (In1, In3) и земле (In2, In4), эти настройки не используются и могут быть удалены.
Запись sensor определяет уровень сигнала WiFi.
Код можно скачать ниже.

#  # Smart WiFi Controlled Irrigation System Using Home Assistant and ESPHome  #     # Generic ESP32, name, platform and initial GPIO pin states  esphome:    name: waterpump    platform: ESP32    board: esp-wrover-kit    # The on_boot entry can be removed when pins In1, In2, In3 and In4 are directly    # connected to 5V (In1, In3) and Gnd (In2, In4) respectively.    on_boot:      then:        - output.turn_on: gpio_in1        - output.turn_off: gpio_in2        - output.turn_on: gpio_in3        - output.turn_off: gpio_in4    # WiFi, connect to network as defined in secrets.yaml file.  wifi:    ssid: !secret wifi_ssid    password: !secret wifi_pass    # I have preference for fixed IP address, comment out for dynamic IP address    manual_ip:      static_ip: 192.168.1.95      gateway: 192.168.1.1      subnet: 255.255.255.0    # fast_connect: true    # Enable fallback hotspot (captive portal) in case wifi connection fails    ap:      ssid: "Waterpump Fallback Hotspot"      password: "Waterpump"    # Enable Captive Portal in case connection to defined WiFi network fails.  captive_portal:    # Enable logging  logger:    # Enable Home Assistant API, required to auto discover new ESPHome devices  api:    # Enable local web server for direct connection outside Home Assistant  web_server:    port: 80    # Enable over-the-air updates  ota:    # Define the output pins connected to the Motor Driver board  # The entries for pins In1, In2, In3 and In4 can be removed when directly  # connected to 5V (In1, In3) and Gnd (In2, In4) respectively.  output:    # Motor 1 - ENA, Enable A (= PWM)    - platform: ledc      pin: GPIO14      id: gpio_m1      frequency: "1000Hz"    # Motor 1 - IN1    - platform: gpio      pin: GPIO27      id: gpio_in1    # Motor 1 - IN2    - platform: gpio      pin: GPIO26      id: gpio_in2    # Motor 2 - IN3    - platform: gpio      pin: GPIO25      id: gpio_in3    # Motor 2 - IN4    - platform: gpio      pin: GPIO33      id: gpio_in4    # Motor 2 - ENB, Enable B (= PWM)    - platform: ledc      pin: GPIO32      id: gpio_m2      frequency: "1000Hz"    # Define two light switches in HA that control both water pumps  light:    # Motor 1    - platform: monochromatic      output: gpio_m1      name: "Water pump 1"    # Motor 1    - platform: monochromatic      output: gpio_m2      name: "Water pump 2"    # Define a WiFi strength sensor to indicate the WiFi strength of connection  sensor:    - platform: wifi_signal      name: "Waterpump_WiFi_Signal"      update_interval: 60s      filters:        - median:            window_size: 7            send_every: 4            send_first_at: 3

Шаг седьмой: настройка в Home Assistant
Автоматика настроена так, что она запускается каждое утро в 7:00 и каждый вечер на закате. Но только когда небо ясное, туманное или частично облачное.

automation:    - alias: 'waterpump automation'      trigger:        # Every morning at 7:00        - platform: time          at: "07:00:00"        # every evening at sun set        - platform: sun          event: sunset      condition:         # Only run when sky is clear, cloudy or partly-cloudy        - condition: or           conditions:             - condition: state              entity_id: weather.waterfront              state: 'clear'            - condition: state              entity_id: weather.waterfront              state: 'cloudy'            - condition: state              entity_id: weather.waterfront              state: 'partlycloudy'      action:        # Switch the pump on, and let it run for 3 minutes        - service: light.turn_on          entity_id:            - light.water_pump_1            - light.water_pump_2        - delay:            minutes: 3        - service: light.turn_off          entity_id:            - light.water_pump_1            - light.water_pump_2        # Just to be sure, switch it off once more        - delay:            seconds: 30        - service: light.turn_off          entity_id:            - light.water_pump_1            - light.water_pump_2

Система полива растений с управлением по Wi-Fi

Самоделкин

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Your Header Sidebar area is currently empty. Hurry up and add some widgets.