Прерывания
Подключение кнопки к Ардуино
Чтобы нам рассмотреть работу прерываный, нам потребуется подключить к Ардуино кнопку.
Кнопки позволяют организовать взаимодействие с пользователем, позволяя ему (или ей) влиять на работу микропроцессорной системы: с помощью них можно переключать режимы работы системы, выбирать пункты из какого-либо экранного меню, управлять роботом или же виртуальным персонажем.
Кнопки бывают различных типов; мы рассмотрим так называемые тактовые кнопки, которые "не запоминают" состояние нажатия --- при нажатии на такую кнопку контакт замыкается, при отпускании кнопки он размыкается.
На электрических схемах тактовая кнопка обозначается следующим образом:
Схематичное изображение одной из распространённых конструкций кнопок представлено ниже:
Как можно заметить, данная кнопка имеет 4 вывода, хотя для "обычной" кнопки достаточно 2. "Лишние" контакты на данной кнопке нужны для того, чтобы одновременно замыкать две цепи одним нажатием кнопки. Контакты замыкаются попарно крест-накрест -- например, когда кнопка нажата, то левый верхний контакт замыкается с правым нижним:
Изучение работы с кнопкой лучше начать с её подключения -- пример подключения кнопки к платформе Arduino Mega 2560 приведён ниже. Для подключения кнопки можно использовать любой порт Arduino (даже аналоговый), но мы для начала рекомендуем использовать цифровые порты 18 и 19. Почему именно их? Для этого есть две причины: во-первых, эти порты, как правило, в простых проектах ничем не заняты; во-вторых, использование этих портов немного упростит использование кнопки в дальнейшем.
Схема подключения кнопки.
Желтый провод идёт с 18ой ноги arduino и попадает на левую верхнюю ногу кнопки и через резистор идёт на минус
Чёрные провода соединяются с выходим gnd ( минусом )
Красные провода соединяются с выходом 5V ( плюсом )
Примечание: не забывайте самое главное - резистор.
Данное включение резистора в цепь называется подтяжкой к земле. Такой резистор обеспечивает исправную работу кнопки.
Как только кнопка подключена, можно перейти к программированию обработки нажатия кнопки.