Arduino:Примеры/Bounce

Материал из Онлайн справочника
Версия от 01:48, 14 декабря 2016; Myagkij (обсуждение | вклад) (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Устранение дребезга при нажатии на кнопку (вариант с одной кнопкой)[1]

Этот пример показывает, как при помощи библиотеки Bounce настроить плату Arduino на устранение дребезга контактов при использовании кнопки, подключенной к плате и переключающей отладочный светодиод. Если нажать на эту кнопку, на плате загорится отладочный контакт.

Код

/* 
ОПИСАНИЕ
====================
Простой пример для библиотеки Bounce, который при нажатии на кнопку 
переключает отладочный светодиод.
*/

// Подключаем библиотеку Bounce. Скачать ее можно тут:
// https://github.com/thomasfredericks/Bounce-Arduino-Wiring

#include <Bounce2.h>

#define BUTTON_PIN 2
#define LED_PIN 13

// Создаем экземпляр объекта Bounce:
Bounce debouncer = Bounce(); 

void setup() {

  // Задаем кнопку со встроенным подтягивающим резистором:
  pinMode(BUTTON_PIN,INPUT_PULLUP);

  // Настроив кнопку, настраиваем экземпляр Bounce:
  debouncer.attach(BUTTON_PIN);
  debouncer.interval(5); // интервал в миллисекундах

  // Настраиваем светодиод: 
  pinMode(LED_PIN,OUTPUT);

}

void loop() {
  // Обновляем экземпляр Bounce:
  debouncer.update();

  // Считываем обновленное значение:
  int value = debouncer.read();

  // Включаем или выключаем светодиод в соответствии со считанным состоянием:
  if ( value == LOW ) {
    digitalWrite(LED_PIN, HIGH );
  } 
  else {
    digitalWrite(LED_PIN, LOW );
  }

}

См.также

Внешние ссылки