Защита от одновременного нажатия кнопок

bmdrian
Offline
Зарегистрирован: 27.11.2018

Добрый день. Есть прибор на котором находится 7 концевиков на один сигнальный пин, находящиеся чаще всего в нажатом состоянии. Для обработки сигнала с них я использую резистивно-параллельную схему из статьи http://codius.ru/articles/Arduino_Подключение_нескольких_кнопок_к_одному_аналоговому_входу

Если концевики отжаты, то при нажатии нескольких концевиков, срабатывает другой. Можно ли как-то программно защититься от суммирования?

bmdrian
Offline
Зарегистрирован: 27.11.2018

При этом, если нажаты, например, 4 концевика из 7, прибор должен постоянно понимать какие конкретно нажаты.

SLKH
Offline
Зарегистрирован: 17.08.2015

bmdrian пишет:

Добрый день. Есть прибор на котором находится 7 концевиков на один сигнальный пин, находящиеся чаще всего в нажатом состоянии. Для обработки сигнала с них я использую резистивно-параллельную схему из статьи http://codius.ru/articles/Arduino_Подключение_нескольких_кнопок_к_одному_аналоговому_входу

 

  • "- подходит только для малого количества кнопок (до 5) — при включении в схему более 5 кнопок, поведение схемы при одновременном нажатии двух и более кнопок становится непредсказуемым."
bmdrian
Offline
Зарегистрирован: 27.11.2018

Следовательно, программного решения для непредскажуемого поведения не существует?

bmdrian
Offline
Зарегистрирован: 27.11.2018

Изначально планировалось с 50 концевиков подключенных индивидуально к 50 сигнальным пинам на Меге, получать 0 и 1. Потом пришла в голову мысль использовать значения АЦП в качестве значений 0 и 1. Раз большую часть времени концевики зажаты, они должны постоянно мониторить присуствие 1 и реагировать когда пришел 0. Вообще реально ли осуществить через несколько кнопок на АЦП или полюбому вешать по моей схеме на разные сигнальные пины?

Logik
Offline
Зарегистрирован: 05.08.2014

А немножко подучится мысли не было? Ну там форум почитать, посмотреть чужие проги..

Logik
Offline
Зарегистрирован: 05.08.2014

bmdrian пишет:

Следовательно, программного решения для непредскажуемого поведения не существует?

Существование непредсказуемого решения предсказать нельзя.

bmdrian
Offline
Зарегистрирован: 27.11.2018

Logik пишет:

А немножко подучится мысли не было? Ну там форум почитать, посмотреть чужие проги..

ЧСВ покоя не дает?

Я гуманитарий, стараюсь как могу.

b707
Offline
Зарегистрирован: 26.05.2017

bmdrian пишет:

Вообще реально ли осуществить через несколько кнопок на АЦП или полюбому вешать по моей схеме на разные сигнальные пины?

Больше двух-трех вешать на один АЦП нельзя, вышуказанное правило про 5шт относится к случаю, когда одновременно может быть нажато не более двух кнопок. Если могут быть нажаты три и больше - практически единственный вариант - это по входу на датчик.

Чтобы не тратить входы МК, можно использовать мультпрексоры на 8, 16 и более входов - они дешевые и работать с ними не сложно, примеров в сети полно.

 

bmdrian
Offline
Зарегистрирован: 27.11.2018

b707 пишет:

bmdrian пишет:

Вообще реально ли осуществить через несколько кнопок на АЦП или полюбому вешать по моей схеме на разные сигнальные пины?

Больше двух-трех вешать на один АЦП нельзя, вышуказанное правило про 5шт относится к случаю, когда одновременно может быть нажато не более двух кнопок. Если могут быть нажаты три и больше - практически единственный вариант - это по входу на датчик.

Чтобы не тратить входы МК, можно использовать мультпрексоры на 8, 16 и более входов - они дешевые и работать с ними не сложно, примеров в сети полно.

 

Большое спасибо!

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

bmdrian пишет:

Следовательно, программного решения для непредскажуемого поведения не существует?

Ну, почему? Вам правильно посоветовали почитать форум, а Вы напрасно так резко ответили.

Вот в этой теме расписана идея, а вот в этой как раз решается вопрос одновременной нажатости нескольких кнопок. Конкретно решение приводится в постах #3 и #31.

У меня работает уже больше года на улице в мороз и жару.

bmdrian
Offline
Зарегистрирован: 27.11.2018

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

bmdrian пишет:

Следовательно, программного решения для непредскажуемого поведения не существует?

Ну, почему? Вам правильно посоветовали почитать форум, а Вы напрасно так резко ответили.

Вот в этой теме расписана идея, а вот в этой как раз решается вопрос одновременной нажатости нескольких кнопок. Конкретно решение приводится в постах #3 и #31.

У меня работает уже больше года на улице в мороз и жару.

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

b707
Offline
Зарегистрирован: 26.05.2017

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

Вот в этой теме расписана идея, а вот в этой как раз решается вопрос одновременной нажатости нескольких кнопок. Конкретно решение приводится в постах #3 и #31.

Снова порадовался, как же красиво.

Читал это когда-то, но что-то подзабыл.

nik182
Offline
Зарегистрирован: 04.05.2015

Смотрите в сторону ЦАП R-2R. Если обеспечить нормальную защиту от наводок то штук 30 концевиков можно точно разрешить одним АЦП.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

bmdrian пишет:

Logik пишет:

А немножко подучится мысли не было? Ну там форум почитать, посмотреть чужие проги..

ЧСВ покоя не дает?

Я гуманитарий, стараюсь как могу.

Программисты тоже гуманитарии, тоже с языками дело имеют, и главное много пишут И да гуманитории тоже обязаны учится, если чего-то хотят достичь в этой жизни.  Если у вас концевики , то заводите каждый на свою ногу. Мало ног. Организуйте аппаратное рассширение. А организовывать как АПЦ это для игрушек или клавиатуры .

ВН
Offline
Зарегистрирован: 25.02.2016

nik182 пишет:
Смотрите в сторону ЦАП R-2R. Если обеспечить нормальную защиту от наводок то штук 30 концевиков можно точно разрешить одним АЦП.

......

сохранил для истории

bmdrian
Offline
Зарегистрирован: 27.11.2018

ВН пишет:

nik182 пишет:
Смотрите в сторону ЦАП R-2R. Если обеспечить нормальную защиту от наводок то штук 30 концевиков можно точно разрешить одним АЦП.

......

сохранил для истории

Вредный совет? или что вы имеете в виду?

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

bmdrian пишет:
Вредный совет? или что вы имеете в виду?
Ну да идиотский. Что такое электротехника? Это наука о контактах, где они должны быть и главное (!!!) где их не должно быть. Что такое концевик. Это контактная группа. Но в зависимости от качества концевика и его длительности работы сопротивление на замкнутом контакте может меняться вплодь до 10 Ом. Почему делают посеребряные контакты , золотые контакты. У Вас что концевики с золотыми контактами, по грамму золота на контакт ? 

bmdrian
Offline
Зарегистрирован: 27.11.2018

qwone пишет:

bmdrian пишет:
Вредный совет? или что вы имеете в виду?
Ну да идиотский. Что такое электротехника? Это наука о контактах, где они должны быть и главное (!!!) где их не должно быть. Что такое концевик. Это контактная группа. Но в зависимости от качества концевика и его длительности работы сопротивление на замкнутом контакте может меняться вплодь до 10 Ом. Почему делают посеребряные контакты , золотые контакты. У Вас что концевики с золотыми контактами, по грамму золота на контакт ? 

Нет, банальный геркон

ВН
Offline
Зарегистрирован: 25.02.2016

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

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

bmdrian пишет:
Нет, банальный геркон
Герконы дрянь еще та. Поэтому от нее давно отказываются. В ноуте найдете геркон?

bmdrian
Offline
Зарегистрирован: 27.11.2018

qwone пишет:

bmdrian пишет:
Нет, банальный геркон
Герконы дрянь еще та. Поэтому от нее давно отказываются. В ноуте найдете геркон?

В ОПСе найду

sadman41
Offline
Зарегистрирован: 19.10.2016

А в супе найдете геркон? Вот то-то же! Дрянь - даже жрать невозможно

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

nik182 пишет:
Смотрите в сторону ЦАП R-2R. Если обеспечить нормальную защиту от наводок то штук 30 концевиков можно точно разрешить одним АЦП.

Это сильно!

Поделитесь, какой АЦП побираетесь использовать для различения миллиарда с копейками различных состояний?

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

nik182 пишет:
штук 30 концевиков можно точно разрешить одним АЦП.

Если Вы про АЦП, который ATmega-х стоит, то 7 (почему, объясняется по ссылке, что выше давал), а если Вы знаете какой-то другой АЦП, способный выделять 230=1073741824 состояний, то раскройте секрет, что за АЦП такой

nik182
Offline
Зарегистрирован: 04.05.2015

Да сколько угодно. Одно ацп наны с 6 мультиплексированными каналами. Одна нана. 30 концевиков. За 200мкс можно получить состояние всех 30.   

bwn
Offline
Зарегистрирован: 25.08.2014

Не наю, по мне, так расширитель, который прерывание дергать умеет. ИМХО.