Содержание

Автополив для комнатных цветов

Проекты на Arduino и Slot Shield

Позаботься о своих цветочках, даже если ты далеко от дома.

Простая система автоматического полива с помощью датчика влажности определит, что земля в горшке пересохла и включит помпу. Как только почва увлажнится, реле выключит помпу. Задать пороговое значение можно повернув ручку потенциометра. Всё просто!

watering.jpg

Что потребуется

Полный сет компонентов проекта. В комплект входят:

Видеоинструкция

Как собрать

  1. Установите Troyka Slot Shield на Iskra Neo
  2. Подключите датчик влажности трёхпроводным шлейфом через штырьковые соединители в слот F к пину A0.
  3. Установите мини-реле на Troyka Slot Shield в слот D к пину A3.
  4. Установите потенциометр в слот E к пину A1.
    1. Красный плюсовой провод от помпы в реле к контакту ON.
    2. Красный плюсовой провод от реле с контакта COM в штекер питания к контакту +. Если у вас нет свободного провода, отрежьте 10 см красного проводника от кабеля, который идёт в комплекте с помпой.
    3. Чёрный минусовой провод от помпы в штекер питания к контакту .
  5. Отрежьте штатный штекер от блок питания, зачистите провода и подключите их к штекеру питания с клеммником:
    1. Красный плюсовой провод от блока питания в штекер питания к контакту +.
    2. Чёрный минусовой провод от блока питания в штекер питания к контакту .

      На обратной стороне блока питания задайте напряжение 9 вольт.

      .

  6. Датчик влажности почвы вставьте в грунт с растением, помпу опустите в ёмксть с водой, а шланг выведете в горшок.

Устройство собрано, можно переходить к программной части.

Скетч

Прошейте контроллер скетчем через Arduino IDE.

AutomaticWatering.ino
  1. // Даём понятное имя пину A1 с потенциометром
  2. constexpr uint8_t POT_PIN = A1;
  3. // Даём понятное имя пину A3 с помпой подключенной к мини-реле
  4. constexpr uint8_t POMP_PIN = A3;
  5. // Даём понятное имя пину A1 с датчиком влажности почвы
  6. constexpr uint8_t MOISTURE_PIN = A0;
  7.  
  8. void setup() {
  9. // Настраиваем пин с помпой в режим выхода
  10. pinMode(POMP_PIN, OUTPUT);
  11. }
  12.  
  13. void loop() {
  14. // Считываем текущее показания потенциометра
  15. int valuePot = analogRead(POT_PIN);
  16. // Считываем текущее показания датчика влажности почвы
  17. int valueMoisture = analogRead(MOISTURE_PIN);
  18. // Если показания датчика влажности почвы стали ниже порога, заданного потенциометром
  19. if (valueMoisture < valuePot) {
  20. // Включаем помпу
  21. digitalWrite(POMP_PIN, HIGH);
  22. } else {
  23. // Выключаем помпу
  24. digitalWrite(POMP_PIN, LOW);
  25. }
  26. // Ждём 1 секунду
  27. delay(1000);
  28. }

Что дальше?

Хотите собрать другой девайс? Выберите своё будущее устройство из списка проектов на Slot Shield.