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

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

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


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

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

Код

 1 /*
 2 
 3 Мигание светодиодом с использованием двух периодичностей
 4 
 5 Этот код включает/выключает светодиод, подключенный к 13-ому контакту.
 6 Светодиод будет включаться на 0,25 секунды, и выключаться – 1 секунду.
 7 
 8 */
 9 
10 #include <Metro.h> // подключаем библиотеку Metro
11 #define LED 13 // задаем контакт для светодиода
12 
13 // создаем переменную для хранения информации 
14 // о текущем  состоянии светодиода:
15 int state = HIGH;
16 
17 // создаем экземпляр класса Metro и задаем интервал 
18 // в 250 миллисекунд (это 0,25 секунды):  
19 Metro ledMetro = Metro(250); 
20 
21 void setup()
22 {
23   pinMode(LED,OUTPUT);
24   digitalWrite(LED,state);
25 }
26 
27 void loop()
28 {
29 
30   if (ledMetro.check() == 1) { // проверяем, прошел ли объект Metro 
31                                // заданный временной интервал
32 
33     if (state==HIGH)  { 
34       state=LOW;
35       ledMetro.interval(250);  // если контакт в состоянии HIGH, 
36                                // задаем интервал на 0,25 секунды
37     } 
38     else {
39       ledMetro.interval(1000); // если контакт в состоянии LOW, 
40                                // задаем интервал на 1 секунду
41 
42       state=HIGH;
43     }
44     digitalWrite(LED,state);
45   }
46 }

См.также

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