Устранение дребезга кнопки с помощью Arduino библиотеки.

Для устроения дребезга кнопки существует несколько Ardduino библиотек. Рассмотрим работу с одной их таких библиотек, например, библиотекой Bounce2. Для установки библиотеки поместим её в директорию /libraries/среды разработки Arduino и перезапустим IDE.

Библиотека Bounce2 содержит следующие методы:

Название

Назначение

Bounce()

инициализация объекта Bounce;

void interval (мсек)

устанавливает время задержки в миллисекундах;

void attach (номерПина)

задаёт вывод, к которому подключена кнопка;

int update()

обновляет объект и возвращает true, если состояние пина изменилось, и false в противном случае;

int read()

считывает новое состояние пина.

Перепишем предыдущий пример с использованием библиотеки. Можно также запоминать и сравнивать прошлое состояние кнопки с текущим, но давайте упростим алгоритм.

#include <Bounce2.h> // подключаем библиотеку
const int buttonPin = 2;      // номер входа, подключенный к кнопке
const int ledPin =  3;        // номер выхода светодиода
boolean ledOn = false;        // текущее состояние свтодиода
Bounce b = Bounce(); // инстанциируем объект Bounce
void setup()
{
  // инициализируем пин, подключенный к светодиоду, как выход
  pinMode(ledPin, OUTPUT);
  // инициализируем пин, подключенный к кнопке, как вход
  pinMode(buttonPin, INPUT);
  b.attach(buttonPin); // объект Bounce будет слушать кнопку на пине switchPin
  b.interval(5); // устанавливаем время задержки в [мс]
}
void loop()
{
  if (b.update() && b.read() == 1)
  { // если зарегистрировано событие и кнопка нажата,
    ledOn = !ledOn; // инвертируем значение
    digitalWrite(ledPin, ledOn);   // Включаем или выключаем светодиот (смотря что пришло после инверсии)
  }
}
Работа с кнопками. Дата публикации 10 декабря , 2019       10 декабря , 2019

Portal-PK (Портал ПК) © 2015 - 2021
ЧПУ
Карта сайта
RSS