====== Четырёхразрядный индикатор (Troyka-модуль) ======
** Модуль устарел и снят с производства. **
** Узнайте больше о [[продукты:troyka:quad-display-v2|новом Quad Display]]. **
[[amp>product/troyka-quad-display-v1|Четырёхразрядный индикатор]] — это четыре [[конспект-arduino:светодиодные-сборки|семисегментных индикатора]] и управляющая логика, смонтированные на одной плате.
{{ :продукты:troyka:quad-display:quad-display.png?nolink }}
Четырёхразрядный индикатор пригодится, если вам, например, нужно вывести текущее время или показания с одного из сенсоров. Он прост в использовании: подключается к управляющей плате, такой как Arduino, с помощью всего одного [[сенсоры:3-провода|трёхпроводного шлейфа]].
===== Пример использования с Arduino =====
Для подключения модуля к Arduino удобно использовать [[amp>/product/arduino-troyka-shield|Troyka Shield]]. Для примера подключим шлейф от модуля к группе контактов, относящихся к пину 9. В своём проекте вы можете использовать любые пины.
{{ :продукты:troyka:quad-display:troyka-shield-quaddisplay_3.png?nolink }}
Для управления индикатором мы написали [[https://github.com/amperka/QuadDisplay|библиотеку QuadDisplay]]. Она скрывает в себе все тонкости протокола, через который передаются данные на дисплей и предоставляет простые и понятные функции для вывода значений в различных форматах.
Для примера выведем на индикатор несколько значений.
// Подключаем библиотеку
#include
// Указываем номер цифрового выхода (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);
}
===== Видеообзор =====
{{youtube>XhJ3sRgpax8?large}}
===== Элементы платы =====
{{ :продукты:troyka:quad-display:quaddisp-annotation_120dpi.png?nolink }}
На верхней стороне платы смонтированы четыре семисегментных светодиодных индикатора, а на нижней стороне — управляющая этими индикаторами логика.
==== Контакты подключения 3-проводного шлейфа ====
Модуль подключается к управляющей электронике по [[сенсоры:3-провода|трём проводам]].
Назначение контактов 3-проводного шлейфа:
* Питание (''V'') — красный провод. На него должно подаваться напряжение питания от 3,3 до 5 В;
* Земля (''G'') — чёрный провод. Должен быть соединён с землёй микроконтроллера;
* Сигнальный (''S'') — жёлтый провод. Подключается к цифровому выходу микроконтроллера. Через него на управляющую логику индикатора передаются бинарные данные, которыми кодируются выводимые символы.
==== Семисегментные индикаторы ====
[[конспект-arduino:светодиодные-сборки|Семисегментный индикатор]] — это восемь светодиодов в одном корпусе: 7 сегментов + точка. Каждый из четырёх индикаторов имеет по 10 выводов. Восемь выводов используются для передачи отображаемой цифры и точки, закодированной в виде двоичного числа, один вывод — питание, ещё один — земля.
==== Управляющая логика ====
Управление всеми сегментами по отдельности потребовало бы 8×4=32 выходов микроконтроллера. Больше, чем предоставляют многие из них.
Для экономии выводов семисегментные индикаторы подключены через цепочку сдвиговых регистров. По одному регистру 74HC595 на каждый из четырёх индикаторов.
Сдвиговые регистры управляются через SPI-интерфейс, а следовательно для связи с микроконтроллером требуются линии MOSI, MISO, SCK, SS, Vcc и GND. Всего 6 линий.
На модуле QuadDisplay реализована дополнительная схема, которая вовсе сводит 6 необходимых линий к трём: сигналу, питанию и земле. Этот трюк — [[:1-проводной_SPI|1-проводной SPI]].
===== Принципиальная и монтажная схемы ====
{{:продукты:troyka:quad-display:schematic_p.png?direct&400 |}}
{{:продукты:troyka:quad-display:layout_t.png?direct&200 |}}
{{:продукты:troyka:quad-display:layout_b.png?direct&200 |}}
===== Характеристики =====
|Напряжение питания|от 3 В до 5 В|
|Максимальный потребляемый ток|150 мА (при питании 5 В)|
===== Ресурсы =====
* Библиотека [[https://github.com/amperka/QuadDisplay|QuadDisplay]]
* [[http://www.youtube.com/watch?v=XhJ3sRgpax8|Видеообзор на YouTube]]