Скетч. Управление светодиодами. Эффект преследования

/**
 * (C) jarduino.ru 2019
 * Изучение ардуино через опыты.
 *
 * Опыт №5. Управление светодиодами. Эффект преследования
 */

// Глобальные параметры:
const int nDelay = 60; // задержка между загоранием светодиодов в мсек.

/*
 * В этом примере предполагается, что светодиоды подключены к цифровым портам по порядку.
 * Т.е., например, 1й светодиод - к порту №2, 2й - к порту №3 и т.д.
 * 
 * Таким образом, нам достаточно задать только 2 параметра:
 *  - номер порта первого светодиода
 *  - номер порта последнего светодиода.*/
const int pin1 = 5; // номер первого пина
const int pin2 = 10; // Число светодиодов

// Прочие глобальные переменные и константы:
const int pin3 = pin2 + 1; // номер последнего пина + 1

void setup()
{
  for (int i = pin1; i < pin3; ++i)
  {
    pinMode(i, OUTPUT);
  }
}

// выставляет светодиодам статус bState через каждые nDelay мсек.
void chaseLed(bool bState, const int t_nDelay = nDelay)
{
  for (int i = pin1; i < pin3; i++)
  {
    digitalWrite(i, bState);
    delay(t_nDelay);
  }
}

void loop()
{
  // зажечь светодиоды по одному:
  chaseLed(HIGH);

  // погасить светодиоды по одному:
  chaseLed(LOW);
}

1 ответ на “Скетч. Управление светодиодами. Эффект преследования”

  1. Анастасия

    Большой сборник эффектов для адресной светодиодной ленты на чипах WS28 в одном большом скетче! Эффекты собраны и оптимизированы со всех уголков интернета. Также добавлена функция адаптивного изменения яркости от уровня внешнего освещения (нужен фоторезистор).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *