Автополив для комнатных цветов
Проекты на Arduino и Slot Shield
Позаботься о своих цветочках, даже если ты далеко от дома.
Простая система автоматического полива с помощью датчика влажности определит, что земля в горшке пересохла и включит помпу. Как только почва увлажнится, реле выключит помпу. Задать пороговое значение можно повернув ручку потенциометра. Всё просто!
- Язык программирования: Arduino (C++)
Что потребуется
Полный сет компонентов проекта. В комплект входят:
Видеоинструкция
Как собрать
-
- Красный плюсовой провод от помпы в реле к контакту
ON
. - Красный плюсовой провод от реле с контакта
COM
в штекер питания к контакту+
. Если у вас нет свободного провода, отрежьте 10 см красного проводника от кабеля, который идёт в комплекте с помпой. - Чёрный минусовой провод от помпы в штекер питания к контакту
−
.
- Отрежьте штатный штекер от блок питания, зачистите провода и подключите их к штекеру питания с клеммником:
- Красный плюсовой провод от блока питания в штекер питания к контакту
+
. - Чёрный минусовой провод от блока питания в штекер питания к контакту
−
.На обратной стороне блока питания задайте напряжение 9 вольт.
.
- Датчик влажности почвы вставьте в грунт с растением, помпу опустите в ёмксть с водой, а шланг выведете в горшок.
Устройство собрано, можно переходить к программной части.
Скетч
Прошейте контроллер скетчем через Arduino IDE.
- AutomaticWatering.ino
- // Даём понятное имя пину A1 с потенциометром
- constexpr uint8_t POT_PIN = A1;
- // Даём понятное имя пину A3 с помпой подключенной к мини-реле
- constexpr uint8_t POMP_PIN = A3;
- // Даём понятное имя пину A1 с датчиком влажности почвы
- constexpr uint8_t MOISTURE_PIN = A0;
- void setup() {
- // Настраиваем пин с помпой в режим выхода
- pinMode(POMP_PIN, OUTPUT);
- }
- void loop() {
- // Считываем текущее показания потенциометра
- int valuePot = analogRead(POT_PIN);
- // Считываем текущее показания датчика влажности почвы
- int valueMoisture = analogRead(MOISTURE_PIN);
- // Если показания датчика влажности почвы стали ниже порога, заданного потенциометром
- if (valueMoisture < valuePot) {
- // Включаем помпу
- digitalWrite(POMP_PIN, HIGH);
- } else {
- // Выключаем помпу
- digitalWrite(POMP_PIN, LOW);
- }
- // Ждём 1 секунду
- delay(1000);
- }
Что дальше?
Хотите собрать другой девайс? Выберите своё будущее устройство из списка проектов на Slot Shield.