Здравствуйте. Извиняюсь, если плохо искал или неправильно формулирую вопрос. Пытаюсь (следуя разным публикациям) сделать прерывания по кнопке (на 2 и 3 пине). Но они у меня срабатывают даже при касании проводов, идущих к кнопкам (если ничего не трогаешь - как положено прерываний нет). Пробовал все режимы срабатывания: LOW, FALLING, RISING, FALLING. Почему такая большая чувствительность?
Подтяжка нужна ! Человек - большая антенна !!!
А внутренняя не подходит?
Попробуйте …
Так я пробовал с ней… Внешнюю пробовать. И какой режим лучше использовать?
А зачем вам кнопка с прерыванием?
Спрашиваю потому, что новички часто уповают на прерывание, чтобы прервать длинные процессы в коде. Это абсолютно неверный подход. В 99% ардуино программ кнопка в прерывании не нуждается.
поллинг
На PULL UP - ИМХО falling
У меня в loop идет управление шаговым двигателем - не хочется сильно загружать loop.Тем более этими кнопками буду пользоваться очень редко - для изменения контрольной температуры.
тем более тут нафик не нужно прерывание.
Прерывание используется тогда, когда нужна мгновенная реакция. Кнопки же, нажимаемые человеком - это всегда неопределенность в 50-100мс. А в вашем случае вообще не имеет значения, обработаются ли кнопки сейчас или через пол-секунды.
Кроме того, без прерывания в разы проще организовать дебонс - дебонс и прерывание вообще слабо совместимы
Я уже сам начал склоняться к этому. Тогда следующий вопрос, а по таймеру прерывания проходят без проблем (если учитывать все рекомендации), или тоже имеются подводные камни. Опрос температуры проводить скажем только в 1-2 секунды? (Или тоже не стоит?)
С таймерами проще, однако… для опроса термометров раз в 1-2 секунды прерывание по таймеру тоже не нужно.
Общая практика что все это пишется на миллис
Пока Спасибо! Завтра попробую переделать с учетом ваших советов.
Так, может пригодится - у кнопки есть так называемый «дребезг контактов» и в прерывании Вы его никак не отследите. Может выше писали, прочитал быстро.
А нафига ты трогаешь провода включенного электроприбора? Всё в порядке вообще?
А вы думаете, что провода у меня голые?
Переделал. Кнопки опрашиваю в теле, а температуру повесил на таймер. В целом нормально, только шаговый двигатель у меня в сарае - проверю вместе с ним уже завтра.
а что это означает?
Аппаратный таймер через регистры с прерыванием или просто какая-нить библиотека типа TimerOne ?
Оденьте провода! Им, как минимум, холодно - не май месяц же!!!