logo
+7 (951) 999-89-94
428003, г. Чебоксары, ул. Федора Гладкова, д.9, оф.319
21.05.2019

Светодиодная панель

Светодиодная панель

Светодиодная панель состоит из интегрированных в неё нескольких светодиодов. По двум сторонам панели выведены их контакты.

Схема

Выводы 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); 
  } 
} 

Нажмите на кнопку «Компилировать» и проверьте скетч на наличие ошибок. Если все правильно, то можете загрузить скетч в микроконтроллер и увидеть результат.

 

Предыдущий урок | В начало | Следующий урок