Подключение 12 светодиодов к Arduino Mega? схема подключения

Правильное подключение последовательной цепочки 12 светодиодов к микросхеме Arduino

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

Если Вы собираетесь соединить и подключить цепь из 12 светодиодов при помощи микросхемы Arduino, то эта статья именно для Вас.

Подключаем аноды ( длинные контакты светодиодов ) к выводам 2-13 через резисторы 220 Ом. Катоды ( короткие «ножки» светодиода ) подключаем на землю.

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

Программа:

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

Используем три вложенных цикла 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);
 }
 }

НЕТ КОММЕНТАРИЕВ

ОСТАВЬТЕ ОТВЕТ