МНОГОКАНАЛЬНЫЙ АВТОПОЛИВ НА ARDUINO СВОИМИ РУКАМИ

Внимание! 22.06.2018 Исправлена критическая ошибка! Версия прошивки обновлена до 1.4, просьба перекачать проект!

Наши ответы на ваши вопросы

Все хотят датчики влажности, каждый третий об этом написал.

  • Вопрос: зачем тогда нужен таймер и все эти настройки? Мой проект не об этом, мой проект о таймере
  • С датчиками влажности МИКРОКОНТРОЛЛЕР ВООБЩЕ НЕ НУЖЕН. Почему? Как? Смотрите ЗДЕСЬ
  • Все жалуются на дождь. В видео звучало слово “теплица” и “рассада”, там не идёт дождь
  • Китайские датчики влажности почвы разъедаются почвой, так как сделаны не из золота!

Да, согласен, нужна одна помпа и клапана на каналы! Добавил прошивку auto-pumps_valve, читайте описание в начале скетча, там всё написано!

Многоканальная система автополива растений для установки в умную теплицу, на огород или в квартиру. Особенности:

  • Поддержка от 1 до 15 помп (Arduino NANO / UNO)
  • Индивидуальная настройка периода и времени работы
  • Дисплей 1602 с отображением настроек
  • Индивидуальное название каждого канала (можно по-русски!)
  • Удобное управление и настройка энкодером
  • Хранение настроек в энергонезависимой памяти
  • Настройка уровня управляющего сигнала
  • Настройка часы/минуты/секунды работы
  • Параллельный режим работы / очередь

ПОДРОБНОЕ ВИДЕО ПО ПРОЕКТУ

канал на youtube
группа вконтакте
  • В данном видео показан полный и максимально подробный процесс разработки и изготовления устройства, а также обзор его возможностей и функций.

  • Понятные схемы, OpenSource прошивки с комментариями и подробные инструкции это очень большая работа. Буду рад, если вы поддержите такой подход к созданию Ардуино проектов! Основная страница пожертвовать – здесь.

ИНСТРУКЦИИ ПО ЭКСПЛУАТАЦИИ

Система управляет количеством помп PUPM_AMOUNT, подключенных подряд в пины платы, начиная с пина START_PIN. На каждую помпу заводится таймер, который включает помпу на заданное время через заданные промежутки времени. Промежутки времени (период работы) может быть в часах или минутах (настройка PERIOD). Время работы помпы может быть в минутах или секундах (настройка PUMPING). Включение производится сигналом уровня SWITCH_LEVEL. 0 – для реле низкого уровня (0 Вольт, все семейные модули реле), 1 – высокого уровня (5 Вольт, редкие модули реле, все мосфеты).
Примечание: катушка реле кушает около 60 мА, несколько включенных вместе катушек создадут лишнюю нагрузку на линию питания. Также несколько включенных одновременно помп сделают то же самое. Для устранения этого эффекта есть настройка PARALLEL. При её отключении помпы будут “вставать в очередь”, совместное включение будет исключено.

Управление:

  • Нажатие на ручку энкодера – переключение выбора помпы/периода/времени работы
  • Поворот ручки энкодера – изменение значения
  • Кнопка энкодера удерживается при включении системы – сброс настроек

СХЕМЫ, ПЕЧАТНЫЕ ПЛАТЫ

5V помпы

12V помпы

220V AC помпы

15 реле

МАТЕРИАЛЫ И КОМПОНЕНТЫ

Ссылки на магазины, с которых я закупаюсь уже не один год

Вам скорее всего пригодится:

Почти все компоненты можно взять в магазине WAVGAT по первым ссылкам

всё для пайки
аккумы, bms
arduino, модули
мультиметры
инструменты
бп и модули

ПРОШИВКА И НАСТРОЙКА

Содержимое папок в архиве

  • libraries – библиотеки проекта. Заменить имеющиеся версии
  • auto-pumps – прошивка для Arduino, файл в папке открыть в Arduino IDE (инструкция)
  • schemes – схемы подключения
скачать архив
страница на github

Как прошить?

первые шаги с arduino
  • ЕСЛИ ЭТО ПЕРВЫЙ ОПЫТ РАБОТЫ С ARDUINO – посмотреть ВИДЕО о платформе с целью ознакомления, далее скачать, установить и настроить необходимые для работы программы согласно СУПЕР ПОДРОБНОЙ ИНСТРУКЦИИ (там даже видео версия есть!).
  • Скачать архив с проектом напрямую, или с GitHub (кнопки чуть выше)
  • Установить библиотеки (папка Libraries) в
    C:\Program Files (x86)\Arduino\libraries\ (Windows x64)
    C:\Program Files\Arduino\libraries\ (Windows x86)

    Подробнее в 4-ом пункте статьи для новичков

  • Подключить Ардуино к компьютеру при помощи Data-кабеля
  • Открыть файл прошивки желаемой версии (файлы прошивок .ino лежат в одноимённых папках)
  • Настроить Arduino IDE (COM порт, куда подключена плата; подключенная модель Arduino, как в статье из первого пункта)
  • Настроить что нужно в прошивке, нажать загрузить
  • Если происходит ошибка компиляции или ошибка загрузки, читать 5-ый пункт в статье для новичков.

Настройки в прошивке

#define DRIVER_VERSION 0    // 0 - маркировка драйвера дисплея кончается на 4АТ, 1 - на 4Т
#define PUPM_AMOUNT 8       // количество помп, подключенных через реле/мосфет
#define START_PIN 3         // подключены начиная с пина
#define SWITCH_LEVEL 0      // реле: 1 - высокого уровня (или мосфет), 0 - низкого
#define PARALLEL 0          // 1 - параллельный полив, 0 - полив в порядке очереди
#define TIMER_START 0       // 1 - отсчёт периода с момента ВЫКЛЮЧЕНИЯ помпы, 0 - с момента ВКЛЮЧЕНИЯ помпы

#define PERIOD 0            // 1 - период в часах, 0 - в минутах
#define PUMPING 1           // 1 - время работы помпы в секундах, 0 - в минутах

#define DROP_ICON 1         // 1 - отображать капельку, 0 - будет буква "t" (time)

Дополнительно

  • Указанные модули реле управляются НИЗКИМ сигналом, в отличие от МОСФЕТов. Твердотельные реле также управляются ВЫСОКИМ уровнем, в настройках поставьте единичку.

  • Да, русский шрифт может немного глючить и показывать неправильные буквы, это особенность библиотеки LCD1602_RUS. Можно уменьшить количество глюков, если писать названия БОЛЬШИМИ БУКВАМИ.


2018-06-22T11:56:26+00:00