В отпуск и каникулы всегда приходится решать один важный момент - кто будет поливать цветы? Поэтому обычно прибегают к помощи соседей или родственников, друзей. Но зачем обременять такой простой задачей добрых людей, когда можно этот процесс автоматизировать? Все-го то понадобится ёмкость с водой, водяная помпа и датчик влажности почвы.
Что нужно | Количество |
---|---|
Контроллер | 1 |
Sensor shield | 1 |
Датчик влажности почвы | 1 |
Силовой ключ | 1 |
Модуль кнопки | 1 |
Помпа | 1 |
Шлейф "мама-мама" х3 | 3 |
Отсек для 4-х батареек | 1 |
Аккумулятор АА | 4 |
Шланг для помпы | 2 |
Соберите все компоненты по схеме:
Загрузите на контроллер скетч:
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); //остановить полив
}
}
Для начала проведите тест работоспособности по нажатию кнопки. Так мы сможем поливать цветок вручную, если показалось что надо бы полить. Затем проверьте какое значение влажности показывает датчик если его поместить в сухую почву, и определите границу, после которой должен срабатывать полив. Для этого в скетче предусмотрен вывод информации и влажности в монитор порта. После определения порогового значения, замените значение в строке скетча
if (humidity < 300)
на то, которое требуется.
А теперь можно смело ехать на дачу, в отпуск или в дальние путешествия.