Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/Bounce

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


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

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

Код

  1. /*
  2. ОПИСАНИЕ
  3. ====================
  4. Простой пример для библиотеки Bounce, который при нажатии на кнопку
  5. переключает отладочный светодиод.
  6. */
  7.  
  8. // Подключаем библиотеку Bounce. Скачать ее можно тут:
  9. // https://github.com/thomasfredericks/Bounce-Arduino-Wiring
  10.  
  11. #include <Bounce2.h>
  12.  
  13. #define BUTTON_PIN 2
  14. #define LED_PIN 13
  15.  
  16. // Создаем экземпляр объекта Bounce:
  17. Bounce debouncer = Bounce();
  18.  
  19. void setup() {
  20.  
  21.   // Задаем кнопку со встроенным подтягивающим резистором:
  22.   pinMode(BUTTON_PIN,INPUT_PULLUP);
  23.  
  24.   // Настроив кнопку, настраиваем экземпляр Bounce:
  25.   debouncer.attach(BUTTON_PIN);
  26.   debouncer.interval(5); // интервал в миллисекундах
  27.  
  28.   // Настраиваем светодиод:
  29.   pinMode(LED_PIN,OUTPUT);
  30.  
  31. }
  32.  
  33. void loop() {
  34.   // Обновляем экземпляр Bounce:
  35.   debouncer.update();
  36.  
  37.   // Считываем обновленное значение:
  38.   int value = debouncer.read();
  39.  
  40.   // Включаем или выключаем светодиод в соответствии со считанным состоянием:
  41.   if ( value == LOW ) {
  42.     digitalWrite(LED_PIN, HIGH );
  43.   }
  44.   else {
  45.     digitalWrite(LED_PIN, LOW );
  46.   }
  47.  
  48. }

См.также

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

  1. github.com - bounce.ino