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

Arduino:Примеры/Change

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

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

Контакты:

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


Определение перехода из HIGH в LOW[1]

Этот пример показывает, как при помощи библиотеки Bounce настроить плату Arduino на устранение дребезга контактов при использовании кнопки, подключенной к плате. Кроме того, используется специальная функция fell(), которая определяет переход состояния контакта из HIGH в LOW.

Код

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

См.также

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

  1. github.com - change.ino