Как подключить кнопку к Ардуино

Содержание

Подключение тактовой кнопки к Ардуино

Как подключить тактовую кнопку к цифровым и аналоговым входам на Arduino Uno правильно. Расскажем, как избежать «дребезг контактов», рассмотрим схему подключения одной и нескольких кнопок к плате Ардуино. Рассмотрим функции digitalRead и analogRead в языке программирования C++, которые часто требуется использовать при создании различных проектов на Ардуино для начинающих.

Работа с тактовыми кнопками на Ардуино

Главная проблема использования кнопок для управления Arduino заключается в «дребезге контактов». Дело в том, что механические контакты в тактовых кнопках никогда не замыкаются и размыкаются мгновенно. В течении нескольких миллисекунд происходит многократное замыкание и размыкание контактов — в итоге на микроконтроллер поступает не единичный сигнал, а серия импульсов.

Подключение кнопки к Ардуино и дребезг

Подключение кнопки к Ардуино и дребезг

Для того, чтобы исключить на микроконтроллере Arduino дребезг кнопки используют различные электрические схемы с триггерами и конденсаторами. Но намного удобнее и проще использовать программный способ борьбы с возможным дребезгом тактовой кнопки — для этого применяют задержку на несколько миллисекунд или используют библиотеку Bounce2.h для борьбы с дребезгом контактов для Arduino.

Подключение кнопки к Ардуино

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • 1 светодиод;
  • резисторы на 220 Ом и 10 кОм;
  • 1 тактовая кнопка;
  • провода «папа-папа» и «папа-мама».

Схема. Подключение кнопки к Ардуино Уно

Принципиальная схема. Подключение кнопки к Ардуино Уно

Используем цифровые порты на плате для подключения тактовой кнопки и команду digitalRead для считывания данных. Соберите схему, как на рисунке выше и загрузите скетч. Обратите внимание, что при отпущенной кнопке на Pin2 поступает логический 0. С помощью кнопки будем выключать и включать встроенный светодиод, подключенный к цифровому 13 порту на плате микроконтроллера Ардуино.

Скетч подключение кнопки к цифровому входу

Пояснения к коду:

  1. процедура setup выполняется один раз, используется процедура для конфигурации портов микроконтроллера (назначение режима работы портов);
  2. процедуры setup и loop должны присутствовать в любой программе (скетче);
  3. использованные константы: INPUT , OUTPUT , LOW , HIGH , пишутся заглавными буквами, иначе компилятор их не распознает и выдаст ошибку.

Скетч подключения кнопки к аналоговому входу

Можно также сделать подключение кнопок к аналоговому входу Ардуино (обозначены, как Analog In на плате). Принципиальное отличие данной схемы — это использование аналогового порта на микроконтроллере. Для включения и выключения светодиода будем также использовать встроенный светодиод на плате. Переключите тактовую кнопку к аналоговому входу A1 и загрузите в плату следующий скетч.

Пояснения к коду:

  1. в данном скетче мы используем функцию analogRead для считывания значений с аналогового входа A1 , при этом порт можно использовать, как цифровой;
  2. значения на аналоговом входе могут отличаться (все зависит от сопротивления резистора в схеме) и могут принимать значения в диапазоне от 0 до 1023.

Заключение. В этом обзоре мы рассмотрели подключение кнопки и светодиода к Ардуино (светодиод можно подключить к 13 пину платы). Более интересное подключение, с использованием режима INPUT_PULLUP для порта, рассмотрено при подключении модуля тактовой кнопки — здесь. Если у вас остались вопросы по данному обзору — оставляйте их в комментариях к этой записи.


Источник: xn--18-6kcdusowgbt1a4b.xn--p1ai