Автополив с Ардуино - ФОРУМ ДВ Робот dvrobot.ru
Воскресенье, 18.11.2018, 10:14
Главная Мой профиль Регистрация Выход
  • НАШ МАГАЗИН
  • Вы вошли как Гость | Группа "Гости"Приветствую Вас, Гость
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 1 из 1
    • 1
    Модератор форума: Serg, GRACH  
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Arduino - вопросы и ответы. » Автополив с Ардуино
    Автополив с Ардуино
    ArturДата: Среда, 17.04.2013, 01:17 | Сообщение # 1
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    Доброго всем дня). Я недавно наткнулся на такую вещь как микроконтроллер ардуино и сразу задумался как бы его тоже применить. Хочу сделать дома автополив по такой схеме датчик влажности - ардуино - радио модуль - радиоуправляемое реле - полив помпой. При это еще поставить небольшой дисплейчик для отображения текущего уровня влажности. Хотелось бы установить точный параметр влажности, ниже которого бы начинался полив. На самом деле пока довольно смутно представляю как это все будет работать.
    Реле планирую такое http://www.chipdip.ru/product/mk333/
    Посоветуйте пожалуйста модель модель радиомодуля для ардуино для управления данным реле??
     
    SergДата: Среда, 17.04.2013, 07:17 | Сообщение # 2
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    Радиомодуль + реле с магазина "DV-Robot" обойдется Вам в 9 раз дешевле. А для Вашего реле нужен кодовый передатчик. Ищите на том же сайте. Зачем Вы так усложняете свой проект? Нельзя по проводам? Датчик влажности будет от аккумулятора питаться?
     
    ArturДата: Среда, 17.04.2013, 18:14 | Сообщение # 3
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    Цитата (Serg)
    Радиомодуль + реле с магазина "DV-Robot" обойдется Вам в 9 раз дешевле. А для Вашего реле нужен кодовый передатчик. Ищите на том же сайте. Зачем Вы так усложняете свой проект? Нельзя по проводам? Датчик влажности будет от аккумулятора питаться?

    По проводам нет возможности. Датчик будет просто подключен к ардуино, как я понял для него не нужно отдельное питание. Не могли бы вы уточнить что имеется ввиду под кодовым передатчиком?
     
    SergДата: Среда, 17.04.2013, 19:33 | Сообщение # 4
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    Датчики могут быть разные. С питанием и без питания. Если нет возможности использовать провода, значит Ардуино будет около датчика влажности. Ей ведь нужно питание? Значит будет аккумулятор. Реле, которое планируется применить, управляется по радиоканалу с помощью кода-некоторой последовательностью нулей и единиц. То есть, это реле можно включить только определенным передатчиком, который излучает эту последовательность. Такие реле обычно продаются в паре передатчиками. Еще вариант- использовать обычный радиомодуль, а эту последовательность записать в ардуино.
     
    ArturДата: Среда, 17.04.2013, 20:30 | Сообщение # 5
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    Цитата (Serg)
    атчики могут быть разные. С питанием и без питания. Если нет возможности использовать провода, значит Ардуино будет около датчика влажности. Ей ведь нужно питание? Значит будет аккумулятор. Реле, которое планируется применить, управляется по радиоканалу с помощью кода-некоторой последовательностью нулей и единиц. То есть, это реле можно включить только определенным передатчиком, который излучает эту последовательность. Такие реле обычно продаются в паре передатчиками. Еще вариант- использовать обычный радиомодуль, а эту последовательность записать в ардуино.

    Ардуино и будет возле датчика. Ардуино будет питаться от БП. Точно не знаю, но мне кажется датчик влажности просто подключается к ардуино, без доп питания.
    К радио реле идет маленький пульт с двумя кнопками (на фото видно http://www.chipdip.ru/product/mk333/  ), можно сделать, в принципе, чтобы ардуин замыкал эти кнопки по необходимости и управлял реле. По всей видимости это можно реализовать обычной одинарной релешкой от ардуина.
     
    SergДата: Среда, 17.04.2013, 20:43 | Сообщение # 6
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    после маленькой переделки этот пульт вполне подойдет. Пугает лишь цена комплекта.
     
    ArturДата: Среда, 17.04.2013, 21:09 | Сообщение # 7
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    Цитата (Serg)
    после маленькой переделки этот пульт вполне подойдет. Пугает лишь цена комплекта.

    Спасибо за ваши консультации. Можно вас еще немножко помучить)

    В чип и дип цены завышены, можно купить за 1400-1700) Остается еще 2 вопроса)
    1. Для подключения этого пульта к ардуино понадобиться реле?
    2. Будет ли датчик влажности выдавать количественный уровень влажности (на жк дисплей) или там только путем регулировки встроенного потенциометра возможно управлять сигналом на вкл и выкл?
     
    SergДата: Среда, 17.04.2013, 21:34 | Сообщение # 8
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    здесь можно купить за 150-220 руб.
    Реле не понадобится. Их можно соединить напрямую.
    Датчики бывают разные, но почти все позволят вывести уровень влажности на дисплей. А уровень срабатывания можно установить любой в программе.
     
    ArturДата: Четверг, 18.04.2013, 22:07 | Сообщение # 9
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    И так я прикинул для реализации сего проекта мне может понадобиться следующий набор (Файл в приложении).

    У меня есть БП 12В 1А - думаю от него запитать ардуин через понижающий
    модуль 5В, либо взять зарядку от телефона. Они вроде бы все 5В.
    Я не могу понять нужен ли мне мини бредборд http://www.dvrobot.ru/shop/i123.belaya_maketnaya_plata.htm  или щит http://www.dvrobot.ru/shop/i75.proto-schit_dlya_arduino.htm  чтобы все подключить?
    Как думаете что еще может понадобиться)?

    И еще когда у вас появиться датчик темпы и влажности DHT22

    Прикрепления: 2958909.png(152.0 Kb)


    Сообщение отредактировал Artur - Четверг, 18.04.2013, 22:22
     
    SergДата: Четверг, 18.04.2013, 22:44 | Сообщение # 10
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    Возьмите лучше большую макетную плату. 
    Датчика DHT11 для Вашего проекта вполне хватит
     
    ArturДата: Четверг, 18.04.2013, 23:38 | Сообщение # 11
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    На сколько большую плату? Подойдет такая? http://www.dvrobot.ru/shop/i102.maketnaya_plata_mv-_51a.htm
     
    Ivan-771Дата: Пятница, 19.04.2013, 06:37 | Сообщение # 12
    5 Вольт
    Группа: Пользователи
    Сообщений: 39
    Репутация: 0
    Статус: Offline
    Цитата (Artur)
    На сколько большую плату? Подойдет такая? http://www.dvrobot.ru/shop/i102.maketnaya_plata_mv-_51a.htm
     
    Прото щитом, можно отделаться. А всё нельзя ли спаять? Чтоб выглядело похожее на устройство, а не на кипу проводов?
    Я себе для аквариума делал, на макетной плате для пайки. Да пайка надёжней.
    Прикрепления: 6111546.jpg(440.2 Kb)
     
    ArturДата: Понедельник, 22.04.2013, 22:05 | Сообщение # 13
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    Всем спасибо за помощь smile . Вроде заказал все что нужно. Попытаюсь сделать на протощите, но на всякий случай взял и макетную плату небольшую. (думаю еще пригодиться). Скажите дисплей LCD Nokia5110 подключается к плате без пайки? Может быть стоит взять Переходник для LCD IIC/I2C?

    Хотел уточнить по датчикам влажности. Я читал что у них покрытие окисляется за 2 недели. И они начинают постоянно показывать что сухо. Действительно ли это так? Был ли опыт использования? Может быть заменить "вилку" с покрытием на 2 кусочка от шампуров)).

    Чувствую это были не последние вопросы в моем проекте.)) Надеюсь на вашу дальнейшую поддержку.


    Сообщение отредактировал Artur - Понедельник, 22.04.2013, 22:16
     
    SergДата: Вторник, 23.04.2013, 07:03 | Сообщение # 14
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    Цитата (Artur)
    Скажите дисплей LCD Nokia5110 подключается к плате без пайки?

    Конечно подключается. на плате дисплея есть разъем.
    Цитата (Artur)
    Может быть стоит взять Переходник для LCD IIC/I2C?

    Он нужен для экономии выводов портов Ардуино.
    Цитата (Artur)
    Я читал что у них покрытие окисляется за 2 недели.

    У меня опыта не было, но что мешает протереть вилку раз в неделю? Для экперимента можно попробовать другой материал для электродов.
     
    Artemka1858Дата: Воскресенье, 28.04.2013, 02:57 | Сообщение # 15
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 16
    Репутация: 0
    Статус: Offline
    Цитата (Ivan-771)
    Я себе для аквариума делал
    Если не требно покажите скетч пожалуйста. Пытаюсь сделать полив теплицы авто, по проводам. Включение полива по температуре и влажности. Но пока что то не особо
     
    Ivan-771Дата: Воскресенье, 28.04.2013, 13:46 | Сообщение # 16
    5 Вольт
    Группа: Пользователи
    Сообщений: 39
    Репутация: 0
    Статус: Offline
    Цитата (Artemka1858)
    Я себе для аквариума делалЕсли не требно покажите скетч пожалуйста. Пытаюсь сделать полив теплицы авто, по проводам. Включение полива по температуре и влажности. Но пока что то не особо
    Исходников нету, ибо в январе собирал.
    Давно удалил.
    Вашей теме,   вряд ли бы помог.


    Сообщение отредактировал Ivan-771 - Воскресенье, 28.04.2013, 13:48
     
    ArturДата: Пятница, 14.06.2013, 19:07 | Сообщение # 17
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    Всем доброго дня). Мой заказ у меня и появилось время начать во всем разбираться. Вчера попробовал подключить сенсор влажности почвы, скачал стандартный скетч и загрузил. В принципе все заработало, только вот меня смутил один момент. Во всех мануалах по подобным датчикам описано следующее показатель 0-300 сухо, 300-600 влажно, 600-900 очень влажно. У меня же когда сухо показывает 724. Когда в воде 70-90. Может я что то не так подключил. Я подал 5в на Vcc и землю на GND. выход AC к нулевому аналог входу. четвертый выход TLL оставил пустым.
     
    DuZeRДата: Пятница, 14.06.2013, 22:50 | Сообщение # 18
    5 Вольт
    Группа: Пользователи
    Сообщений: 42
    Репутация: 2
    Статус: Offline
    Artur - по идее при замкнутых щупах должно быть максимальное показание сенсора - и наоборот - в воздухе в идеале 0.. если так и есть - значит все в норме - если наоборот - ну тогда меняй условия в скетче.. попробую на днях заказать такой же - проверю - отпишусь.

    Возможности машины зависят от фантазии человека...
     
    SergДата: Пятница, 14.06.2013, 22:51 | Сообщение # 19
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    а о чем речь?
     
    ArturДата: Пятница, 14.06.2013, 23:12 | Сообщение # 20
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    О том что показание какие то странные снимаются. Сегодня вечером выложу скетч, который используется.
     
    SergДата: Пятница, 14.06.2013, 23:20 | Сообщение # 21
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    с чего снимаются?
     
    ArturДата: Пятница, 14.06.2013, 23:20 | Сообщение # 22
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    С датчика влажности субстрата.
     
    winsstonДата: Вторник, 29.04.2014, 02:52 | Сообщение # 23
    1.5 Вольт
    Группа: Пользователи
    Сообщений: 2
    Репутация: 0
    Статус: Offline
    Приветствую форумчане
    Вот тоже решил познакомиться с Arduino
    И в частности сделать автополив растений. Поскольку опыт в программировании микроконтроллеров нулевой - заранее прошу не ругать строго.
    Относительно показаний датчиков и индикации на данный момент могу сказать, что датчик HL-69, идущий в паре с платой HL-01 я закинул сразу по причине того, что там всего два положения: "мокро" и "сухо" (выставляется влажность путем регулировки подстроечного резистора на плате HL-01). Меня интересовал более научный подход: отображать примерное содержание влаги в почве в процентах. И потому не долго думая я сварганил датчики, состоящие из пары резисторов и npn-транзистора BC847. (схема на рисунке)
    Относительно подключения: питание (VCC) подключаем к 5-вольтовому выходу на дуине, ноль (GND) (минус, земля, каждый зовет по-своему) к выходу GND, ну а "Signal" на аналоговый вход дуины (А0, А1...).

    Скетч, который загрузил в дуину, выглядит примерно так (от моего отличается (я использовал 3 датчика одновременно) , но для демонстрации подойдет):

    #include <LiquidCrystal.h>  // подключаем библиотеку LCD
    int dat1 = 0;    //объявляем глобальную переменную
    LiquidCrystal lcd(7, 6, 5, 4, 3, 2);  // инициализация библиотеки с перечнем задействованных выводов
    //Схема подключения LCD:
     // LCD RS пин к цифр. выходу 7 
    // LCD Enable пин к цифр. выходу 6 
    // LCD R/W к Общему 
    // LCD VO пин (пин 3)управление контрастностью - на переменный резистор 
    // LCD D4 пин к цифр. выходу 5 
    // LCD D5 пин к цифр. выходу 4 
    // LCD D6 пин к цифр. выходу 3 
    // LCD D7 пин к цифр. выходу 2
    void setup() { 
    lcd.begin(16, 2);     // устанавливаем кол-во столбцов и строк 
    lcd.print("Dat1");  // печать сообщения на LCD 
    delay (500);
    }
    void loop() { 
    dat1 = analogRead (0); // считываем значение с датчика (вход А0) 
    delay (500);   
    lcd.setCursor(0, 1);  
    lcd.print("    ");   // пишем пробелы, чтоб не обновлять весь LCD (вызывает не нужное мерцание) 
    lcd.setCursor(0, 1);   
    lcd.print(dat1);   // выводим значение с датчика на LCD   
    delay (500);}

    Далее проводя "исследования" заметил несколько особенностей, которыми и хочу поделиться (возможно кому-то пригодятся):
    - вид почвы (чернозем, торф, песок, вата) и содержание минеральных удобрений в ней - на показания датчика не влияют. (В сплошных удобрениях измерять не пробовал, т.к. сомневаюсь, что растения в них станут расти)
    вид щупов на показания влияет. В частности латунь, медь и луженая медь (покрытая оловом) показали себя не с лучшей стороны: слишком резкий получался переход в показаниях датчика, что затрудняет индикацию содержания влаги как таковую.
    А вот щупы из нержавейки зарекомендовали себя очень даже хорошо. Менее резкий перепад в показаниях и вполне возможно получать данные. На них и остановился.
    - еще ода особенность измерений заключалась в том, что при введении датчика в почву (после подсушки) значение было завышенным и опускалось до реального в течении 30 минут.
    На данный момент занимаюсь замерами. После этого на основании полученных данных буду писать скетч, где и будут указаны диапазоны АЦП, соответствующие процентному содержанию влаги в почве.
    Прикрепления: 6503417.jpg(15.4 Kb)


    Сообщение отредактировал winsston - Вторник, 29.04.2014, 02:56
     
    АлександрДата: Вторник, 06.05.2014, 16:29 | Сообщение # 24
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    Цитата Serg ()
    Я читал что у них покрытие окисляется за 2 недели
    Не советую брать датчики, они и в правду через пару недель окисляются, а еще через некоторое время с них слазит вообще все, метализированное покрытие просто растворяется. Я сам делал датчики, кусок тонкой нержавейки из верхней крышки жесткого диска порезал на полоски, порезал пластиковую карточку и все это склеил, припаял контакты что бы удобно было подключать и резистор на 100кОм. На воздухе 0, средняя влажность-370, полито до 700. Все это дело собрал на макетке, т.к. лениво было что еще делать. Насосом управляет полевик IRF 530, проверка каждые 5 мин, переменным резистором задаю нужную влажность. Если интересует могу поподробнее.
     
    winsstonДата: Среда, 14.05.2014, 08:40 | Сообщение # 25
    1.5 Вольт
    Группа: Пользователи
    Сообщений: 2
    Репутация: 0
    Статус: Offline
    Для того, чтобы избежать быстрого окисления покупных датчиков советую запитать датчик от пина дуины (ток, потребляемый датчиком достаточно мал и можно обойтись без лишних транзисторных ключей). Саму же программу стоит писать примерно так (это только пример, для навешивания кнопок, создания меню и т.п. от команды "delay" придется отказаться и использовать программные таймеры/счетчики):

    #include          // подключаем библиотеку LCD
    int dat1 = 0;                             //объявляем глобальную переменную
    byte DAT = 13;                         //присваиваем 13-му пину имя DAT
    LiquidCrystal lcd(7, 6, 5, 4, 3, 2);  // инициализация библиотеки с перечнем задействованных выводов
    //Схема подключения LCD:
    // LCD RS пин к цифр. выходу 7
    // LCD Enable пин к цифр. выходу 6
    // LCD R/W к Общему
    // LCD VO пин (пин 3)управление контрастностью - на переменный резистор
    // LCD D4 пин к цифр. выходу 5
    // LCD D5 пин к цифр. выходу 4
    // LCD D6 пин к цифр. выходу 3
    // LCD D7 пин к цифр. выходу 2

    void setup()
    {

    pinMode(DAT, OUTPUT);   //используем 13 пин как выход (для включения/выключения датчика)
    lcd.begin(16, 2);               // устанавливаем кол-во столбцов и строк LCD
    lcd.print("Dat1");              // печать сообщения на LCD
    delay (500);
    }

    void loop()
    {

    digitalWrite (DAT, HIGH);   // Включаем питание на датчик
    delay (100);                     // задержка (для стабилизации питания датчика)
    dat1 = analogRead (0);      // Считываем показания датчика (датчик в данном случае подключен ко входу А0)
    digitalWrite (DAT, LOW);    // Выключаем питание датчика
    delay (1000);                    // Задержка на 1 секунду (1000мкс)

    lcd.setCursor(0, 1);            //задаем место, с которого на LCD будет начинаться сообщение
    lcd.print("    ");                // пишем пробелы, чтоб не обновлять весь LCD (вызывает не нужное мерцание)
    lcd.setCursor(0, 1);
    lcd.print(dat1);                // выводим значение с датчика на LCD
    delay (500);
    }

    Всё дело в том, что датчики окисляются не столько от влаги, сколько под действием электролиза (кто не помнит со школы или не знает, что это такое - википедия в помощь). Чтобы свести данное влияние к минимуму в данном примере кода мы включаем датчик на 0,1 секунду, снимаем с него показания и вновь выключаем суммарно на 1,5 секунды.


    Сообщение отредактировал winsston - Среда, 14.05.2014, 08:48
     
    SergДата: Среда, 14.05.2014, 22:53 | Сообщение # 26
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    При написании кода пользуйтесь тегами code

    [code] [/code]
    или кнопкой на панели.
     
    АлександрДата: Понедельник, 19.05.2014, 11:23 | Сообщение # 27
    3.5 Вольт
    Группа: Пользователи
    Сообщений: 10
    Репутация: 0
    Статус: Offline
    Цитата winsston ()
    digitalWrite (DAT, HIGH);   // Включаем питание на датчик delay (100);                     // задержка (для стабилизации питания датчика)
    От такого метода пришлось отказаться т.к. питание датчика стабилизируется довольно долго, до нескольких минут, идет постоянное повышение сопротивления, а мы измеряем именно сопротивление и на основании его судим о влажности почвы. Причем сопротивление меняется весьма значительно, а следовательно есть шанс досрочно включить полив, ну и залить все. 
    Цитата winsston ()
    Всё дело в том, что датчики окисляются не столько от влаги, сколько под действием электролиза
    Полностью согласен, именно из-за этого и начал делать датчик из нержавейки.
     
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Arduino - вопросы и ответы. » Автополив с Ардуино
    • Страница 1 из 1
    • 1
    Поиск:

    ДВ Робот - Чат