Автополив

Описание

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

Шаг 1. Что потребуется

Шаг 2. Схема сборки

Соберите все компоненты по схеме:

Шаг 3. Скетч

Загрузите на контроллер скетч:

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); //остановить полив
  }
}

Шаг 4. Результат

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

if (humidity < 300)

на то, которое требуется.

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