Arduino:Примеры/blinking 2 intervals

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

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Мигание светодиодом с использованием двух периодичностей[1]

Это скетч для библиотеки Metro и платы Arduino, который демонстрирует, как мигать светодиодом, подключенным к 13-ому контакту. В скетче используются две периодичности – светодиод будет включаться на 0,25 секунды и выключаться на 1 секунду.

Код

/*

Мигание светодиодом с использованием двух периодичностей

Этот код включает/выключает светодиод, подключенный к 13-ому контакту.
Светодиод будет включаться на 0,25 секунды, и выключаться – 1 секунду.

*/

#include <Metro.h> // подключаем библиотеку Metro
#define LED 13 // задаем контакт для светодиода

// создаем переменную для хранения информации 
// о текущем  состоянии светодиода:
int state = HIGH;

// создаем экземпляр класса Metro и задаем интервал 
// в 250 миллисекунд (это 0,25 секунды):  
Metro ledMetro = Metro(250); 

void setup()
{
  pinMode(LED,OUTPUT);
  digitalWrite(LED,state);
}

void loop()
{

  if (ledMetro.check() == 1) { // проверяем, прошел ли объект Metro 
                               // заданный временной интервал

    if (state==HIGH)  { 
      state=LOW;
      ledMetro.interval(250);  // если контакт в состоянии HIGH, 
                               // задаем интервал на 0,25 секунды
    } 
    else {
      ledMetro.interval(1000); // если контакт в состоянии LOW, 
                               // задаем интервал на 1 секунду

      state=HIGH;
    }
    digitalWrite(LED,state);
  }
}

См.также

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