0

Подключение 12 светодиодов к Arduino Mega

2
Подключите длинные, положительные контакты (аноды) 12 светодиодов к цифровым выводам 2-13 через токоограничивающие резисторы 220 Ом. Подключите короткие, отрицательные контакты (катоды) на землю.
Schematische Darstellung
1

Programm
В функции setup () программы, for () loop используется для настройки цифровых выходов 2-13 Mega на вывод.

Далее, в функции loop () программы, используется три вложенных цикла for () loops.

Первый

for (int thisPin =lowestPin; thisPin ≤ highestPin; thisPin++)

проходит через каждый индикатор по одному, с первого контакта до последнего. До этого, когда разрешено переходить с одного контакта к следующему, две вещи должны быть выполнены. Во-первых, вы подсвечиваете отдельные светодиоды с помощью этого кода:

for (int brightness = 0; brightness < 255; brightness++) {
analogWrite (thisPin, brightness);
delay (2);
}

При каждом проходе через цикл выше, переменная увеличивает яркость на одно значение, и это значение записывается на выходе выбраного контакта в главном цикле. Когда на контакте максимальное значение ШИМ (255), следующий цикл гасит:

for (int brightness = 255; brightness >= 0; brightness–) {
analogWrite (thisPin, brightness);
delay (2);
}

Этот цикл вычитает из значение переменной яркости, затемняя светодиод. После достижения минимума, главным for () loop, и программа переходит к следующему светодиоду, повторяя все шаги.

/ *
Мега analogWrite () пример

Схема:
* Светодиоды: контакты от 2 до 13 и к земле.

*/
// Эти константы не изменяются. Они используются для обозначения выводов
const int lowestPin = 2;
const int highestPin = 13;

void setup () {
//настраивает контакты на вывод:
for (int thisPin =lowestPin; thisPin ≤ highestPin; thisPin++) {
pinMode (thisPin, OUTPUT);
}
}

void loop () {
// итерация по выводам:
for (int thisPin =lowestPin; thisPin ≤ highestPin; thisPin++) {
// зажигание светодиода:
for (int brightness = 0; brightness < 255; brightness++) {
analogWrite (thisPin, brightness);
delay (2);
}
// светодиод гаснет:
for (int brightness = 255; brightness >= 0; brightness–) {
analogWrite (thisPin, brightness);
delay (2);
}
// пауза между индикаторами:
delay (100);
}
}

Admin

Hinterlasse eine Antwort

Your email address will not be published. Required fields are marked *