Четырёхразрядный индикатор (Troyka-модуль)

Четырёхразрядный индикатор — это четыре семисегментных индикатора и управляющая логика, смонтированные на одной плате.

Четырёхразрядный индикатор пригодится, если вам, например, нужно вывести текущее время или показания с одного из сенсоров. Он прост в использовании: подключается к управляющей плате, такой как Arduino, с помощью всего одного 3-проводного шлейфа.

Пример использования с Arduino

Для подключения модуля к Arduino удобно использовать Troyka Shield. Для примера подключим шлейф от модуля к группе контактов, относящихся к пину 9. В своём проекте вы можете использовать любые пины.

Для управления индикатором мы написали библиотеку QuadDisplay. Она скрывает в себе все тонкости протокола, через который передаются данные на дисплей и предоставляет простые и понятные функции для вывода значений в различных форматах.

Для примера выведем на индикатор несколько значений.

quaddisplay.ino
// Подключаем библиотеку
#include <QuadDisplay.h>
 
// Указываем номер цифрового выхода (9-й пин)
#define DISPLAY_PIN 9
 
void setup()
{
}
 
void loop()
{
  // выведем целое число
  displayInt(DISPLAY_PIN, 123);
  delay(1000);
 
  // теперь отрицательное
  displayInt(DISPLAY_PIN, -123);
  delay(1000);
 
  // можно показывать ведущие нули (0012)
  displayInt(DISPLAY_PIN, 12, true);
  delay(1000);
 
  // можно показывать вещественные числа
  // с заданной точностью, например 2 знака после запятой
  displayFloat(DISPLAY_PIN, -1.23, 2);
  delay(1000);
 
  // можно показывать температуру в °C
  displayTemperatureC(DISPLAY_PIN, -5);
  delay(1000);
 
  // можно показывать нехитрый текст (on/off, например) или
  // произвольную графику
  displayDigits(DISPLAY_PIN, QD_O, QD_f, QD_f, QD_NONE); // off
  delay(1000);
  displayDigits(DISPLAY_PIN, QD_O, QD_n, QD_NONE, QD_NONE); // on
  delay(1000);
 
  // в конце нужно очистить индикатор
  displayClear(DISPLAY_PIN);
  delay(1000);
}

Видеообзор

Элементы платы

На верхней стороне платы смонтированы четыре семисегментных светодиодных индикатора, а на нижней стороне — управляющая этими индикаторами логика.

Контакты подключения 3-проводного шлейфа

Модуль подключается к управляющей электронике по трём проводам. Назначение контактов 3-проводного шлейфа:

  • Питание (V) — красный провод. На него должно подаваться напряжение питания от 3,3 до 5 В;
  • Земля (G) — чёрный провод. Должен быть соединён с землёй микроконтроллера;
  • Сигнальный (S) — жёлтый провод. Подключается к цифровому выходу микроконтроллера. Через него на управляющую логику индикатора передаются бинарные данные, которыми кодируются выводимые символы.

Семисегментные индикаторы

Семисегментный индикатор — это восемь светодиодов в одном корпусе: 7 сегментов + точка. Каждый из четырёх индикаторов имеет по 10 выводов. Восемь выводов используются для передачи отображаемой цифры и точки, закодированной в виде двоичного числа, один вывод — питание, ещё один — земля.

Управляющая логика

Управление всеми сегментами по отдельности потребовало бы 8×4=32 выходов микроконтроллера. Больше, чем предоставляют многие из них.

Для экономии выводов семисегментные индикаторы подключены через цепочку сдвиговых регистров. По одному регистру 74HC595 на каждый из четырёх индикаторов.

Сдвиговые регистры управляются через SPI-интерфейс, а следовательно для связи с микроконтроллером требуются линии MOSI, MISO, SCK, SS, Vcc и GND. Всего 6 линий.

На модуле QuadDisplay реализована дополнительная схема, которая вовсе сводит 6 необходимых линий к трём: сигналу, питанию и земле. Этот трюк — 1-проводной SPI.

Принципиальная и монтажная схемы

Характеристики

Напряжение питанияот 3 В до 5 В
Максимальный потребляемый ток150 мА (при питании 5 В)

Ресурсы