Свежие обсуждения
Микроконтроллеры

3 ноги -9 кнопок

1 3

Пришла такая мысль, в целях экономии. Как думаете-будет работать? Понятно, первыми надо опрашивать S1-3.
Я подобным образом двухцв. светодиодами светил шимно. Идея с резисторами и АЦП мне не нравится.

 

Не будет работать. Для опроса каждую ногу надо подтягивать один раз к "+" питания, другой к общему проводу. Если только добавить ещё 3 резистора подтягивающих к общему проводу с сопротивлением много большим чем у внутренних подтягивающих резисторов.

 

SAK: Для опроса каждую ногу надо подтягивать один раз к "+" питания, другой к общему проводу. Если только добавить ещё 3 резистора подтягивающих к общему проводу с сопротивлением много большим чем у внутренних подтягивающих резисторов.
К (+) не надо, только через внутренний резистор , ну и к "0", а в чем проблема?
А вот зачем 3 внешних резистора , я не понял.

 

А в Вашем контроллере есть внутренний резистор подтягивающий к "0"? Тогда конечно будет работать.

 

SAK: А в Вашем контроллере есть внутренний резистор подтягивающий к "0"?
Нет. Но я непонял: зачем он? Используем три состояния:
1) на выводе "1" через резистор к + (опрашиваемый в данный момент вывод)
2 на выводе "0" -"земля"
3) на выводе "Z"

 

По-моему все будет нормально работать! Я эту схему понял так: Сначала опрашиваются S1 - S3. Потом, последовательно каждый вывод конфигурируется выходом с 0 состоянием и опрашиваются оставшиеся два вывода.
Тоже не понял, зачем к 0 подтягивать?

 

Zandy: Тоже не понял, зачем к 0 подтягивать?
Типа , некоторая "стандартность" мышления : если диод наоборот нарисован, то и подтягивать его надо к нулю.
Слегка смущают эти S1 - S3, они влюбой момент могут все испортить, значит проверять их надо и до, и после.В принципе ,"игра аккордами" не предусматривалась.

 

Alexey: Но я непонял: зачем он?
Тогда объясните мне как определить нажатие кнопок S4, S6, S8.

PS. Теперь понял. Их всегда к "+" подтягивать надо.

 

SAK: Тогда объясните мне как определить нажатие кнопок S4, S6, S8.
S4 в момент опроса на первом (сверху ) выводе МК "0" , на втором- "1" через подт. резистор. "Читаем" второй вывод.

 

Ну да, я уже написал, что понял алгоритм опроса.