КОРЗИНА
магазина
8 (499) 500-14-56 | ПН. - ПТ. 12:00-18:00
ЛЕСНОРЯДСКИЙ ПЕРЕУЛОК, 18С2, БЦ "ДМ-ПРЕСС"

Проект 3. Автоматический полив растений

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

Описание работы:

Для начала работы подключите питание к Arduino. Подключите мембранный насос. Затем воткните датчик влажности в горшок. Выставите на потенциометре уровень влажности, который постоянно необходимо поддерживать.

Нам понадобится:

Для реализации проекта нам не нужно устанавливать никаких библиотеки.

Схема сборки:

  • Подключение представлено на рисунке ниже.

Код программы:

int pinRele = 2;                                                      // Объявляем пин для работы с реле.
int pinPot = A0;                                                      // Объявляем пин для работы с потенциометром.
int pinDatH = A3;                                                     // Объявляем пин для работы с датчиком влажности.
                                                                      //
int potValue;                                                         // Переменная для считывания показания потенциометра.
int datHValue;                                                        // Переменная для считывания показания датчика влажности.
                                                                      //
void setup()                                                          //
{                                                                     //
  pinMode(pinRele, OUTPUT);                                           // Переводим вывод pinRele в режим выхода.
}                                                                     //
                                                                      //
void loop()                                                           //
{                                                                     //
  potValue = analogRead(pinPot);                                      // Считываем показания потенциометра.
  datHValue = analogRead(pinDatH);                                    // Считываем показания датчика влажности.
                                                                      //
if (datHValue < potValue) {digitalWrite(pinRele, HIGH);}              // Если показания датчика влажности меньше значения потенциометра, то включаем полив.
else {digitalWrite(pinRele, LOW);}                                    // Если больше, то выключаем полив.
                                                                      //
// *******************************************************************//
// delay(1000);                                                       // Время за которое данный с датчика влажности будут сравниваться с потенциометром.
// *******************************************************************//
}                                                                     //

Алгоритм работы:

В начале скетча (до кода setup) выполняются следующие действия:

В коде setup выполняются следующие действия:

  • Переводим вывод реле в режим выхода.

В коде loop выполняются следующие действия:

  • Считываем показания потенциометра и датчика влажности.
  • Сравниваем показания потенциометра и датчика влажности. Если уровень влажности меньше заданного уровня на потенциометре, то задействуем реле и переведем в положение включения подачи воды. Иначе не включаем подачу воды.
  • Можно раскомментировать строку, связанную с задержкой. Тогда полученные данные с датчика влажности и потенциометра будут дольше приходить и сравниваться.

Ссылки




Обсуждение

Гарантии и возврат Используя сайт Вы соглашаетесь с условями