измерительный сигнал нужно подавать двуполярный - синусоиду. Тогда датчик будет великолепно себя вести и не будет столь сильно деградировать. А так вы сделали ему "травилку" постоянным током = вот он у вас и вытавился.
Если не боитесь 220 вольт - то рекомендую проверенную годами вещь - электроклапан от стиральной машины...
Найти их за копейки можно в любом городе, достаточно найти тех, кто стиралки на запчасти распродает... Я за 300 рублей купил 4клапанный от Brandt - 4Wx180, с запиткой через реле
Из своего опыта выращивания томатов - их достаточно поливать по таймеру раз в неделю. Главное не лить воду сверху.
У меня в грядке, на глубине 15см, проложена ПП труба с маленьким отверстиями. Клапан открывает подачу воды на время, соответствующее "жаркости" воздуха вне парника. И этого достаточно. А ежели сверху почва замульчирована, то и "жаркостью" можно не интересоваться. Еще надо учесть, что вода постепенно забивает солями всяческие капельные трубочки. Они непрактичны без водоподготовки. А измерение влажности электродами в парнике считаю извращением - это чистые понты. Все это уже проходил:
А измерение влажности электродами в парнике считаю извращением - это чистые понты.
никаких понтов. Очень удобно. У меня, например, участок с приличным южным склоном. Подпочвенные воды очень сильно влияют на влажность почвы внутри теплицы.
С таймером мне пришлось бы играться после каждого дождика.
Если не боитесь 220 вольт - то рекомендую проверенную годами вещь - электроклапан от стиральной машины...
Найти их за копейки можно в любом городе, достаточно найти тех, кто стиралки на запчасти распродает... Я за 300 рублей купил 4клапанный от Brandt - 4Wx180, с запиткой через реле
Эти клапана рассчитаны на высокое давление, когда система на самотёке они бесполезны
А измерение влажности электродами в парнике считаю извращением - это чистые понты.
никаких понтов. Очень удобно. У меня, например, участок с приличным южным склоном. Подпочвенные воды очень сильно влияют на влажность почвы внутри теплицы.
С таймером мне пришлось бы играться после каждого дождика.
Согласен, что на открытой и возвышенной грядке влага быстрее накапливается и исчезает, но в парнике этот процесс очень инерционный даже с подпочвенными водами. Так что ритм полива в парнике от дождя мало зависит. Если затяжные дожди можно просто разрывать цепь таймера.
Я контролирую влажность только при выращивании рассады в боксе, потому что у рассады маленькие корни сильно зависят от влажности верхнего слоя почвы. А томат в парнике найдет воду ВСЕГДА-у него корни до 2хметров вглубь. А кондуктометрические датчики уровня это усложненный анахронизм по сравнению с герконом.
А можно обновленный скеч, с поливом по датчику влажности? и еще подскажите, смотрю схему на первой странице, вижу что в схеме используются сопротивления, а как узнать где и какого номинала использовать? С
А можно обновленный скеч, с поливом по датчику влажности? и еще подскажите, смотрю схему на первой странице, вижу что в схеме используются сопротивления, а как узнать где и какого номинала использовать? С
Кода пока нет, есть опробованные функции,
В ф-цию boolean drip_irrigation() в качестве аргументов передаём - (вкл или выкл полива, аналоговый пин датчика влажности земли, канал реле, мин влажность земли и макс влажность земли. функция int h_pochva(int ch) берёт аргумент из ф-ции drip_irrigation аналоговый пин.
void drip_irrigation(boolean on_off, int analog_pin, int ch_rele, int hum_min, int hum_max) {
boolean i = EEPROM.read(on_off);
if (i) {
int _min = EEPROM.read(hum_min);
int _max = EEPROM.read(hum_max);
// boolean val = 0;
if (h_pochva(analog_pin) < _min){digitalWrite(ch_rele, LOW); }//val = 1;
// Serial.print("drip ch_rele="); Serial.print(ch_rele); Serial.print(val);}
if (h_pochva(analog_pin) > _max){digitalWrite(ch_rele, HIGH);}// val = 0;
// Serial.print("drip ch_rele="); Serial.print(ch_rele); Serial.print(val);}
}
//функция преобразования аналогового значения влажности почвы в проценты влажности
byte h_pochva(int ch){
int val=analogRead(ch);
val =constrain(val, 200, 700);
val =map(val, 200, 700, 100, 0);
return val; //}
Резисторы в схеме нужны для подтяжки кнопок и датчиков. Номиналы для кнопок и DHT датчика 10кОм, для DS18b20 4,7кОм
Код на три контура полива и один насос, при включении хотя бы одного контура одновременно включается насос.
Единственное у меня датчики влажности почему то наооборот работают, у всех когда влажно у меня по этим параметрам сухо, поэтому менял команды LOW и HIGH, датчик временно сделал самодельный из медной проволоки, и подсоединил к плате к с которой шел датчик, данные брал с цифрового выхода.
Добрый день. Выложите пожалуйсто фотки как шток закреплен, и в каком положении он при закрытом окне и при открытом ну и с далека как выглядит открытое окно. Буду Вам очень благодарен.
Просто поставил себе цепной электро редуктор но он намного дороже стоит чем шток.
Добрый день. Выложите пожалуйсто фотки как шток закреплен, и в каком положении он при закрытом окне и при открытом ну и с далека как выглядит открытое окно. Буду Вам очень благодарен.
Просто поставил себе цепной электро редуктор но он намного дороже стоит чем шток.
Шток который держит актуатор? На саморезах по металу вроде ничего сложного... ну если надо фото то сделаю на выходных
Ну на фотке я так вроде расмотрел, сделайте фотки открытого и закрытого окна. А на сколько актуатор высовывается?
Длину высовывания можно регулировать колёсиками(хз как их обозвать=) ) в коробке актуатора, которые нажимают концевые выключатели. Шток актуатора вылазит примерно на 80% длинны
Вопросы для опытных банальные, но я даже в руках такие платы не держал.
Хотел бы спросить, что надо приборести для создания следующего "проекта".
Требования:
1)
2 разовый полив в определенное время, посредством открытия клапана, чтоб каждый шланг поливался одинаково. (например в 9.00 и 21.00 - независимо от влажности земли, т.к. датчик влажности установленный в одном месте - не может гарантировать что через 30 см уровень влажности будет такой же)
2)
- Открытие/закрытие 2 форточек по температуре внутри теплицы. Например чтоб при +30 градусах открылись обе форточки, при +25 одна из форточек закрывалась, при +20 закрывалась вторая форточка.
- Включение/отключение кулеров 4 шт.*120 мм на подачу воздуха, и вытягивание. (так кстати можно создать постоянный микроклимат, без открытия форточек, по крайней мере мне так кажется)
Общий вопрос по открытию дверерй/форточек, а как поступать с ситуацией, когда человек сам заходит в теплицу? Отключать привод? И насколько широко вообще открывать окно?
я планирую, открывать дверь на определенное время по нажатию кнопки (например минуту). как поеду к родителям испытаю в действии. кнопки сделаю две, одна с наружи одна внутри
я планирую, открывать дверь на определенное время по нажатию кнопки (например минуту). как поеду к родителям испытаю в действии. кнопки сделаю две, одна с наружи одна внутри
Минута это мало думаю...тут имел ввиду вопрос о том как работа автоматики будет сказываться на человеке?
Я вижу решение в том чтоб системой рычагов - отталкивать дверь, т.е. толкатель не будет соеденяться жестко с дверью.
Шток вышел - окно открылось, шток зашел - окно закрылось.
Так можно избежать ситуаций - когда дачные гости решат заглянуть посмотреть в теплицу, тем самым вырвав вю автоматику с корнем.
у меня отец приделал двигатели, которые открывали закрывали жалюзи на старой элетростанции. они идеально подошли так как и конечники есть у них, которыми настраиваешь угол открытия, как поеду к ним сфоткую, а так код простенький написал, будем пробовать все соединить вместе, как откатаю все выложу, так что я опка такой вариант для себя придумал, при их исползовании только напряжением откроешь дверь.
Добрый день. Выложите пожалуйсто фотки как шток закреплен, и в каком положении он при закрытом окне и при открытом ну и с далека как выглядит открытое окно. Буду Вам очень благодарен.
Просто поставил себе цепной электро редуктор но он намного дороже стоит чем шток.
[/quote]
Кстати в тему как открывать верхнии форточки, сфоткал на выставке домов у МЕГи:
Почему analogRead(2)? Это мы читаем состояние цифрового пина D2, т.е. будет всегда или 0 или 1023.
пин 2 - это насос, остальные клапаны?
// это перед setup
#define PUMP_PIN 2 // пин для подключения реле и насоса
#define VALVE1_PIN 3 // пин для подключения реле и клапана
#define VALVE2_PIN 4 // эти синонимы в коде не используются, они для наглядности - как писать в будущем
#define VALVE3_PIN 5
const int soilTreshhold = 200; // порог включения/выключения по влажности почвы
// это вместо строк 109-114
checkSoil(A1, 3); // проверка влажности почвы на аналоговом пине A1, при необходимости включаем реле на пине 3.
checkSoil(A2, 4);
checkSoil(A3, 5);
// это после loop
void checkSoil(byte sensorPin, byte relayPin) // Входные значения - номер проверяемого пина и номер включаемого пина
{
int soilMoisture = analogRead(sensorPin); // читаем влажность почвы
if (soilMoisture < soilTreshhold) // если сухо
{
digitalWrite(relayPin, HIGH); // открываем заданный клапан
digitalWrite(PUMP_PIN, HIGH); // включаем насос
// delay (20000); // отключение полива по времени (если датчик сгнил :)
// stopPoliv();
}
else stopPoliv();
}
void stopPoliv(byte sensorPin) // отключение полива
{
// отключаем насос, если он не используется другими каналами, иначе будет его постоянное дерганье
if(digitalRead(3) && (!digitalRead(4) || !digitalRead(5) )) digitalWrite(PUMP_PIN, LOW);
if(digitalRead(4) && (!digitalRead(3) || !digitalRead(5) )) digitalWrite(PUMP_PIN, LOW);
if(digitalRead(5) && (!digitalRead(3) || !digitalRead(4) )) digitalWrite(PUMP_PIN, LOW);
digitalWrite(relayPin, LOW); // закрываем заданный клапан
}
Теперь вообще весело) При включение ардуино: включаються все релле(т.к почва сухая датчики не куда не воткнуты ), при замыкание датчиков влажности релле выключаються, но обратно включаеться только релле насоса при размыкание 3 датчика аналогово
#include <DS1307.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <SPI.h>
#include <dht11.h>
// pin 7 - Serial clock out (SCLK)
// pin 6 - Serial data out (DIN)
// pin 5 - Data/Command select (D/C)
// pin 4 - LCD chip select (CS)
// pin 3 - LCD reset (RST)
Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12);
DS1307 rtc(A4, A5); // Инициализация библиотеки с указанием
#define PUMP_PIN 2 // пин для подключения реле и насоса
#define VALVE1_PIN 3 // пин для подключения реле и клапана
#define VALVE2_PIN 4 // эти синонимы в коде не используются, они для наглядности - как писать в будущем
#define VALVE3_PIN 5
const int soilTreshhold = 200; // порог включения/выключения по влажности почвы
Time t; // Инициализация струк
int d, Counter=0;
dht11 sensor;
void setup()
{
display.begin();// Инициализация дисплея
display.setContrast(55);
display.setTextSize(1);
rtc.halt(false); // Установка режимов
// rtc.writeProtect(false); // работы часов
// Следующих три строки нужно закомментировать после
// установки времени и загрузить скетч в плату повторно
//rtc.setDOW(7); // Установка дня недели
//rtc.setTime(14, 25, 00); // Установка времени 10:59:10
//rtc.setDate(01, 03, 2015); // Установка даты 20 июля 2013
pinMode( 2 , OUTPUT);
pinMode( 3 , OUTPUT);
pinMode( 4 , OUTPUT);
pinMode( 5 , OUTPUT);
}
void loop()
{
t = rtc.getTime(); // Получение времени и его запись в структуру t
display.setTextSize(1); // Установка набора символов
display.clearDisplay(); // Очистка экрана
if(int(t.hour)<10)
{
display.setCursor(42,0);
display.print("0");
display.setCursor(48,0);
display.print(t.hour);} // Вывод часов
else{
display.setCursor(42,0);
display.print(t.hour);}
display.setCursor(53,0);
display.print(".");
display.setCursor(68,0);
display.print(".");
if(int(t.min)<10){
display.setCursor(57,0);
display.print("0");
display.setCursor(63,0);
display.print(int(t.min)); // Вывод минут
}
else{
display.setCursor(57,0);
display.print(int(t.min));}
display.setTextSize(1); // Установка набора символов
if(int(t.sec)<10){
display.setCursor(72, 0);
display.print("0");
display.setCursor(79, 0);
display.print(int(t.sec));} // Вывод секунд
else{
display.setCursor(72, 0);
display.print((t.sec));} // Вывод секунд
// display.setCursor(13,17);
//display.print(rtc.getDateStr()); // Вывод даты
sensor.read(6);
display.setTextSize(1); // Установка набора символов
display.setCursor(7, 0);
display.print(sensor.temperature);
display.setCursor(0, 0);
display.print("С");
display.setCursor(27, 0);
display.print(sensor.humidity);
display.setCursor(21, 0);
display.print("%");
display.setCursor(15, 37);
display.print("Влаж.%");
display.setCursor(60, 37);
display.print(analogRead(3));
display.setCursor(15, 27);
display.print("Влаж.%");
display.setCursor(60, 27);
display.print(analogRead(2));
display.setCursor(15, 17);
display.print("Влаж.%");
display.setCursor(60, 17);
display.print(analogRead(1));
checkSoil(A1, 3); // проверка влажности почвы на аналоговом пине A1, при необходимости включаем реле на пине 3.
checkSoil(A2, 4);
checkSoil(A3, 5);
display.display(); // Вывод вместимого буфера на дисплей
delay (1000); // Задержка 1 с
}
void checkSoil(byte sensorPin, byte relayPin) // Входные значения - номер проверяемого пина и номер включаемого пина
{
int soilMoisture = analogRead(sensorPin); // читаем влажность почвы
if (soilMoisture < soilTreshhold) // если сухо
{
digitalWrite(relayPin, HIGH); // открываем заданный клапан
digitalWrite(PUMP_PIN, HIGH); // включаем насос
// delay (20000); // отключение полива по времени (если датчик сгнил :)
// stopPoliv();
}
else stopPoliv();
}
void stopPoliv()// отключение полива
{
// отключаем насос, если он не используется другими каналами, иначе будет его постоянное дерганье
if(digitalRead(3) && (!digitalRead(4) || !digitalRead(5) )) digitalWrite(PUMP_PIN, LOW);
if(digitalRead(4) && (!digitalRead(3) || !digitalRead(5) )) digitalWrite(PUMP_PIN, LOW);
if(digitalRead(5) && (!digitalRead(3) || !digitalRead(4) )) digitalWrite(PUMP_PIN, LOW);
digitalWrite(PUMP_PIN, LOW); // закрываем заданный клапан
}
Теперь вообще весело) При включение ардуино: включаються все релле(т.к почва сухая датчики не куда не воткнуты ), при замыкание датчиков влажности релле выключаються, но обратно включаеться только релле насоса при размыкание 3 датчика аналогово
По-идее не должно быть такого, т.к. "сухая почва" - это одно значение, а обрыв датчика - это авария и по ней реле включать не нужно. Иначе в результате обрыва - зальете все напрочь.
вставьте Serial.print(soilMoisture); и посмотрите: меняется ли результат при помещении датчика в сухую и влажную почву. Навскидку - не срабатывает условие для включения клапанов.
Даже так не работает((( Может проблемма в 21,22,23 строках?
#define PUMP_PIN 2 // пин для подключения реле и насоса
#define VALVE1_PIN 3 // пин для подключения реле и клапана
#define VALVE2_PIN 4 // эти синонимы в коде не используются, они для наглядности - как писать в будущем
#define VALVE3_PIN 5
const int soilTreshhold = 200; // порог включения/выключения по влажности почвы
void setup()
{
pinMode( 2 , OUTPUT);
pinMode( 3 , OUTPUT);
pinMode( 4 , OUTPUT);
pinMode( 5 , OUTPUT);
}
void loop()
{
checkSoil(A1, 3); // проверка влажности почвы на аналоговом пине A1, при необходимости включаем реле на пине 3.
checkSoil(A2, 4);
checkSoil(A3, 5);
}
void checkSoil(byte sensorPin, byte relayPin) // Входные значения - номер проверяемого пина и номер включаемого пина
{
int soilMoisture = analogRead(sensorPin); // читаем влажность почвы
if (soilMoisture < soilTreshhold) // если сухо
{
digitalWrite(relayPin, HIGH); // открываем заданный клапан
digitalWrite(PUMP_PIN, HIGH); // включаем насос
// delay (20000); // отключение полива по времени (если датчик сгнил :)
// stopPoliv();
}
else stopPoliv();
}
void stopPoliv()// отключение полива
{
// отключаем насос, если он не используется другими каналами, иначе будет его постоянное дерганье
if(digitalRead(3) && (!digitalRead(4) || !digitalRead(5) )) digitalWrite(PUMP_PIN, LOW);
if(digitalRead(4) && (!digitalRead(3) || !digitalRead(5) )) digitalWrite(PUMP_PIN, LOW);
if(digitalRead(5) && (!digitalRead(3) || !digitalRead(4) )) digitalWrite(PUMP_PIN, LOW);
digitalWrite(PUMP_PIN, LOW); // закрываем заданный клапан
}
Не уверен, но попробуйте в 35 строке digitalWrite(relayPin, HIGH); заменить HIGT на глобальную переменную, например valveState=1; или объявленную внутри функции voidcheckSoil() static valveState=1;
Одно предложение вместо клапанов можно использовать краны с сервоприводом от системы антипротечек работают надежно, для меня это актуально бочка стоит очень низко.
Не уверен, но попробуйте в 35 строке digitalWrite(relayPin, HIGH); заменить HIGT на глобальную переменную, например valveState=1; или объявленную внутри функции voidcheckSoil() static valveState=1;
Вот так вот?
#define PUMP_PIN 2 // пин для подключения реле и насоса
#define VALVE1_PIN 3 // пин для подключения реле и клапана
#define VALVE2_PIN 4 // эти синонимы в коде не используются, они для наглядности - как писать в будущем
#define VALVE3_PIN 5
const int soilTreshhold = 200; // порог включения/выключения по влажности почвы
void setup()
{
pinMode( 2 , OUTPUT);
pinMode( 3 , OUTPUT);
pinMode( 4 , OUTPUT);
pinMode( 5 , OUTPUT);
}
void loop()
{
checkSoil(A1, 3); // проверка влажности почвы на аналоговом пине A1, при необходимости включаем реле на пине 3.
checkSoil(A2, 4);
checkSoil(A3, 5);
}
void checkSoil(byte sensorPin, byte valveState) // Входные значения - номер проверяемого пина и номер включаемого пина
{
int soilMoisture = analogRead(sensorPin); // читаем влажность почвы
if (soilMoisture < soilTreshhold) // если сухо
{
digitalWrite(valveState=1); // открываем заданный клапан
digitalWrite(PUMP_PIN, HIGH); // включаем насос
// delay (20000); // отключение полива по времени (если датчик сгнил :)
// stopPoliv();
}
else stopPoliv();
}
void stopPoliv()// отключение полива
{
// отключаем насос, если он не используется другими каналами, иначе будет его постоянное дерганье
if(digitalRead(3) && (!digitalRead(4) || !digitalRead(5) )) digitalWrite(PUMP_PIN, LOW);
if(digitalRead(4) && (!digitalRead(3) || !digitalRead(5) )) digitalWrite(PUMP_PIN, LOW);
if(digitalRead(5) && (!digitalRead(3) || !digitalRead(4) )) digitalWrite(PUMP_PIN, LOW);
digitalWrite(PUMP_PIN, LOW); // закрываем заданный клапан
}
Не, так дело не пойдёт. Описывайте подробно какой датчик, как изменяется напряжение на выходе в зависимости от влажности, какие модули реле... Попытайтесь сами поправить скетч и тогда будем смотреть...
Не, так дело не пойдёт. Описывайте подробно какой датчик, как изменяется напряжение на выходе в зависимости от влажности, какие модули реле... Попытайтесь сами поправить скетч и тогда будем смотреть...
Вот так вот выглядит вся моя система. если почва влажная то релле отключаеться, но вместе с ним отключаеться и насос (даже если другие датчики говорят что сухо. если на всех датчиках сухо то насос включен, если хоть на одном любом влажно то насос выключен)
Sim, скоро серьёзные парни над нами начнут прикалываться...
По алгоритму понятно, только я бы поставил клапан на каждую зону и поливал где сухо.
Монтажная схема, что на фото мне не нужна.
Pyotr пишет:
Описывайте подробно какой датчик, как изменяется напряжение на выходе в зависимости от влажности, какие модули реле... Попытайтесь сами поправить скетч и тогда будем смотреть...
Реле на модуле включается при подаче на вход "1" или "0"??? Своими словами или ссылку на схему модуля.
При увеличении влажности почвы напряжение на выходе модуля датчика влажности увеличивается или уменьшается?? Своими словами или ссылку на схему модуля.
Ну если своими словами то при подаже - (gnd) релле включаеться. Если выводить значения влажности почвы то когда датчики не воткнуты в землю значения показывают около 1000(+- ) при замыкание или (втыканию их впочву ) значения уменьшаються. вы это имелли в виду?
Нужно изменить самую малость скетч из поста #443. строка 25
Подсказка http://arduino.ru/Reference/Boolean
Вам нужно самому над этим подумать, полезно для будущего. Показывайте что получилось.
измерительный сигнал нужно подавать двуполярный - синусоиду. Тогда датчик будет великолепно себя вести и не будет столь сильно деградировать. А так вы сделали ему "травилку" постоянным током = вот он у вас и вытавился.
Если не боитесь 220 вольт - то рекомендую проверенную годами вещь - электроклапан от стиральной машины...
Найти их за копейки можно в любом городе, достаточно найти тех, кто стиралки на запчасти распродает... Я за 300 рублей купил 4клапанный от Brandt - 4Wx180, с запиткой через реле
Из своего опыта выращивания томатов - их достаточно поливать по таймеру раз в неделю. Главное не лить воду сверху.
У меня в грядке, на глубине 15см, проложена ПП труба с маленьким отверстиями. Клапан открывает подачу воды на время, соответствующее "жаркости" воздуха вне парника. И этого достаточно. А ежели сверху почва замульчирована, то и "жаркостью" можно не интересоваться. Еще надо учесть, что вода постепенно забивает солями всяческие капельные трубочки. Они непрактичны без водоподготовки. А измерение влажности электродами в парнике считаю извращением - это чистые понты. Все это уже проходил:
www.forumhouse.ru/useralbums/9440/view
никаких понтов. Очень удобно. У меня, например, участок с приличным южным склоном. Подпочвенные воды очень сильно влияют на влажность почвы внутри теплицы.
С таймером мне пришлось бы играться после каждого дождика.
а так - подсмотрел удачную конструкцию http://we.easyelectronics.ru/antonluba/prostoy-datchik-urovnya-vody-dlya-kolodca.html и на основе этого решения датчик работает вполне прилично.
Если не боитесь 220 вольт - то рекомендую проверенную годами вещь - электроклапан от стиральной машины...
Найти их за копейки можно в любом городе, достаточно найти тех, кто стиралки на запчасти распродает... Я за 300 рублей купил 4клапанный от Brandt - 4Wx180, с запиткой через реле
Эти клапана рассчитаны на высокое давление, когда система на самотёке они бесполезны
Об этом в теме уже писали.
никаких понтов. Очень удобно. У меня, например, участок с приличным южным склоном. Подпочвенные воды очень сильно влияют на влажность почвы внутри теплицы.
С таймером мне пришлось бы играться после каждого дождика.
а так - подсмотрел удачную конструкцию http://we.easyelectronics.ru/antonluba/prostoy-datchik-urovnya-vody-dlya-kolodca.html и на основе этого решения датчик работает вполне прилично.
Согласен, что на открытой и возвышенной грядке влага быстрее накапливается и исчезает, но в парнике этот процесс очень инерционный даже с подпочвенными водами. Так что ритм полива в парнике от дождя мало зависит. Если затяжные дожди можно просто разрывать цепь таймера.
Я контролирую влажность только при выращивании рассады в боксе, потому что у рассады маленькие корни сильно зависят от влажности верхнего слоя почвы. А томат в парнике найдет воду ВСЕГДА-у него корни до 2хметров вглубь. А кондуктометрические датчики уровня это усложненный анахронизм по сравнению с герконом.
та не. Вы неправильно поняли.
Основная идея = датчик работает в переменном токе, полученное выпрямленное напряжение уже можно измерять на АЦП и определять момент включения полива.
Добрый день.
А можно обновленный скеч, с поливом по датчику влажности? и еще подскажите, смотрю схему на первой странице, вижу что в схеме используются сопротивления, а как узнать где и какого номинала использовать? С
Добрый день.
А можно обновленный скеч, с поливом по датчику влажности? и еще подскажите, смотрю схему на первой странице, вижу что в схеме используются сопротивления, а как узнать где и какого номинала использовать? С
Кода пока нет, есть опробованные функции,
В ф-цию boolean drip_irrigation() в качестве аргументов передаём - (вкл или выкл полива, аналоговый пин датчика влажности земли, канал реле, мин влажность земли и макс влажность земли. функция int h_pochva(int ch) берёт аргумент из ф-ции drip_irrigation аналоговый пин.
Резисторы в схеме нужны для подтяжки кнопок и датчиков. Номиналы для кнопок и DHT датчика 10кОм, для DS18b20 4,7кОм
А можете дать часть кода которая работает с датчиками влажности почвы и релле?
Всем привет. Я дома пока пробую вот такой код
датчик временно сделал самодельный из медной проволоки
Лучше нержавейку или нихром, медные быстро скушает. И почитайте по вставке кода
Добрый день. Выложите пожалуйсто фотки как шток закреплен, и в каком положении он при закрытом окне и при открытом ну и с далека как выглядит открытое окно. Буду Вам очень благодарен.
Просто поставил себе цепной электро редуктор но он намного дороже стоит чем шток.
Добрый день. Выложите пожалуйсто фотки как шток закреплен, и в каком положении он при закрытом окне и при открытом ну и с далека как выглядит открытое окно. Буду Вам очень благодарен.
Просто поставил себе цепной электро редуктор но он намного дороже стоит чем шток.
Шток который держит актуатор? На саморезах по металу вроде ничего сложного... ну если надо фото то сделаю на выходных
Ну на фотке я так вроде расмотрел, сделайте фотки открытого и закрытого окна. А на сколько актуатор высовывается?
Ну на фотке я так вроде расмотрел, сделайте фотки открытого и закрытого окна. А на сколько актуатор высовывается?
Длину высовывания можно регулировать колёсиками(хз как их обозвать=) ) в коробке актуатора, которые нажимают концевые выключатели. Шток актуатора вылазит примерно на 80% длинны
А я вот сейчас подумаыаю только над подобным!
Только совсем не разбираюсь в этом.
Вопросы для опытных банальные, но я даже в руках такие платы не держал.
Хотел бы спросить, что надо приборести для создания следующего "проекта".
Требования:
1)
2 разовый полив в определенное время, посредством открытия клапана, чтоб каждый шланг поливался одинаково. (например в 9.00 и 21.00 - независимо от влажности земли, т.к. датчик влажности установленный в одном месте - не может гарантировать что через 30 см уровень влажности будет такой же)
2)
- Открытие/закрытие 2 форточек по температуре внутри теплицы. Например чтоб при +30 градусах открылись обе форточки, при +25 одна из форточек закрывалась, при +20 закрывалась вторая форточка.
- Включение/отключение кулеров 4 шт.*120 мм на подачу воздуха, и вытягивание. (так кстати можно создать постоянный микроклимат, без открытия форточек, по крайней мере мне так кажется)
Что подскажите? С чего начать?
А кто нибудь пробовал открывать дверь сервой, напримор такой
http://ru.aliexpress.com/item/Servos-Digital-MG996R-Servo-Metal-Gear-for...
Мож кому понравятся мои варианты привода для фрамуг/дверей в теплице..
http://www.greentalk.ru/forum/blog/83/entry-573-sistema-ventilyatcii-dly...
Общий вопрос по открытию дверерй/форточек, а как поступать с ситуацией, когда человек сам заходит в теплицу? Отключать привод? И насколько широко вообще открывать окно?
я планирую, открывать дверь на определенное время по нажатию кнопки (например минуту). как поеду к родителям испытаю в действии. кнопки сделаю две, одна с наружи одна внутри
я планирую, открывать дверь на определенное время по нажатию кнопки (например минуту). как поеду к родителям испытаю в действии. кнопки сделаю две, одна с наружи одна внутри
Минута это мало думаю...тут имел ввиду вопрос о том как работа автоматики будет сказываться на человеке?
Я вижу решение в том чтоб системой рычагов - отталкивать дверь, т.е. толкатель не будет соеденяться жестко с дверью.
Шток вышел - окно открылось, шток зашел - окно закрылось.
Так можно избежать ситуаций - когда дачные гости решат заглянуть посмотреть в теплицу, тем самым вырвав вю автоматику с корнем.
у меня отец приделал двигатели, которые открывали закрывали жалюзи на старой элетростанции. они идеально подошли так как и конечники есть у них, которыми настраиваешь угол открытия, как поеду к ним сфоткую, а так код простенький написал, будем пробовать все соединить вместе, как откатаю все выложу, так что я опка такой вариант для себя придумал, при их исползовании только напряжением откроешь дверь.
[/quote]
Добрый день. Выложите пожалуйсто фотки как шток закреплен, и в каком положении он при закрытом окне и при открытом ну и с далека как выглядит открытое окно. Буду Вам очень благодарен.
Просто поставил себе цепной электро редуктор но он намного дороже стоит чем шток.
[/quote]
Кстати в тему как открывать верхнии форточки, сфоткал на выставке домов у МЕГи:
Ребят помогите немогу разобраться ... Пытаюсь сделать полив по 3 датчикам влажности почвы и 4 релле (1 для включения насоса)
Вот так вот код работает более менее
А вот если вставлять его во весь код то както некорректо... Как правильнее будет написать?
Почему analogRead(2)? Это мы читаем состояние цифрового пина D2, т.е. будет всегда или 0 или 1023.
пин 2 - это насос, остальные клапаны?
"Почему analogRead(2)? Это мы читаем состояние цифрового пина D2" по чему цифрового если analogRead?
Да пин 2 это насос а остальные клапана
Что-то у меня не сходиться всю голову уж сломал(((
Теперь вообще весело) При включение ардуино: включаються все релле(т.к почва сухая датчики не куда не воткнуты ), при замыкание датчиков влажности релле выключаються, но обратно включаеться только релле насоса при размыкание 3 датчика аналогово
Теперь вообще весело) При включение ардуино: включаються все релле(т.к почва сухая датчики не куда не воткнуты ), при замыкание датчиков влажности релле выключаються, но обратно включаеться только релле насоса при размыкание 3 датчика аналогово
По-идее не должно быть такого, т.к. "сухая почва" - это одно значение, а обрыв датчика - это авария и по ней реле включать не нужно. Иначе в результате обрыва - зальете все напрочь.
Даже так не работает((( Может проблемма в 21,22,23 строках?
Клапана выключаються но не включаються
Вот этот код полность работает
Но он по цифровым выходам а мне по аналоговым надо( переделать чтото неполучаеться
Вы после 32-й строчки:
int
soilMoisture = analogRead(sensorPin);
// читаем влажность почвы
вставьте Serial.print(soilMoisture); и посмотрите: меняется ли результат при помещении датчика в сухую и влажную почву. Навскидку - не срабатывает условие для включения клапанов.
Да значения меняться при 200 реле полива выключается, но обратно потом не выключается .
А как сделать разный порог включения реле по влажности для каждого датчика?
Даже так не работает((( Может проблемма в 21,22,23 строках?
Не уверен, но попробуйте в 35 строке digitalWrite(relayPin, HIGH); заменить HIGT на глобальную переменную, например valveState=1; или объявленную внутри функции
void
checkSoil()
static valveState=1;Здравствуйте!
Планирую запустить аналогичную систему.
Одно предложение вместо клапанов можно использовать краны с сервоприводом от системы антипротечек работают надежно, для меня это актуально бочка стоит очень низко.
И вопрос как освоить систему ардуино?
Спасибо!
Не уверен, но попробуйте в 35 строке digitalWrite(relayPin, HIGH); заменить HIGT на глобальную переменную, например valveState=1; или объявленную внутри функции
void
checkSoil()
static valveState=1;Вот так вот?
Набросал такой скетч, может подойдёт. Сам не проверял, но должен работать.
А как сделать разный порог включения реле по влажности для каждого датчика?
Добавить во входных переменных функции checkSoil() третий параметр = "порог срабатывания". :)
void
checkSoil(
byte
sensorPin=2,
byte
valveState=0, int soilTreshold=200)
Я бы еще добавил в код пропуски циклов или задержки на худой конец. Влажность ведь не меняется с частотой 8МГц.
Набросал такой скетч, может подойдёт. Сам не проверял, но должен работать.
Что-то вообще не работает(((
А если в цикле поменять местами условие (i<3) с инкрементом (i++) :)
Код с новой, улучшеной формулой)
Код с новой, улучшеной
Как поменять состояния релле насоса? он вместо того чтобы включиться выключаеться)
return
!(stateValue[0] | stateValue[1] | stateValue[2]);
return
!(stateValue[0] | stateValue[1] | stateValue[2]);
Все равно не то. У меня насос включаеться только после того как на все остальные релле включены. Если хоть одно релле выключено то и насос выключен.
Не, так дело не пойдёт. Описывайте подробно какой датчик, как изменяется напряжение на выходе в зависимости от влажности, какие модули реле... Попытайтесь сами поправить скетч и тогда будем смотреть...
Не, так дело не пойдёт. Описывайте подробно какой датчик, как изменяется напряжение на выходе в зависимости от влажности, какие модули реле... Попытайтесь сами поправить скетч и тогда будем смотреть...
Вот так вот выглядит вся моя система. если почва влажная то релле отключаеться, но вместе с ним отключаеться и насос (даже если другие датчики говорят что сухо. если на всех датчиках сухо то насос включен, если хоть на одном любом влажно то насос выключен)
Sim, скоро серьёзные парни над нами начнут прикалываться...
По алгоритму понятно, только я бы поставил клапан на каждую зону и поливал где сухо.
Монтажная схема, что на фото мне не нужна.
Описывайте подробно какой датчик, как изменяется напряжение на выходе в зависимости от влажности, какие модули реле... Попытайтесь сами поправить скетч и тогда будем смотреть...
Реле на модуле включается при подаче на вход "1" или "0"??? Своими словами или ссылку на схему модуля.
При увеличении влажности почвы напряжение на выходе модуля датчика влажности увеличивается или уменьшается?? Своими словами или ссылку на схему модуля.
Ну если своими словами то при подаже - (gnd) релле включаеться. Если выводить значения влажности почвы то когда датчики не воткнуты в землю значения показывают около 1000(+- ) при замыкание или (втыканию их впочву ) значения уменьшаються. вы это имелли в виду?
Нужно изменить самую малость скетч из поста #443. строка 25
Подсказка http://arduino.ru/Reference/Boolean
Вам нужно самому над этим подумать, полезно для будущего. Показывайте что получилось.