СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

"Умная теплица"

Нажмите, чтобы узнать подробности

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

Изучая информацию, мы поняли, что в данный момент самая доступная и популярная платформа для разработки умных устройств и систем мониторинга является Arduin. Arduino — это электронный конструктор и удобная платформа быстрой разработки электронных устройств для новичков и профессионалов.

Просмотр содержимого документа
«"Умная теплица"»

Муниципальное автономное общеобразовательное учреждение средняя общеобразовательная школа № 63 города Тюмени











Исследовательская работа

Тема: «Умная теплица»







Автор работы:

Дмитриев Игорь

Учащийся 4М класса

Руководитель:

Костромова Татьяна Николаевна





Тюмень

2018г.

Оглавление

Введение

  1. Теоретическая часть. Платформа для создания проекта................................4

    1. Датчики……………………………………………………………………4

    2. Исполнительные устройства……………………………………………..5

    3. Беспроводные интерфейсы………………………………………………..6

    4. Программное обеспечение……………………………………………….6

  2. Экспериментальная часть……………………………………………………..7

    1. Изготовление макета теплицы…………………………………………..7

    2. Схема мониторинга и автоматизации…………………………………...7

    3. Написание программной части………………………………………….8

    4. Эксперимент. Посадка овса……………………………………….……..8

Заключение……………………………………………………………......….10

Литература………………………………………………………………...… 11

Приложения…………………………………………………………...……...12





























Введение

Каждое лето проводя каникулы у бабушки с дедушкой, я наблюдаю как они целыми днями ухаживают за своими тремя большими теплицами. Они хотят каждый год получать хороший урожай помидоров, огурцов и баклажанов. Также дедушка каждый год садит арбузы, дыни, виноград, которые в нашем климате очень сложно выращивать. Я подумал, что с помощью современных средств можно облегчить им работу по выращиванию качественного урожая.

Гипотеза: Я предлагаю, что система мониторинга и автоматизации теплицы повлияет на всхожесть урожая, а также облегчит труд по ухаживанию за посадками.

Исходя из выше сказанного, я поставил цель – создать макет «умной теплицы».

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

Задачи:

- изучить датчики для мониторинга параметров;

- изучить исполнительные механизмы;

- изучить платформу для автоматизации;

- разработать электрическую схему подключения датчиков и исполнительных механизмов;

- изучить программную среду разработки для выбранной платформы;

- написать программное обеспечение для дистанционного мониторинга основных параметров теплицы на мобильном приложении;

- провести сравнительный опыт выращивания семян овса в умной теплице и обычном парнике;

- сделать выводы;





Глава 1. Теоретическая часть. Платформа для создания проекта.

Изучая информацию в интернете, я понял, что в данный момент самая доступная и популярная платформа для разработки умных устройств и систем мониторинга является Arduino (рис 1). Arduino — это электронный конструктор и удобная платформа быстрой разработки электронных устройств для новичков и профессионалов. Платформа пользуется огромной популярностью во всем мире благодаря удобству и простоте языка программирования, а также открытой архитектуре и программному коду. Данная платформа была создана изначально для студентов для быстрого создания небольших проектов во время обучения в университете. Arduino-совместимые платы спроектированы таким образом, чтобы их можно было при необходимости расширять, добавляя в устройство новые компоненты. Эти платы расширений подключаются к Arduino посредством установленных на них штыревых разъёмов.

Язык программирования Arduino является стандартным C++ с некоторыми особенностями, облегчающими новичкам написание первой работающей программы. Программы, написанные программистом Arduino, называются скетчи.

Данная платформа производится многими компаниями по всему миру, что делает ее доступной для любого пользователя. Я приобрел данную платформу и все компоненты у китайского производителя на торговой площадке Aliexpress.

Часто эту платформу используют в кружках робототехники как в России, так и повсеместно.



    1. Датчики

Для платформы Arduino разработано очень много различных датчиков. Я использовал в своем проекте датчики (рис. 2):

  • DHT22 - 2 шт.

  • DS18B20 - 2 шт.

  • Фоторезистор 1шт.

  • FS-28 – 1 шт.

Датчик DHT22 является универсальным датчиком температуры и влажности с диапазоном измерения по температуре -40°С … +80°С, погрешность ±0.5°С, диапазон измерения влажности: 0 … 100%, погрешность ±2%, выходной сигнал: цифровой.

Датчик DS18B20 является влагозащищенным датчиком температуры с диапазоном измерений от –55°C до +125°C и точностью 0.5°C. Каждый DS18B20 имеет уникальный 64-битный последовательный код, который позволяет, общаться с множеством датчиков DS18B20 установленных на одной шине.

Фоторезистор измеряет уровень освещенности. Диапазон чувствительности: чувствительные элементы фиксируют длины волн в диапазоне от 400 нм (фиолетовый) до 600 нм (оранжевый).

Датчик влажности почвы FS-28 позволяет получить конкретный уровень влажности по шкале от 0 (очень влажно) до 1023 (сухо). Погружается полностью в почву.



    1. Исполнительные устройства

Для платформы Arduino разработано очень много различных исполнительных устройств. Я использовал в своем проекте следующие исполнительные устройства (рис. 3):

- реле 10A – 1 шт.;

- электромагнитный клапан для воды - 1 шт.;

Реле предназначено для замыкания или размыкания электрической цепи. Данным реле можно управлять нагрузкой до силы тока в 10 Ампер.

Электромагнитный клапан позволяет подавать и перекрывать подачу воды для полива в теплицу из емкости. Работает от напряжения 12 В.



    1. Беспроводные интерфейсы

На платформе Arduino есть несколько беспроводных интерфейсов в виде отдельных подключаемых плат. Основным и часто используемым является модуль Wi-Fi связи (рис. 4). Он представлен в виде небольшой платы и позволяет подключить Arduino к домашней сети Wi-Fi или подключиться с телефона к Arduino плате.

В своем проекте я использовал модель модуля ESP8266.



    1. Программное обеспечение

Платформа Arduino программируется с помощью своей фирменной бесплатной среды разработки Arduino IDE. Язык программирования не сложный, что позволяет быстро написать любой проект. Программы созданные в этой среде называют скейтчи. Я использовал последнюю версию программы 1.8.2 с официального сайта. Программа подключается и загружает скейтчи в Arduino с помощью USB кабеля.







Глава 2. Экспериментальная часть.

Для достижения поставленной цели я изготовил макет теплицы (рис. 5) и разработал систему мониторинга основных показателей окружающей среды и автоматизировал полив.



2.1. Изготовление макета теплицы

Каркас теплицы мною был изготовлен (рис. 6) из алюминиевого уголка, скрепленного заклепками. Стены и крыша были сделаны из акрилового прозрачного пластика. В работе использовались:

- ножовка по металлу;

- напильник;

- заклёпочник;

Размер теплицы:

- длина 30 см;

- высота 27 см (с крышей);

- ширина 20 см.



2.2. Схема мониторинга и автоматизации.

Я разработал схему мониторинга и автоматизации на основе датчиков температуры и влажности (рис. 7). Мною был установлен датчик температуры и влажности за пределами теплицы для определения температуры окружающей среды, также я установил датчики внутри теплицы для определения значений температуры в почве и воздуха. В почве также был установлен датчик влажности. Я установил в теплице датчик освещенности, чтобы моя система могла определить пасмурно на улице или солнечно. Датчик температуры воды установлен в емкости для полива.

Все показания с датчиков через беспроводную сеть Wi-Fi передаются на мобильный телефон (рис. 8). Таким образом я могу оперативно контролировать какая среда у меня в теплице, чтобы принять решение о проветривании теплицы.

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



2.3. Программная часть

Программа (рис. 9) была написана в среде разработке Arduino IDE. В программе подключены следующие библиотеки:

- DHT.h

- OneWire.h

- DallasTemperature.h

- RemoteXY.h

2.4. Эксперимент. Посадка овса.

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

Методика эксперимента:

  1. Замочить семена

  2. Высадить в грунт

  3. Оценить всхожесть семян в разных условиях



Ход эксперимента.

3 апреля я замочил семена для последующей лучшей всхожести на сутки (рис. 10).

5 апреля, отобрав 14 семян, я высадил их в грунт: в теплицу 7 семян и 7 семян высадил в простой мини парник (рис. 11). В теплице был включен автополив на разработанной мною программе. Также при высоких температурах внутри теплицы я производил проветривание теплицы. В парнике полив осуществлялся вручную.

Результат эксперимента.

10 апреля я оценил всхожесть семян в двух средах. В теплице взошли 5 семян из 7. В парнике взошли всего 4 семени (рис 12). То есть всхожесть семян в теплице составила 71%, а в парнике 57%.

Выводы:

- всхожесть семян в «умной теплице» выше, чем в обычном парнике;

- трудозатраты в «умной теплице» ниже, чем ухаживать за семенами самостоятельно.



























Заключение


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

- подключать датчики и исполнительные механизмы;

- программировать платформу Arduino;

- анализировать результаты работы программы;

- работать строительным инструментом и паяльником;

В работе я добился следующих результатов:

- система мониторинга и автоматизации теплицы позволит добиться лучших урожаев меньшими трудозатратами;

- «Умную теплицу» можно модернизировать и повышать функционал в дальнейшем.





Литература

  1. http://arduino.cc

  2. https://ru.wikipedia.org/wiki/Arduino

  3. https://ru.wikipedia.org/wiki/ESP8266

  4. http://amperka.ru

  5. http://orehi-zerna.ru/oves-posadka-i-uhod/



Приложения



Рис. 1. Arduino mega 2560











D HT22 Датчик влажности почвы DS18B20









Фоторезистор



Р ис. 2. Датчики







Реле



Электромагнитный кран



Рис.3. Исполнительные механизмы

Рис. 4. Интерфейс Wi-Fi

Рис. 5. Макет теплицы













Рис.6. Изготовление теплицы

Рис. 7. Схема «умной теплицы»



Рис. 8. Программа на мобильном телефоне

#define REMOTEXY_MODE__ESP8266_HARDSERIAL_POINT

#include

#include

#include

#include

// настройки соединения

#define REMOTEXY_SERIAL Serial1

#define REMOTEXY_SERIAL_SPEED 115200

#define REMOTEXY_WIFI_SSID "RemoteXY"

#define REMOTEXY_WIFI_PASSWORD "12345678"

#define REMOTEXY_SERVER_PORT 6377

#define StreetDHT 22

#define GHauseDHT 24

#define ONE_WIRE_BUS 26

float GHauseDirt= 0;

float DirtT= 0;

float FotoGHause= 0;

int SENSE= 13; // аналоговый сигнал датчика влажности почвы A13

int FOTO= 14; // аналоговый сигнал датчика освещенности A14

int SERV=9; //сервопривод на PWM13

int ServoGHause=0;

float WaterT=0;

// конфигурация интерфейса

#pragma pack(push, 1)

uint8_t RemoteXY_CONF[] =

{ 255,1,0,58,0,162,1,8,166,0,

130,1,6,39,52,23,47,130,1,6,

7,52,28,138,129,0,32,0,38,5,

36,208,163,208,156,208,157,208,144,208,

175,32,208,162,208,149,208,159,208,155,

208,152,208,166,208,144,0,67,4,7,

13,20,5,2,205,6,129,0,8,8,

17,4,134,208,162,32,209,131,208,187,

208,184,209,134,209,139,0,67,4,34,

13,20,5,2,205,6,129,0,34,8,

20,4,134,208,146,208,155,32,209,131,

208,187,208,184,209,134,209,139,0,67,

4,7,26,20,5,2,205,6,129,0,

6,20,21,4,134,208,162,32,209,130,

208,181,208,191,208,187,208,184,209,134,

209,139,0,67,4,34,26,20,5,2,

204,6,129,0,32,20,24,4,134,208,

146,208,155,32,209,130,208,181,208,191,

208,187,208,184,209,134,209,139,0,67,

4,7,50,20,7,135,26,6,129,0,

7,41,20,5,94,208,162,32,208,183,

208,181,208,188,208,187,208,184,0,129,

0,34,41,24,5,94,208,146,208,155,

32,208,183,208,181,208,188,208,187,208,

184,0,130,1,63,7,34,13,94,130,

1,63,22,34,13,205,129,0,68,22,

21,6,165,208,162,32,208,178,208,190,

208,180,209,139,0,67,0,72,28,20,

5,165,205,6,2,0,63,43,34,17,

194,183,31,31,208,178,208,186,208,187,

209,142,209,135,208,184,209,130,209,140,

0,208,178,209,139,208,186,208,187,209,

142,209,135,208,184,209,130,209,140,0,

129,0,70,36,18,6,36,208,159,208,

190,208,187,208,184,208,178,0,66,0,

48,48,7,13,2,26,67,1,63,11,

34,6,1,16,21,129,0,40,48,7,

3,134,208,161,209,131,209,133,208,190,

0,129,0,36,58,12,3,134,208,146,

208,187,208,176,208,182,208,189,208,190,

0,129,0,71,7,19,4,1,208,189,

208,176,32,209,131,208,187,208,184,209,

134,208,181,58,0 };

// структура определяет все переменные вашего интерфейса управления

struct {

// input variable

uint8_t AutoRain; // =1 если переключатель включен и =0 если отключен

// output variable

char StreetT[6]; // =строка UTF8 оканчивающаяся нулем

char StreetH[6]; // =строка UTF8 оканчивающаяся нулем

char GHauseT[6]; // =строка UTF8 оканчивающаяся нулем

char GHauseH[6]; // =строка UTF8 оканчивающаяся нулем

char DirtT[6]; // =строка UTF8 оканчивающаяся нулем

char WaterT[6]; // =строка UTF8 оканчивающаяся нулем

int8_t level_1; // =0..100 положение уровня

char FotoGHause[21]; // =строка UTF8 оканчивающаяся нулем

// other variable

uint8_t connect_flag; // =1 if wire connected, else =0

} RemoteXY;

#pragma pack(pop)

#define PIN_AUTORAIN 3

DHT dht22(StreetDHT, DHT22);

DHT dht11(GHauseDHT, DHT22);

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

DeviceAddress insideThermometer0;

DeviceAddress insideThermometer1;

void setup()

{

RemoteXY_Init ();

Serial.begin(9600);

dht22.begin();

dht11.begin();

pinMode (PIN_AUTORAIN, OUTPUT);

if (!sensors.getAddress(insideThermometer0, 0)) Serial.println("Не найден адрес датчика 0");

Serial.print("Адрес датчика 0: ");

Serial.println();

sensors.setResolution(insideThermometer0, 9);

if (!sensors.getAddress(insideThermometer1, 1)) Serial.println("Не найден адрес датчика 1");

Serial.print("Адрес датчика 1: ");

Serial.println();

sensors.setResolution(insideThermometer1, 9);

}

float printTemperature(DeviceAddress deviceAddress)

{

float tempC = sensors.getTempC(deviceAddress);

return tempC;

}

void loop()

{

RemoteXY_Handler ();

digitalWrite(PIN_AUTORAIN, (RemoteXY.AutoRain==0)?LOW:HIGH);

float StreetH = dht22.readHumidity();

float StreetT = dht22.readTemperature(); //Измеряем температуру на улице

sensors.requestTemperatures();

DirtT = printTemperature(insideThermometer0);

WaterT = printTemperature(insideThermometer1);

GHauseDirt= analogRead(SENSE);

RemoteXY.level_1 = (int)(GHauseDirt / 10.24);

////фоторезистор

FotoGHause= analogRead(FOTO);

if ((FotoGHause0) and (FotoGHause

strcpy (RemoteXY.FotoGHause,"НОЧЬ");

}

else if ((FotoGHause101) and (FotoGHause

{strcpy (RemoteXY.FotoGHause,"ПАСМУРНО"); }

else

{strcpy (RemoteXY.FotoGHause,"СОЛНЕЧНО");

}

dtostrf(StreetH, 0, 2, RemoteXY.StreetH);

dtostrf(StreetT, 0, 2, RemoteXY.StreetT);

float GHauseH = dht11.readHumidity();

float GHauseT = dht11.readTemperature(); //Измеряем температуру в теплице

dtostrf(GHauseT, 0, 2, RemoteXY.GHauseT);

dtostrf(GHauseH, 0, 2, RemoteXY.GHauseH);

dtostrf(DirtT, 0, 1, RemoteXY.DirtT);

dtostrf(WaterT, 0, 1, RemoteXY.WaterT);

}

Рис. 9. Листинг программы

Рис. 10. Замачивание семян





Рис. 11. Высадка семян

Рис. 12. Всходы семян

21