/** * (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); }

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