Тактовые кнопки их устройство и подключение к Arduino

Работа с кнопками рассматривается в Arduino — курсах, как правило, на первых уроках, у меня выходит немножко не так. Сначала надо понять и разобраться с тем что такое Arduino, изучить устройство портов ввода/вывода, ну и разобрать основные функции для работы с портами. Со всем этим удачно справились, теперь переходим непосредственно к основному вопросу — устройство тактовой кнопки, методы подключения к Arduino и написание программного кода.

butt_minismd_side2x4_med

Кнопка — механическое устройство, которое может замыкать или размыкать контакт, электрическую цепь. Существует много разновидностей кнопок: тактовые кнопки, кнопки с фиксацией, микропереключатели и тд. В принципиальных схемах обозначаются следующим образом:

htmlconvd-StdrmQ_htmіl_m559b8b2d

 

Тактовая кнопка не имеет возможности оставаться в определенном положении (не имеет фиксации), в связи с этим она и получила такое название. Сфера применения тактовых кнопок довольно широка: клавиатуры, пульты, панели для управления различными электронными устройствами на микроконтроллерах и тд. Давайте, в качестве примера, представим, что у нас есть устройство: с LCD — дисплеем в качестве вывода информации , платой Arduino UNO в качестве устройства обработки информации и парочка исполнительных устройств. Поставлена следующая задача: включать/выключать нагрузку с последующим выводом состояния на LCD — дисплей. И тут нам явно не хватает органа управления, в качестве него и будут использованы тактовые кнопки.

Постановка задачи:

Для того чтобы закрепить материал, предлагаю написать небольшую программу. Алгоритм работы программы: с помощью двух тактовых кнопок подключенных к плате Arduino UNO, нужно управлять состоянием яркости свечения светодиода (будем использовать ШИМ). Нажимая и удерживая первую кнопку — светодиод будет плавно разгораться, нажимая и удерживая вторую кнопку — светодиод будет плавно тухнуть.

Схема подключения кнопки к плате Arduino UNO:

button_arduino

В данном случае входы подключенные к тактовым кнопкам подтянуты к плюсу питания через резисторы номиналом 10 кОм. Сделано это для того, чтобы на протяжении всего времени на входе была лог.1. Так как отсутствие подтягивающих резисторов может позволить всевозможным наводкам привести к ложным срабатываниям. Теперь получается что только при условии что кнопка будет нажата, мы получим лог.0 на входе. Выходит данным схемотехническим решением мы ограничили себя от ложных срабатываний. Но стоит заметить что можно использовать не только внешние подтяжки, как в данном случае, но и внутренние. Если же не использовать подтягивающий резистор, получим короткое замыкание прямо на землю (так делать не следует!) и можем повредить порт ввода/вывода.

Пример программного кода:

Видео работы данного проекта:

FileDescriptionFile sizeЗагрузок
zip Скетч с проектом "ButtonPWM" для Arduino UNO750 B 112
Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий