Бегущий огонёк на Arduino

Бегущий огонёк на Arduino: скетч с массивом

Небольшой и простой проект бегущего огонька. Отличается тем, что можно легко изменить количество светодиодов в схеме.

Комплектующие

Все необходимые комплектующие и даже чуть больше есть в минимальном стартовом наборе Arduino — https://bit.ly/2QgTPvF​

  1. Arduino Uno — https://bit.ly/2P3rCI5​
  2. беспаечная макетная плата — https://bit.ly/3goWOwQ​
  3. светодиоды — https://bit.ly/3swTa6t​
  4. ограничивающий резистор — 220 Ом или аналогичный — https://bit.ly/3swTpyp​
  5. провода папа-папа, мама-мама, папа-мама 10-30 см — https://bit.ly/3n3z0jl

Схема подключения

Количество светодиодов значения не имеет. Что бы все светодиоды загорались, нужно указать в скетче в массиве в первой строке номер порта подключения всех светодиодов.

Схема бегущего огонька на Arduino

Скетч

В первой строке перечисляются все порты 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);              // Выключает. 
  }
}

Видео

Один комментарий к “Бегущий огонёк на Arduino: скетч с массивом

  1. Роман

    Тут такой вопрос назрел . Мы прогнали в одну сторону . for (int i=countLeds-1; i>=0; i—) — развернули в обратную сторону . А как поделить по палам ?

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

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