Arduino:Библиотеки/Bounce
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Библиотека Bounce[1][2]
Библиотека Bounce служит устранению дребезга контактов на Arduino. Она написана Олле Фредериксом (Ouellet Fredericks) в сотрудничестве с Эриком Лоури (Eric Lowry), Джимом Шимпфом (Jim Schimpf) и Томом Хэркавеем (Tom Harkaway).
Да данный момент вышла уже вторая версия библиотеки – Bounce 2. Цифра «2» в названии указывает, что она не на 100% совместима с первой версией. Библиотека была обновлена алгоритмами и модификациями, предложенными разными пользователями.
Установка и импорт
Скачайте ZIP-файл с библиотекой по этой ссылке. Затем скопируйте распакованную папку с библиотекой по адресу «Документы/Arduino/libraries». Далее, чтобы подключить эту библиотеку к своему скетчу, кликните в IDE Arduino на Скетч > Подключить библиотеку > Bounce2 (Sketch > Include Library > Bounce2). В результате в верхней части скетча появится строчка #include Bounce2.h.
Функции
Bounce()
- Создает экземпляр класса Bounce.
void interval(unsigned long interval)
- Задает время устранения дребезга в миллисекундах.
void attach(int pin)
- Задает контакт и сопоставляет внутреннее состояние с состоянием контакта. Эту функцию следует использовать, когда контакт уже настроен (к примеру, для подтягивающего резистора).
bool update()
- Библиотека Bounce не использует прерывания, поэтому перед считыванием значений с объекта его нужно «обновить», и делать это нужно как можно чаще. То есть ее нужно вызвать в блоке loop(), но не более одного раза. Если состояние контакта поменялось, функция update() обновляет объект и возвращает true («1»), а если нет, то false («2»).
bool read()
- Считывает состояние обновленного контакта.
bool fell()
bool rose()
bool risingEdge()
- Устаревший аналог rose(). Для совместимости с Bounce 1.
bool fallingEdge()
- Устаревший аналог fell(). Для совместимости с Bounce 1.
Bounce(uint8_t pin, unsigned long interval_millis)
- Устарела. Создает экземпляр класса Bounce, подключает контакт и задает интервал для interval_millis. Для совместимости с Bounce 1.
Алгоритмы
Интервал устойчивости. По умолчанию библиотека использует для устранения дребезга именно этот алгоритм. Он проще для понимания и устраняет нежелательный шум.
Интервал блокировки. Этот альтернативный метод устранения дребезга активируется, если задать в файле «Bounce.h» строчку
#define BOUNCE_LOCK_OUT
Этот метод гораздо чувствительней, но шума не устраняет.
Примеры
- Bounce - Устранение дребезга при нажатии на кнопку (вариант с одной кнопкой)
- Bounce2Buttons - Устранение дребезга при нажатии на кнопку (вариант с двумя кнопками)
- Change - Определение перехода из HIGH в LOW
- Duration - Определение продолжительности нажатия на кнопку
- Retrigger - Перезапуск события
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |