Цена:
Технические характеристики
Комплектация
Символьный дисплей — самый простой, недорогой, надёжный и доступный способ отображения какой-либо информации в электронном устройстве со схемой микроконтроллерного управления. Дисплей позволяет выводить информацию в формате произвольных цифро-буквенных сочетаний, визуально воспринимаемую пользователем устройства, о внутрипрограммных событиях или, например, полученную с различных многофункциональных расширений или измерительных датчиков. Символьный дисплей состоит из нескольких 7-сегментных светодиодных разрядов со статической индикацией и, не смотря на простоту своей конструкции, способен кроме цифр показывать ещё и некоторые буквы латинского алфавита, которые вполне пригодятся при создании простых или многоуровневых меню, предполагающих управление или настройку внутренней части устройства. Символьный дисплей достаточно часто используется в проектах для Arduino, STM32, Raspberry Pi или для других, более мощных и совершенных платформ, ориентированных на разработку электронных приложений.
Динамическая индикация
Метод поразрядной динамической индикации основывается на поочерёдном включений симолов, одновременно выводимых на экран. Благодаря высокой частоте переключения разрядов, как правило более 50 раз в секунду, все отображаемые символы на экране воспринимаются человеческим зрением как единое целое. Управляющий диспеем контроллер постоянно участвует в процессе вывода информации, выполняет алгоритм переключения разрядов и формирования новых символов для каждого из них.
Конструктивные особенности символьного дисплея с динамической индикацией. Алгоритмы управления
Модель символьного дисплея YL-3, построенная на двух микросхемах 8-битного сдвигового регистра 74HC595D и двух 4-разрядных LED-индикаторах 3461BS, способна отображать комбинации из 8 различных символов. Сдвиговый регистр 74HC595D, известный ещё и как "расширитель цифровых портов", имеет один вход для приёма 8 бит входящих данных. А также 8 управляемых выходов логического сигнала, изменяющих своё состояние в соответствии с последовательностью полученных единичек и нолей (распределение в порядке 7-0). Обе микросхемы напрямую соединены управляемыми портами с двумя 7-сегментными индикаторами. Первый регистр отвечает за свечение всех доступных сегментов в любом разряде, второй позволяет переключаться между разрядами (см. принцип. схему). Приём данных в память сдвигового регистра 74HC595D осуществляется открытием/закрытием аппаратного триггера-защёлки, встроенного внутри микросхемы. Команда включения для одного разряда передается 16-битным значением, младший байт которого содержит данные выбранного регистра, а старший байт — данные активных сегментов.
Примеры программирования
Следующий пример демонстрирует реализацию простого "алгоритма бегущей строки" с использованием метода циклического смещения сиволов в массиве.
Код приведённого примера содержит стандартную программную функцию ShiftOut() из среды программирования Arduino IDE, выполняющую последовательный вывод одного байта информации с использованием двух портов контроллера — сигнал данных и сигнал синхронизации. Благодаря возможностям этой функции, передаваемый байт может быть побитово считан в любом направлении, как слева (MSBFIRST), так и справа (LSBFIRST). От выбранного способа считывания зависит последовательность логических нулей и единиц в представлении отображаемой цифры или символа. Первый бит данных всегда будет принадлежать к вспомогательному сегменту с децимальной точкой. Затем, именно в таком порядке — DP(точка), G, F, E, D, C, B и A, определяются семь бит остальных сегментов индикатора.
//Подключение Arduino к SCK (SH_CP) 74HC595
int clockPin = 6;
//Подключение Arduino к RCK (ST_CP) 74HC595
int latchPin = 7;
//Подключение Arduino к DIO (DS) 74HC595
int dataPin = 8;
unsigned long StartTime;
unsigned long CurrentTime;
unsigned long PauseTime = 500;
byte ArrayFirstPos;
//массив из байт для управления сегментами индикатора
//содержит символы от 0 до 9, минус, знак градуса Цельсия, некоторые буквы латинского алфавита
byte SimbolsArray[32] = {
B11000000, B11111001, B10100100, B10110000, // 0 1 2 3 (0-3)
B10011001, B10010010, B10000010, B11111000, // 4 5 6 7 (4-7)
B10000000, B10010000, B10111111, B10011100, // 8 9 - ° (8-11)
B10001000, B11000110, B10000110, B10001110, // A, C, E, F (12-15)
B10001001, B11110001, B11000111, B10001100, // H, J, L, P (16-19)
B11000001, B10010001, B10000011, B10100111, // U, Y, b, c (20-23)
B10100001, B10000100, B10001011, B10101011, // d, e, h, n (24-27)
B10100011, B10000111, B11100011, B11111111, // o, t, u, всеВЫКЛ (28-31)
};
//массив из байт для управления 8-ю разрядами (индикаторами), слева направо
byte DigitsArray[8] = {B00000001, B00000010, B00000100, B00001000, B00010000, B00100000, B01000000, B10000000};
void setup() {
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
StartTime = millis();
CurrentTime = StartTime;
}
void loop() {
//вывод первых 8 символов из массива с заданной задержкой времени
if (CurrentTime - StartTime < PauseTime) {
CurrentTime = millis();
//поочередное заполнение всех разрядов дисплея
for (int DigitSelector = 0; DigitSelector < 8; DigitSelector++)
{
digitalWrite(latchPin,LOW);
shiftOut(dataPin, clockPin, MSBFIRST, DigitsArray[DigitSelector]);
shiftOut(dataPin, clockPin, MSBFIRST, SimbolsArray[DigitSelector]);
digitalWrite(latchPin,HIGH);
}
}
else {
//смещение массива вверх на 1 шаг
//алгоримт: сохранение первой ячейки в переменную ArrayFirstPos,
//перезапись всех ячеек, запись последней ячейки из переменной ArrayFirstPos
ArrayFirstPos = SimbolsArray[0];
for (int bufc = 0; bufc < 31; bufc++){
SimbolsArray[bufc] = SimbolsArray[bufc + 1];
}
SimbolsArray[31] = ArrayFirstPos;
//обновление таймера задержки времени
StartTime = millis();
CurrentTime = StartTime;
}
}
Электрическая принципиальная схема
![]() |
Схема представлена только для ознакомления, как есть, включая возможные ошибки.
Документация
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru