Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

ckret
2018-05-05 08:54:12

Спасибо за подсказки. Вроде нашел решение с помощью оптрона, получилось независимые друг от друга устройства.

Green
2018-05-04 15:28:39
uint16_t time;
bool buzzer;

if (digitalRead(BUZZER)) {
  time = millis();
  buzzer = true;
}
if ((uint16_t)millis() - time >= TIMEOUT)
  buzzer = false;
renoshnik
2018-05-04 14:55:48
LynX пише:
renoshnik пише:

Это будет идеальным вариантом в том случае если после срабатывания у вас предусмотрено РУЧНОЕ отключение (тогда тут вообще МК не нужен). В противном случае, после каждой единички приходит ноль и ваш МК просто будет "колбасить"

WAT? Колбасить будет программу, а не МК, и только в случае если ее писал плохой программист. Если не будет сбоев по питанию нормальный программист обработает любой сигнал на входе, хоть такой.

Если коротко: отработали сигнализацию, а дальше игнорируем все показания до наступления определенного события. (Истечения времени, одних нулей на протяжении некоторого времени или д.р.)

Если коротко, то я как раз об этом и спрашивал - есть ли вариант обработки сигнала ?

Green
2018-05-04 14:49:24

Извиняюсь. Я увидел только картинку с 1 ком.)
Да, никакие определители частоты тут не нужны.

LynX
2018-05-04 14:46:21

При 12В? Если резисторы по 10к получаем ограничение тока до 0.6мА.
Но я писал

в идеале нужно измерить уровни сигналов, и привести к виду [0-3.3V]

Мой вариант в первую очередь не требует никаких определителей частоты.

Green
2018-05-04 13:55:56

Так пищалка то неизвестная. Мож на неё +12 подаётся. И как тогда себя будет чувствовать ваш вариант? Нужно либо название прочесть, либо схему срисовать, либо измерить хотя бы тестером. A не можете сами - попросите того кто разбирается.

LynX
2018-05-04 13:19:12
ckret пише:

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

Если МК и пищалка электрически развязаны то один контакт на землю, второй на вход, оба через резисторы, скажем 1-100к.
tmp.1525428708.png
Хотя в идеале нужно измерить уровни сигналов, и привести к виду [0-3.3V] чтобы не было зашкаливания, но как мне кажется, можно через резисторы которые ограничат ток и можно подать зашкаливающий.

renoshnik пише:

Это будет идеальным вариантом в том случае если после срабатывания у вас предусмотрено РУЧНОЕ отключение (тогда тут вообще МК не нужен). В противном случае, после каждой единички приходит ноль и ваш МК просто будет "колбасить"

WAT? Колбасить будет программу, а не МК, и только в случае если ее писал плохой программист. Если не будет сбоев по питанию нормальный программист обработает любой сигнал на входе, хоть такой.

Если коротко: отработали сигнализацию, а дальше игнорируем все показания до наступления определенного события. (Истечения времени, одних нулей на протяжении некоторого времени или д.р.)



P.S. По картинке не определить есть ли там генератор или нет. Мой вариант будет одинаково работать в обоих случаях.

ckret
2018-05-04 12:59:32
renoshnik пише:

и?

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

renoshnik
2018-05-04 12:53:53
ckret
2018-05-04 12:07:16

elektronika-nest.jpg

renoshnik
2018-05-04 11:52:06
ckret пише:
LynX пише:

Зачем определять или фильтровать частоту? Подключите напрямую через резистор и проверьте скорее всего при срабатывании звука будут появляться единички. Какая разница сколько их и с какой частотой? Дальше можно программно:

while(PIN==LOW)
;
Signalization();
delay(10000);

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

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

Это будет идеальным вариантом в том случае если после срабатывания у вас предусмотрено РУЧНОЕ отключение (тогда тут вообще МК не нужен).
В противном случае, после каждой единички приходит ноль и ваш МК просто будет "колбасить"...  (уже это проходили)...
Либо писать алгоритм фильтрации сигнала о чем я выше говорил...

Кстати вы определитесь с вашей пищалкой, может В НЕЙ стоит генератор и на вход подается постоянное напряжение, а мы тут разводим теорию ...  wink

ckret
2018-05-04 11:19:26
LynX пише:

Зачем определять или фильтровать частоту? Подключите напрямую через резистор и проверьте скорее всего при срабатывании звука будут появляться единички. Какая разница сколько их и с какой частотой? Дальше можно программно:

while(PIN==LOW)
;
Signalization();
delay(10000);

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

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

LynX
2018-05-04 10:29:40

Зачем определять или фильтровать частоту? Подключите напрямую через резистор и проверьте скорее всего при срабатывании звука будут появляться единички. Какая разница сколько их и с какой частотой? Дальше можно программно:

while(PIN==LOW)
;
Signalization();
delay(10000);

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

NoName
2018-05-04 10:15:14

см
Gall
Jul 7 2006, 07:01
Возможные решения:

1) Простой компаратор с порогом. Недостаток автору известен...
2) Компаратор со стабилизированным порогом (предложенная выше схема). Точность повыше, но тоже плавает.
3) Триггер Шмитта. Точность плавает.
4) ФАПЧ (напр. на 1561ГГ1). Фаза может плавать, форма меандра идеальна.
5) Делитель частоты на 2. Идеальное решение, но требует другого кварца.

но обычное "ардуино"  не уверен что имеет 5 линий прерываний,   у них только ATSAM начали нормально получатся.
вам нужен 5 канальній измеритель частоты.

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

ckret
2018-05-04 09:17:25

Может я не точно описал задачу. В общем есть 5 инкубационных шкафов, в которых при отклонении от режима работы подаётся сигнал на speaker, как в системнике, по 2м проводам. Задача чтоб ардуино поняла, когда подаётся сигнал на эти провода.

Підвал форуму