Небольшой и простой проект бегущего огонька. Отличается тем, что можно легко изменить количество светодиодов в схеме.
Комплектующие
Все необходимые комплектующие и даже чуть больше есть в минимальном стартовом наборе Arduino — https://bit.ly/2QgTPvF
- Arduino Uno — https://bit.ly/2P3rCI5
- беспаечная макетная плата — https://bit.ly/3goWOwQ
- светодиоды — https://bit.ly/3swTa6t
- ограничивающий резистор — 220 Ом или аналогичный — https://bit.ly/3swTpyp
- провода папа-папа, мама-мама, папа-мама 10-30 см — https://bit.ly/3n3z0jl
Схема подключения
Количество светодиодов значения не имеет. Что бы все светодиоды загорались, нужно указать в скетче в массиве в первой строке номер порта подключения всех светодиодов.

Скетч
В первой строке перечисляются все порты Arduino, к которым подключены светодиоды. Строка 16 управляет быстротой бега огонька — время указывается в миллисекундах.
int leds [] {5, 6, 7, 8, 9, 10, 11, 12, 13}; // В массиве перечисляем порты, к которым подключенны светодиоды.
int countLeds = sizeof(leds) / sizeof(int); // Узнаём длину массива.
void setup()
{
for (int i = 0; i < countLeds; i++) { // Цикл перечисляет все порты, на которых есть свтодиоды, и делает их выходами.
pinMode (leds[i], OUTPUT);
}
}
void loop()
{
for (int i = 0; i < countLeds; i++) { // Цикл включает и выключает все светодиоды подряд.
digitalWrite (leds[i], HIGH); // Включает.
delay (200); // Время свечения светодиода.
digitalWrite (leds[i], LOW); // Выключает.
}
}
Тут такой вопрос назрел . Мы прогнали в одну сторону . for (int i=countLeds-1; i>=0; i—) — развернули в обратную сторону . А как поделить по палам ?