240

Умная теплица под управлением ARDUINO

Примечание! Я держу в руках микроконтроллер не более месяца, это самый адекватный проект, разработанный мною, тем более мне всего 15 лет.


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

Умная теплица под управлением ARDUINO Arduino, Теплица, Огород, Автополив, Самоделки, Первый пост, Автономность, Удобство, Длиннопост
Умная теплица под управлением ARDUINO Arduino, Теплица, Огород, Автополив, Самоделки, Первый пост, Автономность, Удобство, Длиннопост

Внешний вид устройства, собранного на макетной плате.


Для сборки нам понадобится:

1. Arduino Uno/Nano/Mega. Все зависит от ваших потребностей и возможностей.

2. Дисплей LCD 1602, желательно с драйвером I2C, ведь скетч сделан именно под него.

3. DHT11/22. У меня он распаян на маленько плате.

4. Датчик влажности, можно использовать датчик дождя, влажности почвы, да хоть проволоку намотать можно. У меня это копеечный красный датчик воды с Алиэкспресс.

5. Реле одно канальное

6. Серво-привод на 1,6 килограмм. (лучше берите такой)

7. RGB Светодиод, у меня светодиод распаян на маленькой плате, называется HW-479.

8. Пищалка, покупается на любом рынке у дедов.

7. Провода.

8. (Необязательно) Паяльник, припой, флюс или канифоль.


Сборка компонентов выполняется по схеме:

Умная теплица под управлением ARDUINO Arduino, Теплица, Огород, Автополив, Самоделки, Первый пост, Автономность, Удобство, Длиннопост

На схеме нету Драйвера дисплея, наколхозил как мог.


Переходим к прошивке микроконтроллера.

Последнюю версию прошивки вы можете найти на здесь. Еще одна ссылка на скетч прикреплена внизу поста.

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

Умная теплица под управлением ARDUINO Arduino, Теплица, Огород, Автополив, Самоделки, Первый пост, Автономность, Удобство, Длиннопост

В скетче все описано, за что отвечает тот или иной пункт настройки.


В настройке значений, первые два пункта (TIMEOUT, TIME_FOR_ASKING) отвечают за вторую линию питания для датчиков. Это сделано для того, чтобы продлить жизнь датчикам, подверженных воздействию воды(датчик влажности), так как железные контакты, хоть и не проводят большой ток, но всё равно окисляются из-за воды. НО! Датчик температуры и влажности подключен к "общей" линии питания, так как для того чтобы собрать с него значения требуется от одно до двух секунд. К "щадящей" линии подключаются аналоговые и цифровые датчики с быстрым откликом.


Важно! В скетче используется нестандартная библиотека для работы DHT11, а именно TroykaDHT, oт Амперки. Скачать ее можно с GitHub репозитория.  Также, рекомендую установить корректно работающую библиотеку дисплея по I2C. Скачать корректную библиотеку LiquidCrystal_I2C можно с GitHub.

Умная теплица под управлением ARDUINO Arduino, Теплица, Огород, Автополив, Самоделки, Первый пост, Автономность, Удобство, Длиннопост

Первый запуск.


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


При запуске появляется текст, сообщающий вам версию прошивки. В это время, вы можете увидеть как серво-привод повернулся на 180 градусов(открыл окно), и через пол секунды закрыл его(стал в нулевое положение). Таким образом осуществляется проверка на корректность работы всех модулей. Если датчик влажности грунта заметит что уровень влаги ниже указанного значения в скетче, то микроконтроллер замкнет цепь питания насоса, с помощью реле, и включит синий светодиод, сигнализирующий о поливе . Когда уровень влажности почвы достигнет заданного значения, полив остановится.

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

Параллельно с этими действиями, на дисплей выводятся все показания со всех датчиков.

T - Temperature: Значение температуры внутри теплицы.

H - Humidity:  Значение Влажности внутри теплицы.

SW - SoilWater: Значение влажности почвы.

Умная теплица под управлением ARDUINO Arduino, Теплица, Огород, Автополив, Самоделки, Первый пост, Автономность, Удобство, Длиннопост

Обещанная дублирующая ссылка на скачивание прошивки GreenHouse.


P.S. Скетч очень сырой, да и схема требует доработок. Если у Вас есть идеи по доработке данного скетча или схемы, также если у Вас есть идеи для добавления полезного функционала, страница с GitHub репозиторием всегда открыт для Вашей редактуры! Любая критика воспринимается!


Спасибо за внимание!

16
Автор поста оценил этот комментарий
DHT11-Полное гавно. 1 градус погрешность-никуда не годится.
датчик влажности почвы работает непрерывно в условиях теплицы не более двух недель, обычно одну неделю. Затем окисляется/забивается удобрениями.
количество датчиков крайне малО. В маломальско производительной теплице необходимо устанавливать от шести датчиков температуры, половина из которых будет измерять температуру почвы/околопочвенного воздуха,
один сервопривод ничего не решит. При нормальном (читай герметичном) исполнении теплицы, необходимы, как минимум два окна (приток/отток), а при хоть сколько нибудь масштабном исполнении нужно учитывать и вентиляцию приточно отточную. В модуль управления теплицей обязательно включить часы и датчик(и) освещённости. Полив по графику предпочтительнее полива по влажности почвы. Кроме того следует добавить модуль экстренного оповещения о превышении пиковых значений (тут либо сирена, либо оповещение по смс/интернету).
так же следует ввести резервный источник питания и простенький АВР и оповещать об отключении электроснабжения. Ну и из самоочевидных вещей-полное отсутствие сценария "надо нагреть теплицу, а не охладить".
раскрыть ветку (1)
6
DELETED
Автор поста оценил этот комментарий

Да, в моей схеме много чего не хватает, но я использую тот арсенал модулей который у меня есть - это RFID набор, и в нем не так то много компонентов.

показать ответы
15
DELETED
Автор поста оценил этот комментарий

Всем пацанам, пробующим робототехнику, программирование - огромное уважение.

Критиков шлите нахуй, побольше литературы, побольше фундаментальных знаний.


Тяга к науке, инженерии, программированию - это двигатель эволюционного процесса.

Молодец! Желаю успехов и вдохновения.

раскрыть ветку (1)
2
DELETED
Автор поста оценил этот комментарий

Спасибо)

8
Автор поста оценил этот комментарий

че-то я не понял, ты накачал кучу скриптов, залил их в ардуино, повтыкал в плату датчики и запилил пост?

раскрыть ветку (1)
5
DELETED
Автор поста оценил этот комментарий
Это мой первый проект собранный мною. Все выглядит тупо и криво, и в некоторой мере ты прав. Насчёт скриптов - скрипты написал я сам, за два дня, скачаны только две библиотеки.
показать ответы
5
Автор поста оценил этот комментарий
Молодец! Не останавливайся на достигнутом, прлкачивай скилы дальше )
раскрыть ветку (1)
3
DELETED
Автор поста оценил этот комментарий

Спасибо за поддержку!

1
Автор поста оценил этот комментарий

Не поленись, купи емкостный датчик, они сильно долговечнее. Контактный кроме того что быстро гниет, еще и поляризуется

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий

Я использовал модули стартового набора, со временем буду докупать датчики которые мне рекомендуют

0
Автор поста оценил этот комментарий

Как бы это проект alexgyvera. Да ты молодец конечно, но ты так не научишься работать с ардуино делая снова его проекты. У него есть хорошие видосики про то как программировать ардуино.  Короче удачи, не слизывай чужие проеуты.

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Если идея моего проекта похожа на идею AlexGyver, то это не значит что я ее сплагиатил, ведь я не использую его код. Таким образом, по твоим словам получется что Гавер тоже сплагиатил идею про контроллер теплицы, ведь и ДО него люди публиковали похожие проекты.

1
Автор поста оценил этот комментарий

Датчики влажности (недорогие) крайне недолговечны и не точные.

При капельном поливе по таймеру ты не перельешь воды и не пересушишь. Слишком умная система на ненадежных датчиках это не хорошо.

Кстати имея температуру воздуха и температуру почвы можно примерно определять ее влажность.


Также землю можно закрыть геотекстилем будет вообще классно. Но все зависит от конкретной реализации посадки растений.

Например есть шикарный способ иметь влажную почву соединив ёмкость с водой и землю 'мостиком' из верёвки или тряпки. Полив регулируется толщиной тряпки.

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Спасибо, учту все это при разработке  будущих версий прошивки и схемы!

0
Автор поста оценил этот комментарий

А могли бы Вы пояснить почему полив по графику предпочтительнее влажности?

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Так как модуль часов требует батарейку, сейчас карантин и все магазины кроме продуктовых закрыты, купить ее не составляет возможности)

показать ответы
0
Автор поста оценил этот комментарий

При чём тут RFID?

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий
Притом, что у меня RFID набор, и в нем не много компонентов, пригодных для создания умной теплицы
0
Автор поста оценил этот комментарий

Мы тоже делали проект теплицы в школу, все так же, только вместо сервы вентилятор от температуры запускался, в 4 класс.

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Интересная у вас школа)

0
Автор поста оценил этот комментарий

Гниющие датчики это проблема. Отгнивают и контакты. Себе спаял аналог. Две медных штыря. По 5мм.

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Хорошее решение

0
Автор поста оценил этот комментарий
молодец, так держать!
раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Спасибо большое!

2
Автор поста оценил этот комментарий
А почему используется библиотека Тройка ? У меня в одном из проектов используется DHT11 со стандартной библиотекой, и его показаниями влажности я крайне не доволен ( резистор на 10КОм между +5 и sig , как советуют в интернете, не помог.)
И так же крайне рекомендую эти китайские соплепровода заменить на пайку, подводят в неподходящий момент.
раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

1. Я использую библиотеку от Тройки потому что стандартная всегда выдает ошибку контрольной суммы, и я решил поискать другую. Лучше всех работает Тройка, но я думаю что это как-то связано с ардуиной или компилятором. если работает стандартная библиотека, то можно использовать ее, команды те же.

2. Да, провода в макетной плате не лучший выбор, но это всего лишь прототип, который легко разобрать при необходимости, а не потому что я не умею паять, а паять я умею)

4
Автор поста оценил этот комментарий
1. Рекомендую датчик визировать каждый день - в почве они гниют как сумасшедшие
2. Крайне рекомендую все перемычки поменять на пайку. Возможно, придется использовать pro/nano, но это сэкономит кучу нервов на дребезге.
3. Добавить корпус к этому всему.
4. На схеме нет питания, не стоит упускать этот момент
5. На выходе питания сервы подключить обратный диод и кондер, ибо индукция.
раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Спасибо. возьму на заметку!

0
Автор поста оценил этот комментарий

Отрадно видеть, что осталась ещё думающая молодёжь, не чуждая экспериментам и поиску. Автор, отличный старт! Ни в коем случае не останавливайся!.. Однозначно +

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Спасибо большое!

5
Автор поста оценил этот комментарий

Не хватает модуля реального времени. А так, всё уже придумано до вас. https://alexgyver.ru/gyvercontrol/

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Я видел видео этого автора, но из-за того что у меня китовый набор собрал из того что есть

показать ответы
0
Автор поста оценил этот комментарий
Автор ты молодец, я даже так не соберу
раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Спасибо!

Автор поста оценил этот комментарий

А можно тебя попросить сделать одну дрянь для машины?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Я новичок в  этом деле, боюсь, не справлюсь

показать ответы
0
DELETED
Автор поста оценил этот комментарий

Респект галактических масштабов;)

Попробуйте для компиляции использовать Atom, он даже на первых порах сильно проще.

Удачи;)

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Спасибо!