Arduino:Примеры/Bounce: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
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">») |
Нет описания правки |
||
Строка 9: | Строка 9: | ||
==Код== | ==Код== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
/* | /* | ||
ОПИСАНИЕ | ОПИСАНИЕ |
Версия от 18:18, 14 мая 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Устранение дребезга при нажатии на кнопку (вариант с одной кнопкой)[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 );
}
}