Подключение 12 светодиодов к Arduino Mega |
Подключите длинные, положительные контакты (аноды) 12 светодиодов к цифровым выводам 2-13 через токоограничивающие резисторы 220 Ом. Подключите короткие, отрицательные контакты (катоды) на землю.
Программа:
В функции 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); } }
|
C этой схемой также часто просматривают: |
Детектор поля с линейной шкалой из восьми светодиодов, регулировкой чувствительности и звуковой индикацией Подключение телефонной линии к звуковой карте Сплитер (подключение 4-х мониторов) ПОДКЛЮЧЕНИЕ ТРЕХФАЗНЫХ ПОТРЕБИТЕЛЕЙ К ОДНОФАЗНОЙ СЕТИ Подключение монитора "Электроника 32 ВТЦ-202" к компьютеру семейства IBM. Подключаем датчик температуры DS18S20/DS18B20 к Arduino Подключение LCD HD44780 к Arduino Uno Калибровка аналогового датчика для Arduino USB порт как источник питания
| |
Графический семиполосный эквалайзер-радуга на Arduino Nano и MSGEQ7 Часы реального времени для Arduino Старинные часы-метеостанция Блок питания для Arduino из ATX ATX блок питания управляемый Arduino Arduino своими руками с USB портом Подключение монетоприемника к Arduino Подключение PS/2 клавиатуры к Arduino Пробуждение ПК по сети на Arduino Запись/чтение на SD-карту с Arduino |