Вопрос по аппаратным прерываниям при работе с клавой

Тема в разделе "Arduino & Shields", создана пользователем SuperMuh, 24 сен 2015.

  1. SuperMuh

    SuperMuh Нуб

    Доброго вечера!
    Никак не возьму в толк как можно реализовать аппаратное прерывание для работы с матричной клавой...
    Клаву подключил по одному проводу на аналоговый вход (нашел сей элегантный способ тут: https://brainy-bits.com/tutorials/arduino-keypad-with-1-pin/ )
    Работает отменно, подключил дисплей Нокиа 3310, но не суть...

    Теперь встал вопрос: как реализовать прерывание так, чтобы функция прерывания вызывалась при нажатии на клаву. Все бы ничего, но клава должна быть зацеплена в моем случае на АНАЛОГОВЫЙ вход, а аппаратное прерывание на UNO стоит на 2 и 3 ЦИФРОВОМ пине.
     
  2. AlexU

    AlexU Гуру

    На практике не пробовал, но в теории аппаратные прерывания поддерживаются всеми пинами Arduino UNO.
    Копайте в сторону PCINTx (Pin Change INTerrupt). Вроде как PCINT2 обслуживает аналоговые пины, но, для получения более точной информации, нужно изучить документацию к контроллеру ATmega328P.
     
    SuperMuh нравится это.
  3. SuperMuh

    SuperMuh Нуб

    Спасибо, буду ковырять в том направлении)
     
  4. DrProg

    DrProg Вечный нерд

    Зафигачить компаратор в параллели с аналоговым входом, который бы выдавал HIGH в случае нажатия кнопки.
     
    ИгорьК нравится это.