Arduino:Примеры/Change
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Определение перехода из HIGH в LOW[1]
Этот пример показывает, как при помощи библиотеки Bounce настроить плату Arduino на устранение дребезга контактов при использовании кнопки, подключенной к плате. Кроме того, используется специальная функция fell(), которая определяет переход состояния контакта из HIGH в LOW.
Код
// Определение перехода из HIGH в LOW
// Подключаем библиотеку Bounce2. Найти ее можно тут:
// https://github.com/thomasfredericks/Bounce-Arduino-Wiring
#include <Bounce2.h>
#define BUTTON_PIN 2
#define LED_PIN 13
int ledState = LOW;
// Создаем экземпляр класса Bounce:
Bounce debouncer = Bounce();
void setup() {
// Настраиваем кнопку со встроенным подтягивающим резистором:
pinMode(BUTTON_PIN,INPUT_PULLUP);
// Затем настраиваем экземпляр Bounce:
debouncer.attach(BUTTON_PIN);
debouncer.interval(500);
// Настраиваем светодиод:
pinMode(LED_PIN,OUTPUT);
digitalWrite(LED_PIN,ledState);
}
void loop() {
// Обновляем экземпляр Bounce:
debouncer.update();
// Если значение на контакте перейдет из HIGH в LOW...
if ( debouncer.fell() ) {
// ...переключаем состояние светодиода:
ledState = !ledState;
digitalWrite(LED_PIN,ledState);
}
}