Используя светодиоды в проектах Arduino, можно организовать весьма эффективную индикацию. Тем не менее, порой отдельные светодиоды не всегда столь эффективны в поэтапной индикации, например, в задачах реализации индикационной шкалы. И тут на помощь может прийти светодиодная шкала, которая состоит из десяти встроенных светодиодов с различными цветами.

Данная шкала имеет 20 выводов (по катоду и аноду на каждый из 10 светодиодов). Ее схема представлена далее.

В нашем примере мы подключим светодиодную шкалу к цифровым выводам с 2 по 11 платы Arduino через резисторы (можно взять 220 Ом). Изменять количество включенных светодиодов мы будем с помощью потенциометра, центральный вывод которого заведем на линию A0 платы Arduino. В итоге должна получиться примерно следующая схема подключения Arduino и светодиодной шкалы.

Код программы следующий.
const int analogPin = A0;
const int ledCount = 10;
int ledPins[] = {
2, 3, 4, 5, 6, 7, 8, 9, 10, 11
};
void setup() {
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
}
}
void loop() {
int sensorReading = analogRead(analogPin);
int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
if (thisLed < ledLevel) {
digitalWrite(ledPins[thisLed], HIGH);
}
else {
digitalWrite(ledPins[thisLed], LOW);
}
}
}
По мере вращения ручки потенциометра будет изменяться количество светящихся светодиодов.
© digitrode.ru