Светодиодная панель состоит из интегрированных в неё нескольких светодиодов. По двум сторонам панели выведены их контакты.
Светодиодная панель состоит из интегрированных в неё нескольких светодиодов. По двум сторонам панели выведены их контакты.
Выводы D3, D4, D5, D6, D7, D8, D9, D10, D11, D12 платы Arduino соединены с контактами светодиодной панели, как показано на схеме ниже:
Сейчас мы с вами напишем скетч для управления светодиодной панелью.
const int ledCount = 10; // количество светодиодов панели // номера пинов int ledPins[] = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; void setup() { // установка режима работы пинов for (int i = 0; i < ledCount; i++) { pinMode(ledPins[i], OUTPUT); } } void loop() { for (int i = 0; i < ledCount; i++) { barGraphDisplay(i); } } void barGraphDisplay(int ledOn) { for (int i = 0; i < ledCount; i++) { if (i == ledOn) { digitalWrite(ledPins[i], HIGH); } else { digitalWrite(ledPins[i], LOW); } } delay(100); }
Мы задали переменную как константу, которая будет равна количеству светодиодов панели:
const int ledCount = 10;
Затем мы определили массив, использующийся для хранения номеров пинов к которым подключена светодиодная панель.
int ledPins[] = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
Для установки режима работы выводов платы Ардуино мы использовали цикл «for». Без него мы бы написали много строк кода, а используя цикл, количество строк сократилось до четырёх.
void setup() { // установка режима работы пинов for (int i = 0; i < ledCount; i++) { pinMode(ledPins[i], OUTPUT); } }
Теперь напишем функцию, которая будет зажигать один светодиод, заданный как параметр ledOn, а остальные светодиоды будут выключаться.
void barGraphDisplay(int ledOn) { for (int i = 0; i < ledCount; i++) { if (i == ledOn) { digitalWrite(ledPins[i], HIGH); } else { digitalWrite(ledPins[i], LOW); } } delay(100); }
Почти всё, теперь мы можем управлять нашей светодиодной панелью, вызвав функцию barGraphDisplay в цикле loop():
void loop() { for (int i = 0; i < ledCount; i++) { barGraphDisplay(i); } }
Нажмите на кнопку «Компилировать» и проверьте скетч на наличие ошибок. Если все правильно, то можете загрузить скетч в микроконтроллер и увидеть результат.