Автоматический полив растения (скоро Новый год)

Тема в разделе "Глядите, что я сделал", создана пользователем Вячеслав, 24 дек 2012.

  1. Fedor

    Fedor Нуб

    Подскажите как это сделать, если можно ткните носом, пжлста!!! Очень заинтересовал данный проект, хочу повторить его на своем подоконнике.
    Из оборудование что лучше заказать UNO или nano??? Или ...???
    Мосфет такой подойдет(тынц)???
    Помпа-омывайка.
    Проводочки/мелочевка.
    Что еще необходимо???
    Заранее спасибо!!!! Буду познавать эту АРДУИНУ!!!
     
  2. Unixon

    Unixon Оракул Модератор

    Uno/Nano - что удобнее в плане подключения и программирования, в остальном без разницы
    MOSFET нужен серии IRL, а не IRF.
     
  3. Fedor

    Fedor Нуб

    Будьте добры, ткните ссылкой. Я чего-то в инете на китайских магазинах ненашел такой. Заранее благодарю.
     
  4. leowka

    leowka Нуб

    Вот такая установка у меня трудилась успешно два года:

    Polivalka_1.jpg Polivalka_5.jpg

    Более подробно в ВИДЕО рассказываю.
     
  5. mag

    mag Нуб

    привет. Скажите у вас получилось собрать данное устройство? можете подсказать новечку? как у чего собирать? а то я совсем новечок. из железяк у меня есть ардуино нано. релюха, и еще идет насосик и датчики влажности... как все это дело собрать и подключить? благо ваш скет УСПЕШНО загрузился в ардуино....
     
  6. dSave

    dSave Нуб

    Хочу сделать себе аналогичную поливалку для цветов.
    Есть 3 вопроса:
    1) Почитал, форум, многие предполагают быстрый выход из строя датчика из-за окисления контактов. Возможно будет надежнее укоротить ножки датчика и припаять к ним медные штыри. Будет ли так надежнее? И если да, то какой длины и диаметра должны быть штыри? Лучше медные (из проволоки) или другой материал?
    2) Возможно ли вместо банки с водой провести к поливалке трубку от проточного фильтра для питьевой воды? Соответственно, не нужно будет следить за этой банкой, да красоты конструкции она не добавляет. И шумящая ночью помпа не нужна будет. Только клапаны.
     
    Последнее редактирование: 29 ноя 2016
  7. dSave

    dSave Нуб

    3) Какие трубки и переходники вы используете? Все помпы и клапаны, которые я нашел расчитаны на разный диаметр трубок.
     
  8. Alex_dv

    Alex_dv Нерд

    Вот посмотрите мой прототип, тут питание на датчик подается только раз в час на несколько секунд(или как вам удобно, достаточно изменить переменную), соответственно коррозия будет минимизирована. Т.е. питание датчика подключено к логическому выводу ардуины. Я использовал помпу из амперки, а шланг здесь довольно стандартный, внутренний диаметр 8 мм кажеться. Подходит шланг от гидроуровней из строймагазинов. Также потенциометр регулирует время, на которое включается насос. Транзистор стоит IRF740(не греется вообще, но стоит маленький радиатор), резистор затвора 220 ом, подтягивающий - 10 кОм, диод 1N4001.

    Код (C++):
    #include "U8glib.h"
    #include <avr/wdt.h>
    U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9, 8);

    unsigned long millis_old;
    unsigned int current_moist = 0; //текущяя влажность
    unsigned long i = 0; //счетчик времени между измерениями
    unsigned int t = 60; //время задержки между измерениями влажности в минутах



    void setup()
    {
    u8g.setColorIndex(1);
    pinMode(A0, INPUT);
    pinMode(A1, INPUT); //sensor data input
    pinMode(6, OUTPUT);
    pinMode(5, OUTPUT);//sensor power pin
    wdt_enable(WDTO_8S);
    }

    boolean my_timer(unsigned long time)//функция таймер, time-время задержки, nomer-номер таймера
    {
      unsigned long current_millis;//текущее значение миллисекунды
      current_millis=millis();
      if (current_millis-millis_old > time)//если время срабатывания таймера наступило
      {
     
        millis_old=current_millis;//перезаписываем время последнего срабатывания таймера
        return true;//возвращаем true
      } else return false;//возвращаем false
     
    }

    void water(int duration)
    {
      digitalWrite(5, HIGH);
      delay(duration*1000);
      digitalWrite(5, LOW);
    }


    void loop() {
      u8g.firstPage();  //перерисовка дисплея
     
      int x = analogRead(A1)/200; char buf[9]; sprintf(buf, "%d", x); //считываем показания с потенциометра
     
      if (my_timer(60000*t))
      {
        digitalWrite(6, HIGH);
        current_moist = analogRead(A0);
        if (analogRead(A0)<50)
         {    
          do { u8g.drawStr180(128, 34, "pump is on"); } while( u8g.nextPage() );
          water(x);
         }
         i = 0;
        }
        else
         {
           digitalWrite(6, LOW);
           i++;
         }
    char buf1[9]; sprintf(buf1, "%d", current_moist);
    char buf2[9]; sprintf(buf2, "%d", i);
    do {
       u8g.setFont(u8g_font_unifont);
       u8g.drawStr180(128, 52, "duration: " ); u8g.drawStr180(51, 52, buf); u8g.drawStr180(25, 52, "sec");
     
      u8g.drawStr180(128, 25, "humidity:");
       u8g.drawStr180(49, 25, buf1);
       u8g.drawStr180(128, 2, "t to check:");
       u8g.drawStr180(34, 2, buf2);
       } while( u8g.nextPage() );
     
       wdt_reset();
     
    delay(1000);
    }
     

    Вложения:

    dSave нравится это.
  9. Alex_dv

    Alex_dv Нерд

    на дисплей выводится продолжительность включения насоса (duration от 0 до 5 секунд), последние показания датчика влажности(от 0 до 1024), и время до следующей проверки влажности и, на основании проверки, включения или не включения помпы. P.S. пять штырьков справа от контроллера - это выводы rs232 интерфейса для программирования(в работе не используются). В принципе если заменить мосфет на logic level ssr, можно управлять любым аквариумным насосом на 220 вольт. P.P.S. у помп, продаваемых в амперке, плохо держиться штуцер, я подклеил слегка термоклеем, стало нормально. Если будете это делать, наносите клей только на сам штуцер, а не в отверстие насоса, так как можно заляпать клеем механизм.
     
  10. dSave

    dSave Нуб

    Коррозия происходит только при подаче электричества на датчик? Мне кажется, что ножки датчика могут окисляться и просто находясь во влажной почве.
    Кстати паузу перед поданием питания на датчик можно вычислять программно, в зависимости от частоты полива. Хотя, возможно, это лишнее. + Возможны погрешности при работе в открытом грунте после дождей.
     
  11. dSave

    dSave Нуб

    и повторю свой вопрос:
     
  12. Alex_dv

    Alex_dv Нерд

    Ну мой датчик с золотым покрытием, как заявляет производитель, коррозия действительно происходит только при подаче тока. Но, как говориться, будем посмотреть).

    По поводу штырей, медь в почве быстро заржавеет(образуются соединения карбоната меди, оксида меди, которые уменьшат ее проводимость), лучше всего из реального - титановая проволока, она довольно доступна, в москве по крайней мере. Только ее не удастся припаять, нужно просто присоединить с помощью клеммников, например. Можете еще попробовать сталь Х18Н10Т (самая обычная нержавейка), тоже доступная вещь. Но, все равно, питание на датчике должно быть только в момент измерения.
    P.S. точно не стоит применять алюминий, он во влажной земле может за 2-3 года исчезнуть без следа.
     
    dSave нравится это.
  13. dSave

    dSave Нуб

    Спасибо! )
    Можно поступить так. Для начала использовать просто датчик, если окислится, то можно будет отрезать ножки у датчика и припаять какие-нибудь клеммники, а к ним уже титановую проволоку. На Алиэксперессе она есть.
     
  14. dSave

    dSave Нуб

    Да, это хорошая у вас идея. Даже если электроды вечные будут, ни к чему растениям постоянный электрошок )))
     
  15. dSave

    dSave Нуб

    Пришел мой датчик ) Оказалось, я изначально не тот заказал... Мой с реле на плате, у него нет выходов для ардуино... Придется новый заказывать.
     
  16. alp69

    alp69 Форумчанин

    Покажите свой датчик. Может все не так плохо и удасться его прикрутить?
     
  17. dSave

    dSave Нуб

    20161224_134731.jpg 20161224_134711.jpg 20161224_134529.jpg 20161224_134518.jpg
     
  18. alp69

    alp69 Форумчанин

    Такое ощущение, что отсутствующий контакт, обозначенный снизу стрелкой наружу - это то, что Вам нужно. Ваш модуль не что иное, как компаратор, выдающий сигнал на срабатывание реле при отличии значения, выдаваемого датчиком, устанавливаемого подстроечным резистором. Контакт со стрелкой наружу - либо параллельный выход с компаратора, либо либо параллель его входа. Скорее всего первое. Но, судя по фото, похоже он отключен (отсутствует перемычка).
    Вам выход то для чего нужен был?
     
    dSave нравится это.
  19. dSave

    dSave Нуб

    Хочу попробовать подружить датчик с Ардуино и уже на последней построить всю логику включения/выключения полива
     
  20. alp69

    alp69 Форумчанин

    Это реализуемо. Если в двух словах, то действия такие: сам датчик (подкову) - к ардуине на АЦП через делитель. С ардуины - на вход модуля.
    Либо выход компаратора переключать на цифровой вход ардуино, а с ардуино через транзисторный ключ дергать реле. Но надо будет резать дорожки.
     
    dSave нравится это.