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

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

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

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

Контакты:

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


Периодическое мигание двумя светодиодами[1]

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

Код

  1. /*
  2.  
  3. Периодическое мигание двумя светодиодами
  4.  
  5. Этот пример каждые 250 миллисекунд переключает состояние 
  6. на 13-ом выходном контакте Arduino и каждые 125 миллисекунд – 
  7. на 9-ом выходном контакте Arduino.
  8.  
  9. Если подключить к этим контактам светодиоды (к 13-ому контакту светодиод, как правило, подключен по умолчанию), то эти светодиоды будут включаться/выключаться с указанной выше периодичностью.
  10.  
  11. */
  12.  
  13. #include <Metro.h> // подключаем библиотеку Metro
  14. #define LED0 13 // задаем первый светодиод
  15. #define LED1 9 // задаем второй светодиод
  16.  
  17. // создаем переменные для хранения состояний этих контактов:
  18. int state0 = HIGH;
  19. int state1 = HIGH;
  20.  
  21. // создаем экземпляр класса Metro и задаем интервал 
  22. // в 250 миллисекунд (это 0,25 секунды): 
  23. Metro metro0 = Metro(250); 
  24.  
  25. // создаем еще один экземпляр класса Metro и задаем интервал 
  26. // в 125 миллисекунд (это 0,125 секунды): 
  27. Metro metro1 = Metro(125); 
  28.  
  29. void setup()
  30. {
  31.   pinMode(LED0,OUTPUT);
  32.   digitalWrite(LED0,state0);
  33.  
  34.    pinMode(LED1,OUTPUT);
  35.   digitalWrite(LED1,state1);
  36.  
  37. }
  38.  
  39. void loop()
  40. {
  41.  
  42.   if (metro0.check() == 1) { // проверяем, прошел ли объект Metro 
  43.                              // заданный временной интервал
  44.  
  45.     if (state0==HIGH)  { 
  46.       state0=LOW;
  47.     } else {
  48.       state0=HIGH;
  49.     }
  50.     digitalWrite(LED0,state0);
  51.   }
  52.  
  53.    if (metro1.check() == 1) { // проверяем, прошел ли объект Metro 
  54.                               // заданный временной интервал
  55.  
  56.     if (state1==HIGH)  { 
  57.       state1=LOW;
  58.     } else {
  59.       state1=HIGH;
  60.     }
  61.     digitalWrite(LED1,state1);
  62.   }
  63.  
  64.  
  65. }

См.также

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

  1. github.com - blinking_2_instances.ino