Умная теплица
АВТОРЫ ПРОЕКТА
  • Роман Ермолаев
    Куратор проекта, идейный вдохновитель
  • Новикова Елизавета
    Разработчик проекта
Проблематизация
Так как человек не находится целый день дома, он не может за растениями ухаживать непрерывно. Во время выращивания растений из семян, необходим постоянный контроль и уход за растениями, иначе они засохнут или не вырастут.
АКТУАЛЬНОСТЬ ПРОЕКТА
В настоящее время агро-промышленный комплекс России активно развивается вопреки пандемии, санкционному давлению. Развитие идет не только на крупных предприятиях, но и в любительском секторе. Однако не все могут себе позволить круглосуточно следить за своим огородом или садом.
Здесь на помощь садоводам и фермерам приходят системы, предназначенные для автоматического мониторинга и выращивания растений. Разработанные системы представляет собой комплекс датчиков и механизмов, который устанавливается на одной определённой территории.
Даже при длительном отсутствии фермера в огороде или саду, вы можете не переживать за свои растения, так как автоматизированная система сама регулирует уход за растениями.
Увеличивается продуктивность выращивания и ухода за растениями, поэтому данная тема является актуальной.
Автоматическая теплица для выращивания растений
ЦЕЛИ И ЗАДАЧИ ПРОЕКТА
Цель:разработать автоматическую систему которая будет мониторить определенные параметры среды и ухаживать за растениями.
Для решения поставленной цели можно выделить задачи:
1.    Разработать алгоритм работы устройства “Умная теплица”;
2.    Выбор датчиков и исполняющих механизмов;
3.    Сборка и программирование устройства;
4.    Разработка и сборка корпуса.
5.    Установка комплектации устройства в корпусе.
6.    Тестирование и апробация.
Потенциальные заказчики и стейкхолдеры нашего проекта
  • Адыгейский Государственный Университет
    Факультет естествознания
  • Майкопский Государственный Технический Университет
    Факультет аграрных технологий
  • Магазины для садоводов и фермеров
  • Фермеры и цветоводы
Этапы выполнения проекта
Перечень того, что было выполнено, для осуществления цели:
  • 1
    Разработка алгоритма устройства
    В первую очередь, продумали то, как наше устройство вообще будет работать, и какие функции выполнять. Разработали алгоритм функционирования устройства.
  • 2
    Выбор датчиков и исполняющих механизмов
    После того, как разработали алгоритм работы устройства, выбрали все необходимые датчики и исполняющие механизмы.
  • 3
    Сборка и программирование устройства.
    Перед сборкой, было необходимо изучение того, как те или иные датчики подключать, а так же, программировать. После того, как была протестирована работа датчиков, преступили к основной работе сборки и программирования. В процессе сборки, была сначала продумана схема подключения всех элементов, и после была выполнено сборка устройства, без корпуса. Дальше, был написан код в программе Arduino Ide на языке программирования Arduino Wiring. После сборки и программирования, мы протестировали работоспособность устройства, после чего преступили к разработке корпуса. Был "набросан" предварительный макет корпуса, и отдали на разработку корпуса в Хайтек квантум. После того, как корпус был готов,  мы разместили всю электронику внутри теплицы, и еще раз протестировали всю работоспособность устройства.
  • 4
    Тестирование и апробация
    Когда устройство было собрано и протестировано на работоспособность, мы подготовили две грядки с землей, после чего посадили семена томатов в одну грядку, и капусту кольраби в другую. Оставив теплицу работать, мы периодически визуально контролировали работу теплицы. После того, как появились первые ростки, мы сделали вывод о том, что наша теплица работает так как было задумано.
Стоимость автоматической теплицы
Стоимость рассчитывалась на момент разработки устройства, в интернет-магазине Aliexpress.

  • 1
    Платформа Arduino Mega – 980 руб.
  • 2
    Светодиодная лента фитолампа – 400 руб.
  • 3
    Резистивный датчик влажности почвы*2 – 80 руб.
  • 4
    Погружная помпа с трубкой – 123 руб.
  • 5
    Силовой ключ – 150 руб.
  • 6
    Вентиляторы*2 – 400 руб.
  • 7
    Герметичный датчик температуры – 167 руб.
  • 8
    Датчик освещенности – 5 руб.
  • 9
    Датчик температуры и влажности воздуха – 81 руб.
  • 10
    LCD-экран 20*4 – 400 руб.
  • 11
    Материал для корпуса – 2000 руб.
Если брать дешевые аналоги наших деталей , например, с aliexpress, то себестоимость нашего проекта будет около - 4786 руб. (без учета доставки). За сборку и программирование устройства, мы повысим стоимость нашего устройства 3214 рублей. Итого, стоимость нашего устройства будет составлять 8000 руб.
ФОТО НАШЕГО УСТРОЙСТВА И УРОЖАЯ
Программный код
//----------------------------ЭКРАН-----------------------------
// подключаем стандартную библиотеку LiquidCrystal
#include <LiquidCrystal.h>
// инициализируем объект-экран, передаём использованные
// для подключения контакты на Arduino в порядке:
// RS, E, DB4, DB5, DB6, DB7
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
//----------------------------DS18B20-----------------------------
// библиотека для работы с протоколом 1-Wire
#include <OneWire.h>
// библиотека для работы с датчиком DS18B20
#include <DallasTemperature.h>
// сигнальный провод датчика
#define ONE_WIRE_BUS 8
// создаём объект для работы с библиотекой OneWire
OneWire oneWire(ONE_WIRE_BUS);
// создадим объект для работы с библиотекой DallasTemperature
DallasTemperature sensor(&oneWire);
//----------------------------DHT-11---------------------------------
long Temp_dht = 0;// Переменная для температуры
long Vlaga_dht = 0;// Переменная для влажности
#include "DHT.h" //Подключаем библиотеку для датчика
DHT dht_10(10,DHT11);// // передаём номер пина к которому подключён датчик и тип датчика
//----------------------------Переменные-----------------------------
long Poch1 = 0;//Переменная датчика влажности почвы1
long Poch2 = 0;//Переменная датчика влажности почвы2
long Vent = 0; //Переменная состояния вентилятора
long Pomp = 0; //Переменная состояния помпы
long Svet = 0; //Переменная состояния освещенности
long SvetIns = 0; //Переменная датчика освещенности снаружи
long SvetOut = 0; //Переменная датчика освещенности внутри
//----------------------------Функция Setup-----------------------------------------------------------------------------
void setup() {
//----------------------------ЭКРАН-------------------------------
// устанавливаем размер (количество столбцов и строк) экрана
lcd.begin(20, 4);
//----------------------------DS18B20-----------------------------
// начинаем работу с датчиком
sensor.begin();
// устанавливаем разрешение датчика от 9 до 12 бит
sensor.setResolution(12);
//---------------------------DHT-11------------------------------
dht_10.begin();}
//----------------------------Функция loop-----------------------------------------------------------------------------
void loop(){
//----------------------------DS18B20-----------------------------
// переменная для хранения температуры
float temperature;
// отправляем запрос на измерение температуры
sensor.requestTemperatures();
// считываем данные из регистра датчика
temperature = sensor.getTempCByIndex(0);
//----------------------------Почва-----------------------------
Poch1 = analogRead(A0);
Poch2 = analogRead(A1);
//---------------------------DHT-11-----------------------------
//Присваиваем переменным значения с датчика
Temp_dht = dht_10.readTemperature();
Vlaga_dht = dht_10.readHumidity();
//-----------------------Работа механизмов----------------------
//--------------Вентилятор
if (Temp_dht >= 28 || Vlaga_dht >= 80) {
pinMode(12, OUTPUT);
digitalWrite(12, 1);
Vent = 1;
} else {
pinMode(12, OUTPUT);
digitalWrite(12, 0);
Vent = 0;
}
//--------------Помпа
if (Poch1 <= 200 && Poch2 <= 200) {
pinMode(1, OUTPUT);
digitalWrite(11, 1);
Pomp = 1;
} else {
pinMode(11, OUTPUT);
digitalWrite(11, 0);
Pomp = 0;
}
//--------------Свет
// считывание данных с датчика освещённости
SvetIns = analogRead(A3);
SvetOut = analogRead(A2);
if (SvetIns >= 600) {
pinMode(13, OUTPUT);
digitalWrite(13, 1);
Svet = 1;
} else {
pinMode(13, OUTPUT);
digitalWrite(13, 0);
Svet = 0;
}

//----------------------------ЭКРАН-----------------------------
lcd.setCursor(0, 0);
lcd.print((String("Temp:") + String(Temp_dht) + String(" Vlaga:") + String(Vlaga_dht)));//Вывод на первую строку информацию с датчика Dht_11
lcd.setCursor(0, 1);
lcd.print((String("TempPochv:") + String(temperature)));//Вывод на вторую строку информацию с датчика DS18B20
lcd.setCursor(0, 2);
lcd.print((String("Po1:") + String(Poch1) + String(" Po2:") + String(Poch2)));//Вывод на третью строку информацию с датчиков влажности почвы
lcd.setCursor(0, 3);
lcd.print((String("SvIns:") + String(SvetIns) + String(" SvOut:") + String(SvetOut)));
//----------------------------Пауза-----------------------------
delay(1000);
}