Arduino:Примеры/blinking 2 instances
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Периодическое мигание двумя светодиодами[1]
Это скетч для библиотеки Metro и платы Arduino, который демонстрирует, как мигать через определенные интервалы двумя светодиодами, подключенными к 13-ому и 9-ому контактам.
Код
/*
Периодическое мигание двумя светодиодами
Этот пример каждые 250 миллисекунд переключает состояние
на 13-ом выходном контакте Arduino и каждые 125 миллисекунд –
на 9-ом выходном контакте Arduino.
Если подключить к этим контактам светодиоды (к 13-ому контакту светодиод, как правило, подключен по умолчанию), то эти светодиоды будут включаться/выключаться с указанной выше периодичностью.
*/
#include <Metro.h> // подключаем библиотеку Metro
#define LED0 13 // задаем первый светодиод
#define LED1 9 // задаем второй светодиод
// создаем переменные для хранения состояний этих контактов:
int state0 = HIGH;
int state1 = HIGH;
// создаем экземпляр класса Metro и задаем интервал
// в 250 миллисекунд (это 0,25 секунды):
Metro metro0 = Metro(250);
// создаем еще один экземпляр класса Metro и задаем интервал
// в 125 миллисекунд (это 0,125 секунды):
Metro metro1 = Metro(125);
void setup()
{
pinMode(LED0,OUTPUT);
digitalWrite(LED0,state0);
pinMode(LED1,OUTPUT);
digitalWrite(LED1,state1);
}
void loop()
{
if (metro0.check() == 1) { // проверяем, прошел ли объект Metro
// заданный временной интервал
if (state0==HIGH) {
state0=LOW;
} else {
state0=HIGH;
}
digitalWrite(LED0,state0);
}
if (metro1.check() == 1) { // проверяем, прошел ли объект Metro
// заданный временной интервал
if (state1==HIGH) {
state1=LOW;
} else {
state1=HIGH;
}
digitalWrite(LED1,state1);
}
}