Инструменты пользователя

Инструменты сайта


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

Проекты на 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.