Бегущий огонь slide

Бегущий огонь 8 светодиодов

Описание Бегущий огонь 8 светодиодов

Давайте еще ​​немного поморгаем светодиодами. Давайте создадим с Вашей Arduino линейку светодиодов, моргающих слева направо и справа налево, и используя не один, а восемь штук. Заставим моргать светодиоды в бесконечном цикле последовательности 1-2-3-4-5-6-7-8-7-6-5-4-3-2-1-2-3 - ... с задержкой в ​​одну секунду .
Вам понадобится:
 
  • Ваши стандартные настройки Arduino (компьютер, кабель, Uno или совместимый)
  • 8 светоизлучающих диодов.
  • 8 резисторов 360 Ом 0,25 Вт. Резисторы необходимы для ограничения тока светодиодов.
  • Макетная плата и соединительного провода
Предлагаю сделать задержку переменной. Так что вы могли легко изменить её .
В исходном проекте «мигающий светодиод», описанный в книге Массимо Банци, использовался цифровой вывод 13. На этот раз, вы можете использовать цифровые контакты со 2 до 9. Аппаратная сторона проста - подключите провод от каждого цифрового контакта к аноду светодиода, затем подключите соединительным проводом резистор 360 Ом резистор и далее катод светодиода на землю. См. схему ниже:



Теперь ваша задача - написать код! Но прежде чем сделать это, надо написать план работы или алгоритм. Например, для этого упражнения вы могли бы написать что-то вроде ...

0.1  алгоритм работы программы.
 
Устанавливаем, что все контакты мы будем использовать как выходы
Создаем переменную для хранения длительность задержки в миллисекундах
Начинаем бесконечно повторяемый цикл
включить контакт 2, ждать установленное время задержки, выключить его
включить контакт 3, ждать установленное время задержки, выключить его
Повторите эти операции для остальных выходов - с 4 до 9
Затем сделайте то же самое, но в обратном направлении до контакта 3
Окончание  бесконечного цикла
 
Что получилось у Вас?  Ни чего страшного нет, если у вас ни чего не получилось. Так как Вы учитесь. Но чтобы сэкономить ваше время ниже приведен код для данной схемы.

 

int del=100; // sets a default delay time, 100 milliseconds (one tenth of a second)
void setup()
{
  // initialize the digital pins as outputs:
  // later on there will be easier ways to do this
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
}
// the loop() method repeats indefinitely until you turn off the power
void loop()
{
  digitalWrite(2, HIGH);   // turn on LED on pin 2
  delay(del);              // wait (length determined by value of 'del')
  digitalWrite(2, LOW);    // turn it off
  digitalWrite(3, HIGH);   // turn on LED on pin 3
  delay(del);              // wait
  digitalWrite(3, LOW);    // turn it off
  digitalWrite(4, HIGH);   // turn on LED on pin 4
  delay(del);              // wait
  digitalWrite(4, LOW);    // turn it off
  digitalWrite(5, HIGH);   // turn on LED on pin 5
  delay(del);              // wait
  digitalWrite(5, LOW);    // turn it off
  digitalWrite(6, HIGH);   // turn on LED on pin 6
  delay(del);              // wait
  digitalWrite(6, LOW);    // turn it off
  digitalWrite(7, HIGH);   // turn on LED on pin 7
  delay(del);              // wait
  digitalWrite(7, LOW);    // turn it off
  digitalWrite(8, HIGH);   // turn on LED on pin 8
  delay(del);              // wait
  digitalWrite(8, LOW);    // turn it off
  digitalWrite(9, HIGH);   // turn on LED on pin 9
  delay(del);              // wait
  digitalWrite(9, LOW);    // turn it off
  digitalWrite(8, HIGH);   // turn on LED on pin 8
  delay(del);              // wait
  digitalWrite(8, LOW);    // turn it off
  digitalWrite(7, HIGH);   // turn on LED on pin 7
  delay(del);              // wait
  digitalWrite(7, LOW);    // turn it off
  digitalWrite(6, HIGH);   // turn on LED on pin 6
  delay(del);              // wait
  digitalWrite(6, LOW);    // turn it off
  digitalWrite(5, HIGH);   // turn on LED on pin 5
  delay(del);              // wait
  digitalWrite(5, LOW);    // turn it off
  digitalWrite(4, HIGH);   // turn on LED on pin 4
  delay(del);              // wait
  digitalWrite(4, LOW);    // turn it off
  digitalWrite(3, HIGH);   // turn on LED on pin 3
  delay(del);              // wait
  digitalWrite(3, LOW);    // turn it off
}


Скопируйте этот код в IDE и загрузите в Arduino.

Arduino_ бегущий огонь


Другие проекты