Несколько кнопок и спящий режим
- Войдите на сайт для отправки комментариев
Чт, 29/09/2016 - 15:15
Допустим есть 4 кнопки, и хочется "будить" arduino по прерыванию (преравания в uno всего 2), однако после просыпания, определать какая кнопка нажата, как это можно сделать?
Второе прерывание будет занято...
Ну, это можно сделать 100500 способами.
Более или менее грамотный - оставить в покое прерывания INT0 и INT1 о которых Вы говорите, а сделать пробуждение по именению нужных пинов (на которые кнопки заведены). Это не потребует никаокй дополнительной обвязки, но эту технику IDE напрямую не поддерживает, т.е. надо полезть в регистры ручками.
Если же Вас это смущает, можно соединить все пины на которых сидат кнопки с пином прерывания через диодную развязку (просто поставить диоды, чтобы пины друг на друга не влияли.
C диодами так?
Ну, если Вы не забудете притянуть пины кнопок к питанию и если я не путаю анод с катодом, то, примерно так. Лучше бы принципиальную схему смотреть.
На вскидку, я бы пин прерывания тоже подтянул к питанию а диоды перевернул.
На вскидку, я бы пин прерывания тоже подтянул к питанию а диоды перевернул.
Согласен абсолютно, не написал про это как-то на автомате - всегда это делаю и типа "очевидно же" :)
Ну я просто собизался использовать встроенный PULLUP
Это пожалуйста. Главное притянуть, а уж как Вы притянете - дело Ваше.