Модуль индикации способен показывать цифровую или буквенную информацию и будет незаменим при сборке таймеров, часов или иных технических проектов.
Один семисегментный индикатор состоит из 7 светодиодов - палочек, восьмой светодиод - точка, каждый светодиод имеет маркировку от A до G, и DP (digital point) для точки.
Палочки расположены так, чтобы образовать "восьмерку", зажигая определенные светодиоды и их комбинации можно получить все арабские цифры и даже некоторые буквы:
Латинские буквы: A, B, b, C, c, d, E, F, g, H, h, I, i, J, L, n, O, o, P, q, r, S, t, U, u, Y.
Русские буквы: А, Б, В, Г, г, Е, Н, О, о, П, п, Р, С, с, У, Ч, Ь, Э.
Сборка из светодиодов помещается в корпус, который имеет несколько выводов для управления светодиодами и еще один выход - плюс питания или земля, в зависимости от схемы, по которой светодиоды собраны внутри: схема с общим анодом (положительный контакт) или общим катодом (отрицательный контакт).
Существуют индикаторы, в которых возможно отображать не одну цифру, а несколько, в них присутствует несколько разрядов, например четыре. Такой индикатор объединяет в себе 4 семисегментных индикатора и у него появляются выводы, отвечающие за разряд. Поскольку каждый светодиод имеет 2 вывода, то для четырехразрядного индикатора понадобилось бы очень много выводов (8*4=32 светодиода), к тому же зажигать одновременно много светодиодов - не энергоэффективно, поэтому для простоты работы и малого потребления светодиоды объединяют в группы и быстро, но незаметно для человеческого глаза, переключают их.
Выводы одноимённых сегментов всех разрядов соединены вместе, а общие выводы каждого разряда выведены отдельно.
Для удобства и простоты использования мы разместили всю схему с необходимой обвязкой на одной плате.
Габариты: 45 мм х 22 мм
Количество разрядов: 4
Схема соединений: общий катод
Модуль имеет следующие выводы:
GND - земля (общий)
DIG4 - разряд 4
DIG3 - разряд 3
DIG2 - разряд 2
DIG1 - разряд 1
A - горизонтальный светодиод сверху
F - вертикальный светодиод слева сверху
B - вертикальный светодиод справа сверху
G - оризонтальный светодиод посередине
C - вертикальный светодиод справа внизу
DP - светодиод - точка
D - горизонтальный светодиод снизу
E - вертикальный светодиод слева снизу
Чтобы начать работу с датчиком его необходимо подключить к микроконтроллеру по схеме ниже. Модуль можно подключить с помощью разделяемого шлейфа 40 пин.
Для управления индикатором необходимо циклически подавать напряжение на общие выводы всех разрядов и одновременно на выводы сегментов выставляется код из восьми нулей и единиц. Основное правило: в каждый момент времени на индикаторе горит один разряд (одна цифра). Дальше переходят к второй цифре, третьей и четвертой.
int anodPins[] = {A1, A2, A3, A4}; // Задаем пины для каждого разряда DIG1, DIG2, DIG3, DIG4 int segmentsPins[] = {5, 6, 7, 8, 9, 10, 11, 12}; //Задаем пины для каждого сегмента (из 7 + 1(точка)) //Порядок сегментов в массиве: {A, B, C, D, E, F, G, DP} void setup() { // Все выходы программируем как OUTPUT for (int i = 0; i < 4; i++) { pinMode(anodPins[i], OUTPUT); } for (int i = 0; i < 8; i++) { pinMode(segmentsPins[i], OUTPUT); } } int seg[11][8] = { {1, 1, 1, 1, 1, 1, 0, 0}, //Цифра 0 {0, 1, 1, 0, 0, 0, 0, 0}, //Цифра 1 {1, 1, 0, 1, 1, 0, 1, 0}, //Цифра 2 {1, 1, 1, 1, 0, 0, 1, 0}, //Цифра 3 {0, 1, 1, 0, 0, 1, 1, 0}, //Цифра 4 {1, 0, 1, 1, 0, 1, 1, 0}, //Цифра 5 {1, 0, 1, 1, 1, 1, 1, 0}, //Цифра 6 {1, 1, 1, 0, 0, 0, 0, 0}, //Цифра 7 {1, 1, 1, 1, 1, 1, 1, 0}, //Цифра 8 {1, 1, 1, 1, 0, 1, 1, 0}, //Цифра 9 {0, 0, 0, 0, 0, 0, 0, 1} //Точка }; int t = 0; int digid = 0; void loop() { t += 1; if (t > 650) t = 0; if ((t % 60) == 0) { digid = t / 60; //Каждую секунду отображаем цифры подряд } for (int i = 0; i < 4; i++) { // Каждый разряд по очереди for (int k = 0; k < 8; k++) {// Каждый сегмент по очереди - исходя из заданной карты digitalWrite(segmentsPins[k], ((seg[digid][k] == 1) ? LOW : HIGH)); } digitalWrite(anodPins[i], HIGH); delay(1); digitalWrite(anodPins[i], LOW); } }