Оглавление:

Автономная система полива растений: 4 ступени
Автономная система полива растений: 4 ступени

Видео: Автономная система полива растений: 4 ступени

Видео: Автономная система полива растений: 4 ступени
Видео: ✅ АВТОПОЛИВ ОГОРОДА ЗА КОПЕЙКИ ЧЕРЕЗ ТЕЛЕФОН СВОИМИ РУКАМИ | КАК ПОЛИВАТЬ УЧАСТОК ГДЕ БЫ ТЫ НЕ БЫЛ! 2024, Ноябрь
Anonim
Автономная система полива растений
Автономная система полива растений
Автономная система полива растений
Автономная система полива растений
Автономная система полива растений
Автономная система полива растений

В этом проекте представлена интеллектуальная автономная система полива растений. Система автономна по энергии, используя батарею 12 В и солнечную панель, и поливает растение, когда все созданы правильные условия, с хорошо продуманной (я надеюсь) безотказной системой. Это умно, потому что общается с пользователем (ами) через приложение Telegram.

Система выполняет следующие шаги:

  • всегда контролируется влажность почвы;
  • если влажность почвы ниже определенного значения (max_soil_moisture), система:

    • (?) проверяет, не пуст ли резервуар для воды (и во время) полива, чтобы избежать повреждения насоса, работающего всухую;
    • (?) проверяет, что минимальный период полива между двумя поливами превышен. Это сделано для того, чтобы не поливать растения слишком много раз в течение дня (лучше в какой-то момент немного подсохнуть), а также для большей безопасности на случай поломки датчика влажности почвы;
    • (?) начать полив;
    • останавливает орошение всякий раз, когда:

      • (?) влажность почвы достигает определенного значения (max_soil_moisture) или;
      • (?) резервуар для воды пуст, и в этом случае полив возобновится, как только он снова наполнится, или
      • (?) продолжительность полива превышает максимальную продолжительность, разрешенную для каждого события полива (watering_max_time). Здесь цель состоит в том, чтобы избежать работы насоса до тех пор, пока резервуар для воды не опустеет, если в системе есть утечка, которая может предотвратить увеличение влажности почвы;
  • (?) проверяет, поливают ли растения по крайней мере каждый заданный период времени (max_wo_water), чтобы избежать их гибели, если, например, датчик влажности почвы сломан и выдает всегда высокие значения;

Пользователь уведомляется сообщениями Telegram на каждом важном шаге (обозначается?). Пользователь также может вручную запустить событие полива из Telegram, даже если содержание влаги в почве выше заданного значения (max_soil_moisture). Также можно включать и выключать всю систему, спрашивать, работает ли система, или спрашивать текущее значение содержания влаги в почве (см. Снимок Telegram).

Запасы

Материал

Вот список продуктов, использованных для построения системы. Сразу скажу, что никаких поощрений от Amazon, на которой были куплены все продукты, я не получаю.

Для управления системой:

  • Плата NodeMCU (ESP8266) для мозга, 17,99 евро
  • Релейный модуль, 11,99 €
  • 120 перемычек для прототипирования, 6.99 € -> прототипирование
  • 3 макета, 8.99 € -> прототипирование
  • Водонепроницаемый бокс, 10,99 €
  • Комплект резисторов 525 шт., 10,99 €
  • Печатная плата с подключениями, аналогичными макету, 9,27 €
  • Многожильные электрические провода 20, 22 или 24 AWG в зависимости от ваших предпочтений (20 - более прочный, но для некоторых соединений его нужно уменьшить, 22 - хорошо, 24 - дешевле), 18,99 €

За автономность в энергетике:

  • Аккумулятор 12В, 21.90 €
  • Монокристаллическая солнечная панель 10W wp 12V, 23.90 €
  • Контроллер заряда 12/24 В, 13,99 €

Для резервуара для воды:

  • Водяной насос 12В, 16,99 €
  • Штекерный / гнездовой разъем постоянного тока (для подключения помпы), 6,99 €

Датчики:

  • Поплавок уровня воды, 7,99 €
  • Емкостной датчик влажности почвы, 9,49 €
  • немного лака для ногтей для гидроизоляции датчика влажности почвы, 7,99 €;

И система полива:

Система орошения, 22.97 €

На общую сумму 237,40 €. Это недешево! Но имейте в виду, что это по-прежнему дешевле, чем готовая система, и с гораздо большими возможностями! Кроме того, некоторые детали предназначены только для прототипирования (15,98 €), и я купил много компонентов группами по несколько штук для других проектов, например 525 резисторов - безумное количество, для этого проекта не нужны ни 3 платы NodeMCU, ни 6 реле.

Шаг 1. Код

Чтобы воспроизвести этот проект, вам понадобятся некоторые инструменты, некоторые материалы и код из этого проекта.

Код

Чтобы получить код из этого проекта, либо клонируйте его (или лучше, разветвите) из репозитория Github с помощью GIT, а если вы не знаете, что означает GIT, clone и fork, просто загрузите его на свой компьютер по этой ссылке?.

Затем настройте его под свои нужды!

Чтобы использовать Telegram, NodeMCU должен быть подключен к Интернету. Я сделал это, используя его модуль WIFI и мой домашний WIFI. Чтобы настроить собственное соединение, откройте скрипт plant_watering.ino в Arduino IDE и введите недостающие значения для своих учетных данных Wi-Fi (я предполагаю, что у вас есть Wi-Fi):

Строка ssid = "xxxxx"; // Имя вашей строки Wi-Fi pass = "xxxxx"; // Пароль Wi-Fi

Затем мы настроим бота Telegram, который представляет собой учетную запись пользователя, немного похожую на вашу, но на самом деле управляемую роботом (вашим NodeMCU). Для этого выполните действия, описанные здесь. В двух словах:

  • Откройте Telegram (и подключитесь к своей учетной записи);
  • Создайте нового бота:

    • Найдите BotFather в своих контактах (введите его в строке поиска) и начните с ним беседу (как и с любым новым контактом);
    • Введите в беседе / newbot (следите за делом и включайте /!)
    • Назовите своего бота как хотите, но закончите его словом «бот» (например, «watering_balcony_bot»);
    • Botfather дает вам токен бота, держите его в секрете (не делитесь им с помощью GIT !!), мы будем использовать его в несколько шагов;
    • Найдите его в своих контактах и отправьте это сообщение: / start
    • Скопируйте токен, возвращенный Botfather, и вставьте его в свой скрипт plant_watering.ino здесь:

      Строковый токен = "xxxxxx: xxxxxxxxxxxxxxxxxxxxxxx"; // Токен бота Telegram

Ваш бот теперь жив!

Чтобы дать ему возможность общаться с вами, ему необходимо знать ваш идентификатор разговора. Поскольку мы хотим иметь возможность делиться тем, что говорит бот с другими людьми, на случай, если мы уйдем в отпуск, я предпочитаю вместо этого создать групповой чат. Итак, создайте одну (новую группу), добавьте своего бота, выполнив поиск по его имени, и временно добавьте третьего бота с именем IDBot. Затем назовите свой групповой чат как хотите. Откройте групповой чат и введите / getgroupid. IDBot вернет число, например -xxxxxxxxx (не забудьте минус при его копировании!), Это ваш идентификатор группового чата!

Вы также можете попросить / getid получить ваш личный идентификатор, чтобы ваш бот вместо этого отправлял сообщения непосредственно вам (а не отправлял их группе).

Скопируйте идентификатор и вставьте его в свой скрипт plant_watering.ino здесь:

int chatID = -000000000; // Это идентификатор вашего группового чата Вместо этого вставьте сюда / getid, если вы хотите, чтобы бот отправлял сообщения прямо вам.

Затем удалите IDBot из своей группы на всякий случай (мы не хотим утечки данных).

На последнем этапе вам необходимо установить библиотеки CTBot и ArduinoJson. Для этого введите ctrl + maj + I, выполните поиск CTBot, найдите CTBot от Stefano Ledda и нажмите «Установить». Затем повторите для ArduinoJson и найдите ArduinoJson от Benoit Blanchon, но пока установите версию 5.13.5, потому что CTBot еще не совместим с шестой версией (вы можете проверить здесь, есть ли какие-либо изменения).

Вот и все, ваш код готов! Теперь вы можете загрузить его в NodeMCU! Если есть ошибки, убедитесь, что вы выбрали NodeMCU 1.0 в качестве типа платы и используете правильную версию для своих библиотек.

Шаг 2: Инструменты

Инструменты

Инструменты очень простые, я использовал для этого проекта:

  • Паяльник + олово (например, 220В 60Вт);
  • Мультиметр (у меня TackLife DM01M);
  • Отвертка плоская (лучше миниатюрная);
  • Кусачки;

Если они у вас есть, вы также можете добавить несколько инструментов для зачистки проводов, но они не являются обязательными.

Шаг 3: Сборка

сборка
сборка

Вы можете найти сборку деталей с помощью Fritzing, чтобы открыть проект Fritzing в репозитории Github.

NB: NodeMCU подключается к контроллеру заряда солнечной батареи USB-кабелем (на схеме его нет). См. В разделе «Материалы» пример контроллера заряда от солнечной батареи с USB-разъемом.

Я сделал все настраиваемые части доступными в папке fritzing из проекта Github (все можно найти в Интернете, кроме поплавка, потому что я его сделал).

Шаг 4: Благодарности

Хочу поблагодарить моего замечательного партнера, который позволил мне заниматься этим по выходным! И, конечно же, все создатели, которые сделали проект возможным, такие как @shurillu для библиотеки super CTBot, EstebanP27 для его учебника, из которого я многому научился для этого проекта! Я также хотел бы поблагодарить svgrepo, из которого я использовал SVG в качестве основы для логотипа.

Рекомендуемые: