Розумна теплиця на Ардуїно, збираємо з нуля

ардуїно

Розумна теплиця на Arduino - робимо перші кроки

Теплиці призначені для забезпечення оптимального мікроклімату для зростання та розвитку рослин. Це можуть бути великі промислові споруди і невелике місце на підвіконні для вирощування улюбленої квітки. Але навіть за крихітною теплицею на підвіконні потрібен догляд: здійснення поливу, підтримання потрібної температури, рівня освітленості тощо.

Багато хто із задоволенням зайнявся подібним господарством, ось тільки ні сил, ні часу для цього немає. І тільки мрія підказує: ось би таку конструкцію, яка б настільки розумною, що робила б усе сама. Така теплиця виявиться затребуваною тими, хто не хоче витрачати багато часу на догляд за рослинами, а також може не мати для цього можливості у разі тривалої відсутності - відряджень, відпусток тощо. Ми і приступимо до створення подібної теплиці, назвемо її розумною. А допоможе нам створювати розумну теплицю контролер Arduino. Які ж функції виконуватиме розумна теплиця? По-перше, необхідно оперативно отримувати всю необхідну інформацію про кліматичні параметри нашої теплиці: температура та вологість повітря, температура та зволоженість ґрунту, освітленість теплиці. Тобто. здійснювати моніторинг кліматичних параметрів теплиці.

Яку проблему клієнта вирішить функція моніторингу? Насамперед усуне занепокоєння щодо того, чи все гаразд з рослинами під час його відсутності: чи є вода в системі, чи не вимикалася електрика, чи може системі вентиляції забезпечити потрібну температуру , якщо у приміщенні стало дуже жарко тощо.

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

теплиця

Малюнок 1. Схематичне зображення розумної теплиці

На наших уроках ми розглянемо практичну реалізацію проекту розумної теплиці. Створимо проект розумної теплиці - «Домашня квітка». І розпочнемо з реалізації функції моніторингу параметрів теплиці. Для моніторингу нам необхідно отримувати такі дані про навколишнє середовище нашої квітки:

  1. Температура повітря;
  2. вологість повітря;
  3. зволоженість ґрунту;
  4. освітленість квітки.

Для реалізації функції моніторингу нам знадобляться такі деталі:

  1. Arduino Uno;
  2. USB-кабель;
  3. Плата прототипування;
  4. Провід "тато-тато" - 15 шт;
  5. Фоторезистор – 1 шт.;
  6. Резистор 10 ком - 1 шт;
  7. Датчик температури TMP36 – 1 шт.;
  8. Модуль температури та вологості повітря DHT11 – 1 шт
  9. Модуль вологості ґрунту – 1 шт.

Позиції 1-6 є в наборах серії "Дерзай" ("Базовий", "Вивчаємо Arduino" і "Розумний дім"), датчик температури TMP36 є в наборах "Базовий" та "Вивчаємо Arduino". Посилання на позиції 8 та 9 будуть надані наприкінці статті. Спочатку познайомимося з датчиками, які використовуватимемо для функції моніторингу параметрів нашого проекту. З допомогою фоторезистора (рисунок 2) здійснюють вимірювання освітленості. Справа в тому, що в темряві опір фоторезистора дуже великий, але коли на нього потрапляє світло, цей опір падає пропорційно до освітленості.

збираємо

Малюнок 2. Фоторезистор

Аналоговий датчик температури TMP36 (рисунок 2) дозволяє легко перетворити вихідний рівень напругиу показання температури у градусах Цельсія. Кожні 10 мВ відповідають 1 0С, Ви можете написати формулу для перетворення вихідної напруги на температуру.

Зміщення -500 при температурі нижче 0 0C.

Рисунок 3. Аналоговий датчик температури TMP36

Датчик DHT11 складається з ємнісного датчика вологості та термістора. Крім того датчик містить у собі простенький АЦП для перетворення аналогових значень вологості та температури. Будемо використовувати датчик у варіанті модуля для Arduino (рисунок 4).

Малюнок 4. Модуль DHT11

Модуль вологості ґрунту (рисунок 5) призначений для визначення вологості землі, в яку він занурений. Він дозволяє дізнатися про недостатнє або надмірне поливання ваших домашніх або садових рослин. Модуль складається з двох частин: контактного щупа YL-28 та датчика YL-38, щуп YL-28 з'єднаний з датчиком YL-38 по двох дротах. Між двома електродами щупа YL-28 створюється невелика напруга. Якщо грунт сухий, опір великий і струм буде меншим. Якщо земля волога - опір менший, струм - трохи більше. За підсумковим аналоговим сигналом можна судити про рівень вологості.

розумна

Малюнок 5. Модуль вологості ґрунту

Тепер зберемо на макетній платі схему, представлену малюнку 6.

ардуїно

Малюнок 6. Схема з'єднання для моніторингу параметрів для «Домашня квітка».

Приступимо до написання скетчу. Фоторезистор, датчик температури TMP36 та модуль вологості ґрунту – звичайні аналогові датчики. Для датчика TMP36 ми можемо перетворити аналогові значення на показання температури в градусах Цельсія. Для роботи з модулем DHT11 будемо використовувати бібліотеку Arduino DHT (Завантажити). Дані вимірюватимемо з інтервалом 5 секунд і значення виводитимемо поки що в послідовнийпорт Arduino. Створимо в Arduino IDE новий скетч, занесемо в нього код з лістингу 1 і завантажимо скетч на плату Arduino. Нагадуємо, що у налаштуваннях Arduino IDE необхідно вибрати тип плати (Arduino UNO) та порт підключення плати.

Після завантаження скетчу на плату відкриваємо монітор послідовного порту і спостерігаємо виведення значень із показаннями наших датчиків (рисунок 7).

нуля

Рисунок 7. Виведення значень із показаннями наших датчиків до монітора послідовного порту Arduino.

А ось і наша квітка, що вирощується (рисунок 8).

Малюнок 8. Проект «Домашня квітка»

Дивитися показання датчиків через послідовний порт не дуже зручно, у наступному уроці розглянемо зручнішу індикацію показань.