Как получить импульс с датчика расхода воды?

axill
Offline
Зарегистрирован: 05.09.2011

Хочу сделать счетчик расхода воды от штатных импульсных датчиков Valtec. Судя по паспорту в них стоит геркон зашунтированный сопротивлением. Подключаю один провод к нулю, второй подвешиваю к +5в через сопротивление 1к и пытаюсь уловить импульс осцилографом между двумя выводами датчика. Ноль, никаких испульсов, хотя в паспорте написано, что должно быть один импульс на 10л воды.

Что не так делаю?

ourlive
Offline
Зарегистрирован: 26.05.2012

1. вы не правильно спрашиваете. в попросе ни одной ссылки на описания/картинки

2. какими бы штатными устройства ни были, но у них есть марка/модель и другие характеристики

в общем моей телепатии не хватило, что бы понять "а не подсоединяете ли вы утюг в телефонную розетку?"..

axill
Offline
Зарегистрирован: 05.09.2011

Не соглашусь с вашими замечаниями. Valtec имеет всего одну модель светчика расхода воды с импульсным выходом. Вот ссылка на его паспорт valtec.ru/document/technical/passport-water-meter-modification.pdf

Мне казалось схема, которую я использую, настолько проста, что достаточно словесного описания. Разве нет? Тем не менее дал бы картиинку, но негде сейчас в моменте ее сверстать. Попробую еще раз

  • У датчика два провода, они хоть и имеют цветную маркировку, но по идее не должны иметь полярность. Это подтверждает паспорт счетчика и пробы тестером в режиме проверки диодов - от перекидывания проводов показания не изменяются. Омметр показывает примерно 5.6к сопротивление между двумя проводами на выходе счетчика. Показания в режиме омметра тоже от подключения не зависят
  • Беру источник постоянного напряжения +5в (лабораторный блок питания)
  • Один провод датчика цепляю к нулю
  • Второй через сопротивление 1к цепляю к +5в
  • осциллограф подключаю параллельно проводам датчика.

По моей логике так как в счетчике должен быть геркон, по сути кнопка, которая будет замыкать подвешенный на +5в через резистор вход осциллографа, то я должен увидеть импульсы по переходу напряжения из +5в в ноль и обратно. Пробовал смотреть с при разных настройках шкалы X (время) и Y (напряжение), но нет импульса, стабильно +5в. Понятное дело воду на время измерения включал )) Счетчик крутился, но импульсов нет

Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

В паспорте на счетчик есть картинка вот такая:

 

 

 

 

 

Судя по ней из счетчика выходит четыре вывода. К каким именно выводам вы подключаете +5в через резистор?

axill
Offline
Зарегистрирован: 05.09.2011

В этой части паспорт несколько не сходится с реальностью, так как из счетчика выходят всего два провода, белый и толи серый толи синий. Возможно четыре контакта есть внутри, под пломбой в корпусе, а выведены только два. Судя по тому, что между контактами есть сопротивление - выведен точно не релейный вариант, а видимо NAMUR, но цветовая маркировка тогда тоже не совпадает.

Тем не менее как-то оно должно работать?) Счетчики новыми куплены в магазине и провода подсоеденены так еще на заводе и никто их не трогал

Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

Тогда попробуйте к этим двум проводам подключить тестер в режиме измерения сопротивлений. Открывайте кран и следите за сопротивлением, как вы говорите оно 5.6 ком. Если через 10 литров сопротивление не изменится тогда... в магазин идите, пусть объясняют как надо правильно подключать.

axill
Offline
Зарегистрирован: 05.09.2011

 И что я увижу на вольтметре?) там же короткий импульс. Я именно для этого и использую осциллограф.

В магазине (леруамерлен) мне ничем не помогут ;) да и подключение этих датчиков предполагается только к общедомовым системам учета, а не к самоделкам типа моей

Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

А насколько он короткий? Уж не меньше секунды наверно.

В паспорте написано: 6.5. Датчик выдает один полный импульс при прохождении 10 л жидкости. Думаю это значит, что сопротивление меняется через 10 литров с 5.6 ком на какое то другое, потом еще через 10 литров обратно на 5.6 ком. Хотя утверждать не буду.

ourlive
Offline
Зарегистрирован: 26.05.2012

Датчик выдает один полный импульс при прохождении 10 л жидкости.

что то мне кажется, что один полный импульс длится все 10 литров. там стоит геркон, соответственно не стоит ожидать от него короткого импульса, а нужно ожидать замыкания и размыкания. делается это тестером в режиме Омметра, лучше с пищалкой.

стоит механический счётчик, на его валу вращается магнит. магнит проходит мимо геркона наз в 10 литров. на осцилографе включена стабилизация по постоянному току, и соответственно фронта возникающего раз в минуту (или за сколько у вас эти литры выбегают..) вы просто не видите. но утверждать не буду, не видел я ни осцилографа, ни счётчика.

axill
Offline
Зарегистрирован: 05.09.2011

 Идею понял, попробую. Может тупо повысить сопротивление с 1к до минимум 5.6к или больше?

Возможно нужно строить какую то схему с триггером. Если паспорт не врет, то при разомкнутом герконе между проводами должно быть 10.2к, а при замкнутом сопротивление от двух паралелльно включеных сопротивлений на 5.6к и 10.2к т.е 7.9к. Хотя судя по омметру мой счетчик ни по сопротивлениям ни по выводам точно не совпадает с паспортом. Буду копать

Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

Два параллельно включенных сопротивления 5.6к и 10.2к дадут сопротивление примерно 3.6к.

axill
Offline
Зарегистрирован: 05.09.2011

ourlive пишет:

Датчик выдает один полный импульс при прохождении 10 л жидкости.

что то мне кажется, что один полный импульс длится все 10 литров. там стоит геркон, соответственно не стоит ожидать от него короткого импульса, а нужно ожидать замыкания и размыкания. делается это тестером в режиме Омметра, лучше с пищалкой.

стоит механический счётчик, на его валу вращается магнит. магнит проходит мимо геркона наз в 10 литров. на осцилографе включена стабилизация по постоянному току, и соответственно фронта возникающего раз в минуту (или за сколько у вас эти литры выбегают..) вы просто не видите. но утверждать не буду, не видел я ни осцилографа, ни счётчика.

Принято, опробую. Хотя за день до осциллографа я пытался делать тоже самое с вольтметром, по сути тоже, что с омметром при отсутствии моей схемы подключения, но изменения напряжения не обнаружил. Попробую еще раз. Разрешающая шкала осциллографа начинается с 10сек, маловать для 10л, но с другой стороны по постоянному напряжению осциллограф показывает просто прямую с текущим уровнем напряжения, так что опустить импульс нереально

axill
Offline
Зарегистрирован: 05.09.2011

Evgen пишет:

Два параллельно включенных сопротивления 5.6к и 10.2к дадут сопротивление примерно 3.6к.

И верно, что-то я глупость написал ;)

axill
Offline
Зарегистрирован: 05.09.2011

Эврика! Омметр меняет показания по циклу с 5.6к на 1.5к

Как теперь правильно построить схему подключения микроконтроллера? Желательно при этом еще отслеживать обрыв провода датчика и что важно - датчика нужно подключить два.

Использовать компаратор? Если правильно понимаю, нужна схема которая при сопротивлении скажем 1.5к будет давать логический ноль, а при 5.6к - единицу. Как просто и грамотно сделать?

ourlive
Offline
Зарегистрирован: 26.05.2012

если состояний больше двух, то на аналоговый вход его, с подтяжкой к земле его через резистор. и будет у вас 3 состояния, 1.земля-обрыв, 2. низкий уровень - геркон замкнут. 3. высокий уровень - разомкнут. другой датчик на другой пин аналогично

axill
Offline
Зарегистрирован: 05.09.2011

ourlive пишет:

если состояний больше двух, то на аналоговый вход его, с подтяжкой к земле его через резистор. и будет у вас 3 состояния, 1.земля-обрыв, 2. низкий уровень - геркон замкнут. 3. высокий уровень - разомкнут. другой датчик на другой пин аналогично

правильно понял?

  • подключить к аналоговому входу
  • в программе зафиксировать интервалы значений цифрового преобразования - один интервал для "включено", один для "выключено" и третий для "оборвано"?
axill
Offline
Зарегистрирован: 05.09.2011

На самом деле я так и сделал - заработало. Но осталась одна проблема - мне нужно сделать, чтобы счетчик срабатывал по прерываниям, а аналоговые входы прерываниям не подлежат. Как быть? строить таки схему внешнего определения уровня и заводить ее на вывод 2 млм 3 ардуины, чтобы потом использовать прерывания? Или как вариант прерывания настроить на таймер?

axill
Offline
Зарегистрирован: 05.09.2011

 Кстати вопрос по прерываниям в догонку

Моя ардуина будет еще связываться с умным домом через Xbee, общение с модулем строится через последовательный порт. Т.е. Мне нужно будет инициализировать последовательный порт. Смогу ли я после этого активировать дополнительные прерывания или серийны порвсе "съест"?

Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

Что за дополнительные прерывания? Если вы про INT0 и INT1 то последовательный порт их не съест. Их можно инициализировать вместе. Только надо учитывать, что Serial.print использовать в обработчике прерывания нельзя.

axill
Offline
Зарегистрирован: 05.09.2011

Evgen пишет:

Что за дополнительные прерывания? Если вы про INT0 и INT1 то последовательный порт их не съест. Их можно инициализировать вместе. Только надо учитывать, что Serial.print использовать в обработчике прерывания нельзя.

Спасибо. Да, я про INT0/INT1, если правильно понимаю это пины 2 и 3 ардуины. Если Serial их не трогает - отлично. Мне нужны прерывания для подсчета расхода воды по факту изменения статуса геркона, а Serial нужен для общения с умным домом. Т.е. Serial может жить внутри функции loop, а обработчик прерываний будет только вести подсчет, увеличивая счетчики (холодной и горячей) воды по факту срабатвания прерывания.

Остался вопрос с тем как мне инициировать прерывания от двух счетчиков воды на ардуину. Сейчас я научил ардуину считать расход воды, подключив счетчик на аналоговый вход. В программе в loop смотрю на значение аналогового входа и для диапазона 150-350 считаю (определил опытным путем), что геркон замкнут, для цифры выше 350 - разомкнут. Как только статус геркона меняется - к програмному счетчику прибавляю 10литров.

Аналоговый вход на прерывание повесить невозможно. У меня есть две идеи, прошу меня поправить если что не так:

  1. оставить подключение и алгоритм подсчета как есть сейчас через аналоговый вход, но обработчик вынуть из loop и вставить в обработчик по таймеру, т.е. настроить прерывание по таймеру. Значение геркона меняется каждые 10 литров, тоесть по факту не чаще нескольких раз/десятков раз за минуту. Теоретически при таком подходе пропустить смену статуса геркона невозможо, но тем не менее такая вероятность есть.
  2. счетчики воды подключить к внешним компараторам которые будут генерить 0/1 для ардуины и тогда завести холодную/горячую воду на пины 2 и 3. Настроить на INT0 и INT1 на CHANGE и в обработчике прерываний делать подсчет. Мне этот вариант нравится больше, он как бы гарантированный, разве что увеличивается кол-во компонентов в схеме
Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

Первый вариант проще использовать. Настроить опрос аналогово входа по таймеру, например раз в пять секунд, и все. 10 литров вряд ли быстрее утекут. А во втором варианте надо внешние компораторы городить, схему усложнять. Я бы делал по перврму варианту.

axill
Offline
Зарегистрирован: 05.09.2011

Похвастался я тем, что все заработало ан нет :(

Отладил схему с arduino UNO, начал все перетягивать на arduino FIO и работать счетчик перестал. Теперь счетчик срабатывает на какие-то помехи, а по делу не работает. Ниже схема которую я собрал на макетке. Я по глупости сначала оставил компоратор на +5в, но потом осознал, что FIO питается от 3.3в и пересоединил всю схемку с компаратором на 3.3в - не помогло. Посмотрите своим опытным взглядом, что не хватает? Кстати, может глупость спрошу, у компоратора важно куда +, а куда - подключать? Я когда на уно собрал не запомнил что у меня где было

Счетчик имеет внутри геркон, когда он замкнут то сопротивление между контактами порядка 1.6к, когда разоскнуто - 5.6к. Считать пытаюсь по срабатыванию (CHANGE) прерывания INT0. Точно такая же схема по горячей воде на INT1

Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

>> Теперь счетчик срабатывает на какие-то помехи...

Какой вариант срабатывает на помехи, при чтении аналового входа или с компаратором на INT0?

>> у компоратора важно куда +, а куда - подключать?

Если плюс и минус которые на питание идут то конечно важно.

На вашей схеме, на оба входа компаратора (когда геркон разомкнут) подаются одинаковые напряжения. Вот из-за этого он может скакать туда-сюда. Замените нижнее сопротивление (надо было пронумеровать их) которое подключено к нижнему входу компаратора на 3.5 кОм +-500 Ом.

Вот статья про операционный усилитель (а из него делаются компараторы, триггеры Шмитта и т.д.) настоятельно рекомендуется к прочтению easyelectronics.ru/operacionnyj-usilitel.html

axill
Offline
Зарегистрирован: 05.09.2011

Evgen пишет:
Какой вариант срабатывает на помехи, при чтении аналового входа или с компаратором на INT0?

Помехи возникают в варианте с прерываниями через INT0/INT1

Evgen пишет:
>> у компоратора важно куда +, а куда - подключать?

Если плюс и минус которые на питание идут то конечно важно.

Само собой я не про питание :) Я про входы, они же имеют маркировку +/-, т.е. прямой и инверсный. Имеет значение какой подклбчать к опорному напряжению, а какой к датчику?

Evgen пишет:
На вашей схеме, на оба входа компаратора (когда геркон разомкнут) подаются одинаковые напряжения. Вот из-за этого он может скакать туда-сюда. Замените нижнее сопротивление (надо было пронумеровать их) которое подключено к нижнему входу компаратора на 3.5 кОм +-500 Ом.

Что в этом плохого? Другое название операционного цсилителя - дифференциальный усилитель, т.к. он на выходе отражает разницу между двумя входами с усилением. Если два напряжения одинаковы, то на выходе должен быть ноль, так? Кстати у меня не операционный усилитель, а компаратор LM393, но если честно не понимаю в чем разница межлу операционным усилителем и компаратором. Статьи на радиокоте про операционники читал. Моя первая схема с UNO работала отлично без помех. Что-то мне сдается вся хитрость в правильном подключении прямого и инверсного входа ) Да?

axill
Offline
Зарегистрирован: 05.09.2011

мне кажется я понял где моя ошибка. Когда напряжения на двух входах одинаковы на выходе компаратора будет не ноль, а половина напряжения питания, так? Поэтому опорное напряжение нужно сделать смещенным, чтобы при разомкнутом герконе компаратор смещался или в сторону нуля (если опорное напряжение будет подключено к прямому входу, нижнее сопротивление меньше верхнего) либо в сторону +5в (если опорное напряжение будет подключено к инверсному входу, нижнее так же меньше верхнего). Так?

При замыкании геркона напряжение на входе счетчика должно стать меньше, чем напряжение на опорном входу, тогда гарантировано компаратор даст инверсное занчение на выходе. Значит нижнее опорное сопротивление должно быть меньше 5.6 к чтобы иметь смещение вниз, но больше 1.6к, чтобы при замкнутом герконе был перевес в минус на входе.

Как то так?

Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

>> Если два напряжения одинаковы, то на выходе должен быть ноль, так?

Вот что по этому поводу написано в статье по ссылке выше:

"По идее на выходе должен быть ноль. Но в реальности напряжение НИКОГДА не будет равно нулю. Ведь даже если на один электрон заряд правого перевесит заряд левого, то уже этого достаточно, чтобы на бесконечном усилении вкатить потенциал на выход. И на выходе начнется форменный ад — скачки сигнала то туда, то сюда со скоростью случайных возмущений, наводящихся на входы компаратора."

>> Значит нижнее опорное сопротивление должно быть меньше 5.6 к чтобы иметь смещение вниз, но больше 1.6к, чтобы при замкнутом герконе был перевес в минус на входе.

Все правильно.

axill
Offline
Зарегистрирован: 05.09.2011

Evgen пишет:

Все правильно.

Спасибо, еще пара вопросов.

  1. При переходе на FIO я вместо +5в подключаю +3.3В и больше ничего не трогаю, так?
  2. На некоторых схемах я видел сопротивление от сотни кОм между инверсным входом и выходом, якобы это превращает компаратор в триггер. Оно нужно?
Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

1. Да, должно работать.

2. Точно сказать не могу, я бы ставить не стал.

И еще, на провода которые идут из счетчика (параллельно левому резистору на 5.6кОм) я бы повесил конденсатор на 1-10 микрофарад для устранения возможного дребезга контактов при замыкании/размыкании геркона.

 

axill
Offline
Зарегистрирован: 05.09.2011

Evgen пишет:

И еще, на провода которые идут из счетчика (параллельно левому резистору на 5.6кОм) я бы повесил конденсатор на 1-10 микрофарад для устранения возможного дребезга контактов при замыкании/размыкании геркона.

именно микрофарад? не многовато? обычно ставят какие-нибудь нанофарады

carduino.ru
Offline
Зарегистрирован: 06.12.2011

10мкф это очень много, контроллер импульсы будет пропускать 

Для устранения дребезга ставят 100nf 

Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

>> контроллер импульсы будет пропускать

Ну это вряд ли. Допустим геркон разомкнут, значит кондер (например 10 мкф) заряжен до половины напряжения питания. Дальше геркон замкнулся и конденсатор начинает разряжаться через сопротивление 1.6 кОм по формуле 3*(R*C). Значит на разряд уйдет примерно 3*(1600*0.00001)=0.048 сек. Заряжаться он будет чуть подольше, но все равно меньше секунды.

Я конечно не настаиваю что надо именно 10мкф. ставить, но это как бы с запасом, что дребезга точно не будет.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Вместо первого резистора на 5.6 к (подтягивающий для датчика) нужно поставить 4.7 кОм, параллельно датчику - конденсатор 0.1 мкФ и все будет работать нормально. Нужно избегать равенства напряжений на входах. И ничего смещать по питанию не надо, главное, чтобы компаратор мог работать на 3.3 В

axill
Offline
Зарегистрирован: 05.09.2011

AlexFisher пишет:

Вместо первого резистора на 5.6 к (подтягивающий для датчика) нужно поставить 4.7 кОм, параллельно датчику - конденсатор 0.1 мкФ и все будет работать нормально. Нужно избегать равенства напряжений на входах. И ничего смещать по питанию не надо, главное, чтобы компаратор мог работать на 3.3 В

Спасибо за совет. Вчера сделал как предложил Евгений - поставил нижний резистро на 3ком и все заработало. Конденсатор поставил 0,15мкф правда на осцилографе ничего не меняется - есть большой фон помех, но это думаю временно, у меня стенд подключен к счетчикам воды по витой паре длинной 10м :) Компаратор по даташиту работает чуть ли не с 2 вольт.

Железная часть проекта вчера вся заработала - ардуино FIO с подключенным дисплеем 1602. Будет считать горячую и холодную воду. Кроме этого будет интеграци с умным домом через XBee. В рамках этой интеграции на умном доме будут отражаться показания счетчиков, умный дом будет получать сигнал тревоги от Гидролока и ч умного же дома можно будет принудительно закрять краны на стояке (у Гидролока есть специальный вход).

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

По железу еще из хотелок:

наверно нужно сделать защиту от высокого напряжения по входу датчиков расхода воды - они же без развязки подключены к ардуине. Вот как лучше сделать? Читал про три варианта:

  1. притянуть провод датчика к минусу и плюсу питания двумя диодами 4148 с обратным подключением
  2. подключить паралельно проводам датчика стабилизатор вольт на 5
  3. подключить паралельно проводам датчика TVS (transient voltage suppressors) - не знаю как он верно называется по русски :) но я их несколько штук прикупил

Еще остались не задействоваными все аналоговые входы. Думаю подключить по одному к каждому датчику - можно будет контролировать обрыв провода

 

axill
Offline
Зарегистрирован: 05.09.2011

по поводу защиты входов читал эту статью chipenable.ru/index.php/how-connection/97-esd-protection.html

axill
Offline
Зарегистрирован: 05.09.2011

Еще. Вчера тренировался с програмированием этого своего устройства. Что наблюдал - ардуиона иногда по непонятным причинам перезапускается. Что это? Потом после некоторых итераций по програмированию арудино она не заводится - включаю - не работает. Либо заводится с третьего раза плсде выкл-вкл либо только после итерации повторного програмирования. Что это за напасть?

Вся конструкция сейчас собрана на безспаячной макетной плате, питается от лабораторного источника питания (не шибко дорогой китай из чипдипа).

Evgen
Evgen аватар
Offline
Зарегистрирован: 10.06.2011

>> Вся конструкция сейчас собрана на безспаячной макетной плате

Скорей всего где-то плохой контакт.

axill
Offline
Зарегистрирован: 05.09.2011

Evgen пишет:

>> Вся конструкция сейчас собрана на безспаячной макетной плате

Скорей всего где-то плохой контакт.

Может быть такое, что это некачественный лабораторный БП? Хотя с ардуинами я никаких проблем не имел.

Заметил такую штуку - если к FIO подключить лионную батарейку (на FIO есть специальный разьем) то глюки исчезают, но при этом там схема такая, что при внешнем питании батарейка заряжается, а питание идет извне

Радует то, что вчера почти все что нужно у меня заработало!! Это радует, мне кажется круто получилось. На страничке умного дома отражаются показания счетчиков воды, статус открытия/закрытия кранов на стояке и напряжения на литиевой батарейке. Так же с усмного дома можно закрывать краны на стояке и получать тревогу по протечке. Можно например при отъезде, который мой умный дом автоматически распознает, закрывать все стояки. Само устройство очень компактное и общается без проводов.

directq
Offline
Зарегистрирован: 08.11.2012

Доброго Дня!

Нашел Вашу дискуссию в форуме о подключении счетчиков воды. Хочу попробовать повторить Ваш эксперимент. Но в схемотехнике полный ноль, пытаюсь разбираться...

можете подсказать, какие именно в итоге детали (компаратор, резисторы, кондесатор) были задействованы на выше представленной схеме? и менялась ли сама схема?

Заранее благодарен!

axill
Offline
Зарегистрирован: 05.09.2011

Я попробовал два варианта - 1. опрос по таймеру состояния входов 2. срабатывание по прерыванию по изменению состояния входов.

В итоге остановился на 1-м варианте. Схема ниже

axill
Offline
Зарегистрирован: 05.09.2011

Правда с ардуиной не все у меня хорошо - зависает время от времени. Не хватает нормального сторожевого таймера. К сожалению ардуиновский таймер с бутлоадером ардуины не совместим

directq
Offline
Зарегистрирован: 08.11.2012

axill, спасибо за оперативный ответ. буду пробовать!

можете схему выложить на внешний ресурс, без потери качества. к сожалению - не читаемо...

 

axill
Offline
Зарегистрирован: 05.09.2011

directq пишет:

axill, спасибо за оперативный ответ. буду пробовать!

можете схему выложить на внешний ресурс, без потери качества. к сожалению - не читаемо...

могу попробовать сделать экспорт с большим разрешением, а могу оригинальный протеусовский файл предоставить

там по схеме на словах даже все просто:

- датчик подтянут через сопротивление к плюсу

- далее все это подключено через RC фильтр к аналоговому входу контроллера

в данном методе использован именно аналоговый вход. В программе я опытным путем узнал значения для режима "замкнуто" и "разомкнуто". Далее настроил таймер на срабатывание каждые пол секунды используя http://www.arduino.cc/playground/Main/MsTimer2. При срабатывании проверяется статус - изменился или нет.

с моими датчиками статус меняется каждые 10 литров, это при открытом кране каждые секунд 20 если не реже

так что такая схема отлично работает

directq
Offline
Зарегистрирован: 08.11.2012

axill, 

для меня это все в новинку, поэтому "не кидайте помидорами") если можно дайте исходник,

думаю с программой "proteus" разберусь...

Заранее благодарен!

 

 

leja
Offline
Зарегистрирован: 20.06.2013

Я конечно новичек ,но от ваших схем уши вянут! я подкличил через прерывания и без них очень просто!

тут все расписано прямо в скетче с прерыванием :

//
// светодиод, подключённый к digital pin 13 будет изменять своё 
// состояние при изменении напряжения на digital pin 2
//
//  1 пин со счетчика воды  на +5v ( он белый)
// 3 пин(синий) на землю -  без резистора там он уже есть
// 4 пин(красный) на pin2 ардуина 
// 2 пин (серый) не нужен
int r=0;
int pin = 13;
volatile int x = LOW;
void setup()
{
  pinMode(pin, OUTPUT);              // пин как выход
  attachInterrupt(0, blink,CHANGE ); // привязываем 0-е прерывание к функции blink().
  
//  mode: определяет, когда должно сработать прерывание. Определены следующие константы:
//LOW — вызов прерывания всякий раз, когда на порту низкий уровень напряжения;
//CHANGE – прерывание вызывается при изменении значения на входе;
//RISING – вызов прерывания при изменении уровня напряжения с низкого (LOW) на высокое(HIGH)
//FALLING – вызов прерывания при изменении уровня напряжения с высокого (HIGH) на низкое (LOW)
}
 
void loop() 
{
  digitalWrite(pin, x);// выводим х
   
}
 
void blink()
{
    
  x = !x;  // меняем значение на противоположное
 r=r++;
}
axill
Offline
Зарегистрирован: 05.09.2011

leja пишет:

Я конечно новичек ,но от ваших схем уши вянут! я подкличил через прерывания и без них очень просто!

уши вянут от схем, а руки пишут программы - рассогласование между головой и руками или путаница с в терминах?

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

leja
Offline
Зарегистрирован: 20.06.2013

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

лишнии импульсы появляються когда в один удлинитель  с ардуином включен например холодильник :) и когда включаеться компрессор холодильника они появляються

возможно этого можно иэбежать если поставить стабилизатор напряжения или запитать арду от аккумулятора

skysilver
Offline
Зарегистрирован: 23.01.2014

Уважаемый, axill, не могли бы Вы поделиться скетчем? У самого опыта в программировании мало, но адаптировать готовый скетч под свои реалии познаний хватит.

Андрей01
Offline
Зарегистрирован: 04.11.2013

Я в шоке, честно, таким извратом я даже заниматься не буду, есть веть готовые отработанные модули, есть кое какие решения по увязке всего этого в систему "дур дом". Помните - ардуина нерасчитывалась для использования в кое каких областях!! У меня воду считает не прошедший гос поверку 4-х канальный прибор учёта тепла, сливаю архив с него по модэму, обратной связи нет, что исключает взлом,  при отъезде есть режим в приборе - нештатная ситуация с отправкой смс на номер. Я доволен, питание прибора от батарейки которой хватает более чем на 5 лет. Смотрите шире всегда! И пытайтесь реже использовать дуину для дома, помите скупой платит дважды.

Андрей01
Offline
Зарегистрирован: 04.11.2013

Добавлю - этот пример решения узкой задачи для новичков самое то, но для дома я такое неипользую.

 

axill
Offline
Зарегистрирован: 05.09.2011

Андрей01, не нервничайте, все хорошо

вы про какой конкретно модуль? название или ссылку пожалуйста

Sirocco
Offline
Зарегистрирован: 28.09.2013

Андрей01,  ещё есть инжениринговые компании, которые напишут с ваших слов ТЗ, разработают проект, всё сделают, настроят, согласуют с ссоответствующими службами, будете готовым пользоваться. А если и это изврат, то ещё есть возможность нанять служанку или управляющего, он будет вам в устной или письменной форме генерировать отчёты, хоть с графиками, хоть с презентациями. А ещё... 

Тут всех объединяют общие интересы - сделать что-то руками, добиться результата, получить кайф от решения поставленной самому себе задачи, перепрыгнуть планку, и стремиться к новым горизонтам. Это - ХОББИ, уважаемый. А для тех, кому это не в радость, не нужно этим заниматься.