Проверка входа

roga13
Offline
Зарегистрирован: 22.06.2016

Привет народ.

Такая проблема, никак не могу сделать так что бы ардуино(Uno) проверяло работает ли лампочка(светодиот отдельно работающий от батареи например), если да то светодиод поключенный к нему(ардуино) не работает, а если не работает то он горит(светодиод подключенный к ардуино). Типа как чек в машине...

roga13
Offline
Зарегистрирован: 22.06.2016

Была идея проверки отдельного входа на сигнал но так и не получилось да и мануала что то не нашел на подобие этого

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Т.е. нужно именно проверять факт свечения лампочки? Если например, на неё подаётся напряжение, а она не горит (перегорела или её вообще стырили), то это должно расцениваться как "не работает". Так? Или я что-то недопонял? О какой лампочке идёт речь? В смысле какой там ток (только не пишите. что постоянный - про батарейку я заметил, сила тока интересует).

gena
Offline
Зарегистрирован: 04.11.2012

  Что Вы понимаете под словом "работает": есть напряжение или есть таки свечение? В первом случае достаточно измерять напряжение на светодиоде (или его цепи). Во втором случае нужно использовать оптодатчик.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

gena пишет:

оптодатчик.

Да, ладно, зачем такие сложности? Достаточно удостовериться, что ток ненулевой. Например, снимать с токоорганичивающего резистора напряжение. Но это хорошо для светодиода, а для лампочки - непонятно, какой у неё самой ток. Вот жду ответа от ТС.

gena
Offline
Зарегистрирован: 04.11.2012

  Поди знай, что там ТС делает. Может нужна сверхнадёжность (безопасность, жизнеобеспечение).

m-zzz
Offline
Зарегистрирован: 30.05.2015

Цитата:

Достаточно удостовериться, что ток ненулевой. 

Или проводка давно сгнила, лампочки нет и в помине, а изоляция "течет".... Тоже ток не нулевой будет..

И поди угадай, чего там произошло вообще.

Цитата:

Может нужна сверхнадежность

Если уж ТС твердо вознамерился собрать дома Главный Пульт Управления Реактором, то только обратная связь по оптоприемнику(свечение лампы), по общему току потребления лампы (превышение нагрузки, КЗ, использование лампы отличающейся от указанной в тех.документации и прочие ужасные неисправности), ну и еще что нибудь можно придумать, если спокойно не сидится.. Можно по симметрии токов утечки выявлять.. нет пределов рукоблудию))
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

m-zzz пишет:

Или проводка давно сгнила, лампочки нет и в помине, а изоляция "течет".... Тоже ток не нулевой будет..

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

m-zzz пишет:

Можно по симметрии токов утечки выявлять.. нет пределов рукоблудию))

Эт точно! УЗО туда запихать!

 

 

gena
Offline
Зарегистрирован: 04.11.2012

  Топикстартер, где Вы там запропали? Народ заждался  "продолжения банкета".

roga13
Offline
Зарегистрирован: 22.06.2016

ЕвгенийП пишет:

Т.е. нужно именно проверять факт свечения лампочки? Если например, на неё подаётся напряжение, а она не горит (перегорела или её вообще стырили), то это должно расцениваться как "не работает". Так? Или я что-то недопонял? О какой лампочке идёт речь? В смысле какой там ток (только не пишите. что постоянный - про батарейку я заметил, сила тока интересует).

да проверять наличие напряжения, если оно на входе есть то ничего не происходит, а если нетуу то загораеться светодиод. проверка наличие горит ли сама лампочка как то уж сложновато и сам не знаю как это омжет реалиоваться. какой ток... простой светодиод на 3-5 вольт 

roga13
Offline
Зарегистрирован: 22.06.2016

gena пишет:

  Что Вы понимаете под словом "работает": есть напряжение или есть таки свечение? В первом случае достаточно измерять напряжение на светодиоде (или его цепи). Во втором случае нужно использовать оптодатчик.

напряжение, на счет свечения это уже как то сложно

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

roga13 пишет:

да проверять наличие напряжения, если оно на входе есть то ничего не происходит, а если нетуу то загораеться светодиод. проверка наличие горит ли сама лампочка как то уж сложновато и сам не знаю как это омжет реалиоваться. какой ток... простой светодиод на 3-5 вольт 

Так значит именно светодиод? Не лампочка?

Тогда без проблем проверить именно факт работы светодиода, а не просто наличия напряжения, например, если Вы убрали светодиод, а напряжение есть - всё равно ардуина определит что он не светится. Это не трудно. Ничуть не труднее, чем проверить факт наличия напряжения.

Поэтому пожалуйста ответьте окончательно. Что мы проверяем? Факт наличия напряжения или факт работы светодиода (то, что это напржение кто-то потребляет)? Ответьте чётко и ясно и я дам Вам схему.

Хорошо бы ещё знать каково питание светодиода (оно же отдельное от Ардуины, Вы писали?). Вы говорили про батарею. Сколько вольт батарея? Это нужно для расчёта резистора.

roga13
Offline
Зарегистрирован: 22.06.2016

ЕвгенийП пишет:

Так значит именно светодиод? Не лампочка?

Тогад без проблем проверить именно факт работы светодиода, а не просто наличия напряжения, например, если Вы убрали светодиод, а напряжение есть - всё равно ардуина определит что он не светится. Это не трудно. Ничуть не труднее, чем проверить факт наличия напряжения.

Поэтому пожалуйста ответьте окончательно. Что мы проверяем? Факт наличия напряжения или факт работы светодиода (то, что это напржение кто-то потребляет)? Ответьте чётко и ясно и я дам Вам схему.

Хорошо бы ещё знать каково питание светодиода (оно же отдельное от Ардуины, Вы писали?). Вы говорили про батарею. Сколько вольт батарея? Это нужно для расчёта резистора.

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Хорошо, сейчас нарисую схему. далеко не уходите, посмотрите пока порно руководство по программированию Ардуино :)))

roga13
Offline
Зарегистрирован: 22.06.2016

ЕвгенийП пишет:

Хорошо, сейчас нарисую схему. далеко не уходите, посмотрите пока порно руководство по программированию Ардуино :)))

да я тут)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так, значит ардуина питается отдельно (я написал 12В, но это неважно, там важно только,то, что землю питания ардуины и светодиона надо вместе соединить). Светодиод питается от 5В.

Вот схема. Резистор можно больше, но меньше не надо. Чем больше резистор, тем экономичнее, но светодиод может светиться менее ярко.

С аналогового пина читайте функцией analogRead. Если светодиода нет или он перегорел, а также если нет батареи или она сдохла окончательно там будет 0.

Если светодиод горит нормально, там будет что-то не меньше 400, скорее от 450.

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

roga13
Offline
Зарегистрирован: 22.06.2016

ЕвгенийП пишет:

Так, значит ардуина питается отдельно (я написал 12В, но это неважно, там важно только,то, что землю питания ардуины и светодиона надо вместе соединить). Светодиод питается от 5В.

Вот схема. Резистор можно больше, но меньше не надо. Чем больше резистор, тем экономичнее, но светодиод может светиться менее ярко.

С аналогового пина читайте функцией analogRead. Если светодиода нет или он перегорел, а также если нет батареи или она сдохла окончательно там будет 0.

Если светодиод горит нормально, там будет что-то не меньше 400, скорее от 450.

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

спасибо, щас попробуем 

gena
Offline
Зарегистрирован: 04.11.2012

  А вообще обязательно здесь применять ардуину? Можно ведь и без неё.

roga13
Offline
Зарегистрирован: 22.06.2016

gena пишет:

  А вообще обязательно здесь применять ардуину? Можно ведь и без неё.

да

roga13
Offline
Зарегистрирован: 22.06.2016

ЕвгенийП пишет:

 

С аналогового пина читайте функцией analogRead. Если светодиода нет или он перегорел, а также если нет батареи или она сдохла окончательно там будет 0.

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


int led = 3;  
int pin = A0;
int z = 0;

void setup()
{
  pinMode(led, OUTPUT);  
}

void loop()
{
  z = analogRead(pin);
  if (z <= 0){
    digitalWrite(led, HIGH); 
    delay (500);
    }
    else {
    digitalWrite(led, LOW);
     
    }
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Блин, вот все новички одинаковые - в каждой теме пишу, чего вы все так любите вслепую работать-то? Ну, поставльте Вы после строки 12 вывод Вашего z в Serial - посмотрите что у Вас там, ну намного ж всё понятнее будет! Только ещё delay добавьте, а то она с огромно скоростью сериал засирать будет.

Поставьте вывод. Посмотрите что в нём со светодиодом, что - если его вытащить. Может я ошибяся и там не 400, а 390? Посмотрите и тогда внесите в код те числа, которые Вы видели реально.

А так, зачем Вы мне это написали? Не работает что ли?

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

analogRead(pin) выдает только положительное число, от 0 до 1023.

А у тебя в коде сравниние с отрицательным.

roga13
Offline
Зарегистрирован: 22.06.2016

ЕвгенийП пишет:

Блин, вот все новички одинаковые - в каждой теме пишу, чего вы все так любите вслепую работать-то? Ну, поставльте Вы после строки 12 вывод Вашего z в Serial - посмотрите что у Вас там, ну намного ж всё понятнее будет! Только ещё delay добавьте, а то она с огромно скоростью сериал засирать будет.

Поставьте вывод. Посмотрите что в нём со светодиодом, что - если его вытащить. Может я ошибяся и там не 400, а 390? Посмотрите и тогда внесите в код те числа, которые Вы видели реально.

А так, зачем Вы мне это написали? Не работает что ли?

да вот как раз с кодом парюсь, не понял про Serial

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

roga13 пишет:

да вот как раз с кодом парюсь, не понял про Serial

Чего тут не понимать?

Вы в 12 строке z ввели?

А не хотите посмотреть что ввелось?

Ну так поставьте после неё

Serial.println(z);

В монитор порта будет выведено число, которое Вы ввели, хоть посмотрите на него.

roga13
Offline
Зарегистрирован: 22.06.2016

а... println...