Четырёхразрядный индикатор — это четыре семисегментных индикатора и управляющая логика, смонтированные на одной плате.
Четырёхразрядный индикатор пригодится, если вам, например, нужно вывести текущее время или показания с одного из сенсоров. Он прост в использовании: подключается к управляющей плате, такой как Arduino, с помощью двух трёхпроводных шлейфов.
Для управления индикатором мы написали библиотеку QuadDisplay. Она скрывает в себе все тонкости протокола, через который передаются данные на дисплей и предоставляет простые и понятные функции для вывода значений в различных форматах.
Для подключения модуля к Arduino удобно использовать Troyka Shield. На плате уже предусмотрена отдельная группа пинов для работы по протоколу SPI.
Для примера выведем на индикатор несколько значений.
// Подключаем библиотеку для работы с дисплеем #include <QuadDisplay2.h> // создаём объект класса QuadDisplay и передаём номер пина CS QuadDisplay qd(9); void setup() { qd.begin(); } void loop() { // можно выводить целые числа qd.displayInt(123); delay(1000); // и отрицательные тоже qd.displayInt(-123); delay(1000); // можно показывать ведущие нули (0012) qd.displayInt(12, true); delay(1000); // можно показывать вещественные числа // с заданной точностью, например 2 знака после запятой qd.displayFloat(-1.23, 2); delay(1000); // можно показывать температуру в °C qd.displayTemperatureC(-5); delay(1000); // можно показывать нехитрый текст (on/off, например) или // произвольную графику qd.displayDigits(QD_O, QD_f, QD_f, QD_NONE); // off delay(1000); qd.displayDigits(QD_O, QD_n, QD_NONE, QD_NONE); // on delay(1000); // и, конечно, всё очищать qd.displayClear(); delay(1000); }
Обратите внимание, что на плате Arduino Uno линии SPI выведены на 6-контактный разъём, а также продублированы на цифровых пинах 10(SS), 11(MOSI), 12(MISO) и 13(SCK). Следовательно если вы подключаете дисплей через Hardware SPI, занятыми окажутся пины 11(MOSI), 12(MISO) и 13(SCK).
Вы так же можете подключить дисплей к обычным пинам Troyka Shield. Пример подключения приведён на рисунке ниже.
Для примера выведем на индикатор несколько значений.
// Подключаем библиотеку для работы с дисплеем #include <QuadDisplay2.h> // создаём объект класса QuadDisplay и передаём номера пинов CS, DI и ⎍ QuadDisplay qd(9, 5, 7); void setup() { qd.begin(); } void loop() { // можно выводить целые числа qd.displayInt(123); delay(1000); // и отрицательные тоже qd.displayInt(-123); delay(1000); // можно показывать ведущие нули (0012) qd.displayInt(12, true); delay(1000); // можно показывать вещественные числа // с заданной точностью, например 2 знака после запятой qd.displayFloat(-1.23, 2); delay(1000); // можно показывать температуру в °C qd.displayTemperatureC(-5); delay(1000); // можно показывать нехитрый текст (on/off, например) или // произвольную графику qd.displayDigits(QD_O, QD_f, QD_f, QD_NONE); // off delay(1000); qd.displayDigits(QD_O, QD_n, QD_NONE, QD_NONE); // on delay(1000); // и, конечно, всё очищать qd.displayClear(); delay(1000); }
На верхней стороне платы смонтированы четыре семисегментных светодиодных индикатора, а на нижней стороне — управляющая этими индикаторами логика.
Модуль подключается к управляющей электронике по SPI-интерфейсу при помощи двух трёхпроводных шлейфов.
DI | ⎍ | |
CS | V | G |
Назначение контактов 3-проводных шлейфов:
SPI
DI
) — соедините с пином микроконтроллера, выполняющим функцию вывода данных (MOSI
).⎍
) — соедините с пином микроконтроллера, выполняющим функцию строба (SCK
).CS
) — модуль отображает принятые данные при изменении уровня сигнала на этом контакте с низкого на высокий. Соедините с любым цифровым пином микроконтроллера.V
) — соедините с питанием микроконтроллера;G
) — соедините с землёй микроконтроллера;Семисегментный индикатор — это восемь светодиодов, составляющие символ: 7 сегментов + точка. Четырёхразрядный индикатор состоит из четырёх таких символов.
Управление всеми сегментами по отдельности потребовало бы 8×4=32 выходов микроконтроллера. Больше, чем предоставляют многие из них.
Для экономии выводов семисегментные индикаторы подключены через цепочку сдвиговых регистров. По одному регистру 74HC595 на каждый из четырёх индикаторов.
Сдвиговые регистры управляются через SPI-интерфейс, а следовательно для связи с микроконтроллером требуются линии MOSI, SCK, СS, Vcc и GND. Всего 5 линий.
Напряжение питания | от 3 В до 5 В |
Максимальный потребляемый ток | 150 мА (при питании 5 В) |