Arduino:Примеры/Change: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<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">»)
 
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 9: Строка 9:
==Код==
==Код==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
// Определение перехода из HIGH в LOW
// Определение перехода из HIGH в LOW


Строка 64: Строка 64:


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}
[[Категория:Пример]]
[[Категория:Пример]]
[[Категория:Примеры]]
[[Категория:Примеры]]
[[Категория:Пример программирования Arduino]]
[[Категория:Пример программирования Arduino]]
[[Категория:Примеры программирования Arduino]]
[[Категория:Примеры программирования Arduino]]

Текущая версия от 12:33, 8 июля 2023

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


Определение перехода из 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);
     
   }
}

См.также

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