====== Автополив ======
===== Описание =====
В отпуск и каникулы всегда приходится решать один важный момент - кто будет поливать цветы? Поэтому обычно прибегают к помощи соседей или родственников, друзей. Но зачем обременять такой простой задачей добрых людей, когда можно этот процесс автоматизировать? Все-го то понадобится ёмкость с водой, водяная помпа и датчик влажности почвы.

===== Шаг 1. Что потребуется =====
^ Что нужно   ^ Количество  ^
| [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер ]] | 1           |
| [[https://smartelements.ru/collection/shildy/product/sensor-shield|Sensor shield]] | 1           |
| [[https://smartelements.ru/collection/datchiki-i-sensory/product/modul-datchika-vlazhnosti-pochvy|Датчик влажности почвы]] | 1           |
| [[https://smartelements.ru/collection/moduli/product/silovoy-klyuch|Силовой ключ]] | 1           |
| [[https://smartelements.ru/collection/moduli/product/modul-knopki|Модуль кнопки]] | 1           |
| [[|Помпа]] | 1           |
| [[https://smartelements.ru/collection/provoda-i-kabeli/product/shleyf-mama-mama-h3-20-sm|Шлейф "мама-мама" х3]] | 3           |
| [[https://smartelements.ru/collection/elementy-pitaniya/product/otsek-dlya-batareek-4haa-bez-shtekera|Отсек для 4-х батареек]]                           | 1           |
| [[https://smartelements.ru/collection/elementy-pitaniya/product/akkumulyator-nimh-aa-2500mah|Аккумулятор АА]]                           | 4           |
| [[https://smartelements.ru/collection/aksessuary/product/shlang-6h8-mm-1m|Шланг для помпы]]  | 2           |

===== Шаг 2. Схема сборки =====
Соберите все компоненты по схеме:
{{ :main:projects:watering.png?nolink |}}

===== Шаг 3. Скетч =====
Загрузите на контроллер скетч:
<file Arduino>
const int posw = 9; //пин подключения силового ключа
const int BUT = 8; //пин подключения кнопки
const int HUM = A0; //пин подключения датчика влажности почвы
int humidity = 0; //переменная для хранения количества влаги
 
void setup() {
  pinMode(posw, OUTPUT); //назначение пина силового ключа выходным
  Serial.begin(9600); //инициализация монитора Serial-порта
}
 
void loop() {
  
  //Включение по кнопке
  if (digitalRead(BUT) == HIGH) { //если кнопка нажата
    digitalWrite(posw, HIGH); //полить
  } else { //если не нажата
    digitalWrite(posw, LOW); //остановить полив
  }

  //Включение по датчику
  humidity = analogRead(HUM); //измерение влажности
  Serial.println(humidity); //вывод значения в монитор порта
  if (humidity < 300) { //проверка значения влажности
    digitalWrite(posw, HIGH); //полить
    delay(3000); //подождать 3 секунды
    digitalWrite(posw, LOW); //остановить полив
  }
}
</file>

===== Шаг 4. Результат =====
Для начала проведите тест работоспособности по нажатию кнопки. Так мы сможем поливать цветок вручную, если показалось что надо бы полить. Затем проверьте какое значение влажности показывает датчик если его поместить в сухую почву, и определите границу, после которой должен срабатывать полив. Для этого в скетче предусмотрен вывод информации и влажности в монитор порта.
После определения порогового значения, замените значение в строке скетча
<file>
if (humidity < 300)
</file>
на то, которое требуется.

А теперь можно смело ехать на дачу, в отпуск или в дальние путешествия.