Каталог

Дисплей 4 символьный 7 сегментный на 74HC595

Цена:

320 р.
менее 100 шт.
Уже в корзине
Код товара: 13085
Оригинальное название:
74HC595 Static Drive 4 Segment Bright Red Led Display Module

Описание товара

Символьный дисплей — самый простой, недорогой, надёжный и доступный способ отображения разнородной информации в любом электронном устройстве со схемой микроконтроллерного управления. Дисплей позволяет выводить информацию в формате произвольных цифро-буквенных сочетаний, визуально воспринимаемую пользователем устройства, о внутрипрограммных событиях или, например, полученную с различных многофункциональных расширений или измерительных датчиков. Символьный дисплей состоит из нескольких 7-сегментных светодиодных разрядов со статической индикацией и, не смотря на простоту своей конструкции, способен кроме цифр показывать ещё и некоторые буквы латинского алфавита, которые вполне пригодятся при создании простых или многоуровневых меню, предполагающих управление или настройку внутренней части устройства. Символьный дисплей достаточно часто используется в проектах для Arduino, STM32, Raspberry Pi или для других, более мощных и совершенных платформ, ориентированных на разработку электронных приложений.

Технические характеристики

  • Дисплей: составной, четыре одноразрядных восьмисегментных светодиодных индикатора
  • Питание: 3.3-5В
  • Индикатор: Arkled 1648 SM410501N с общим анодом
  • Цвет символов: красный
  • Высота символа: 0.5 дюйма / 12.7 мм
  • Сдвиговый регистр: SM74HC595D, 8-битный
  • Интерфейс управления: последовательный 3-проводный
  • Тип индикации: статическая
  • Расстояние комфортного восприятия визуальной информации: до 7 метров

Аппаратная часть

Перед тем, как приступать к практическому программированию, совсем неплохо было бы немного разобраться с техническим исполнением аппаратной стороны модуля. Полученные знания помогут понять, как устроено управление дисплеем. Начинка модуля состоит из двух одиночных светодиодных индикаторов SM410501N и двух микросхем 8-битного сдвигового регистра с последовательным входом/последовательным или параллельным выходом 74HC595. Внутри индикатора SM410501N размещены 8 ярких красных светодиодов, первые семь сегментов расположены в форме цифры, последний необходим для отображения децимальной точки. Чтобы управлять одним таким индикатором и зажигать необходимые светодиоды, при прямом подключении к микроконтроллеру пришлось бы задействовать минимум 8 его контактов (или N*8, если в дисплее установлено несколько разрядов). Сократить количество занимаемых выводов контроллера помогает интегрированный чип 74HC595 с упрощённым 3-проводным интерфейсом, выполняющий функцию расширителя портов.

Микросхема 74HC595 имеет в своём распоряжении 8 свободных программируемых цифровых выводов, к ним подключены все сегменты светодиодного индикатора. А также линию входящих последовательных данных DATA_IN, линию синхронизации CLOCK, линию выходящих последовательных данных DATA_OUT и контакт триггера-защёлки LATCH (см.схему). Формирование символов на экране индикатора происходит по следующем алгоритму. Пользовательское приложение подготавливает набор из логических нулей и единиц, соответствующий отображаемому на экране символу. Один бит данных равен одному передаваемому импульсу. Контроллер посылает низкоуровневый сигнал на вход защелки, приводя сдвиговый регистр в готовность к приёму информации. Затем, используя аппаратную синхронизацию, контроллер передаёт заданную последовательность в микросхему 74HC595. Начиная с первого, биты поочерёдно распределяются по цифровым выводам 7-0 расширителя портов 74HC595 (метод параллельного вывода данных), образуя на его контактах высокоуровневые (HIGH) или низкоуровневые (LOW) импульсы. Окончив трансляцию данных, контроллер устанавливает на входе триггера-защёлки постоянный высокоуровневый сигнал. Следующая порция данных повторяет весь процесс сначала.

Последовательный выход данных первого расширителя портов 74HC595 соединён с второй эквивалентной микросхемой модуля двухсимвольного дисплея методом каскадного подключения, образуя схему из 16 доступных портов. Такой способ позволяет аналогичным образом управлять вторым восьмисегментным индикатором. Разница заключается в необходимости трансляции пакета данных из двух байт (16 бит), по одному байту для каждого регистра 74HC595. Механизм обмена данными между регистрами очень прост. В то время, пока защелка открыта, биты данных будут поступать на вход первого регистра, микросхема 74HC595 приступит к считыванию группы из первых восьми бит. Следующий за ними девятый бит, вошедший в первый регистр, сдвинет первый бит информации на вход второго регистра, десятый бит сдвинет второй, одинадцатый бит подвинет третий на выход, и так далее. Данные будут побитово перемещаться от регистра к регистру (как бы "протекать") сквозь них до тех пор, пока не закончится передача или закроется защёлка.

Модуль двухсимвольного дисплея наделён входом P1 и выходом P2. Ко входу P1 может быть подключен управляющий контроллер, если в разрабатываемом проекте задействован один дисплей. Либо к выходу идентичных модулей с двумя, тремя или четырьмя индикаторами, если таких дисплеев два и более. Выход Р2 — для дополнительно присоединяемых в схему модулей. Все контакты на входе и выходе платы запараллелены с их прямым назначением, за исключением последовательного входа первого регистра SDI и последовательного выхода второго регистра SDO.

В схеме модуля присутствует маленькая техническая особенность. Контакт управления последовательным выходом второго регистра стянут к общей линии питания GND через резистор-перемычку с нулевым сопротивлением. Перемычка может быть извлечена принудительно, если в передаче данных далее второго регистра нет необходимости.

Статическая индикация

Секрет статической индикации дисплея раскрывается в наличии нескольких микросхем сдвиговых регистров 74HC595. Именно они управляют свечением сразу всех светодиодных сегментов одного связанного разряда на дисплее и выводят на индикатор ту информацию, которая была получена с последним входящим байтом данных. Вне зависимости от того, чем занят внешний управляющий контроллер, данные на дисплее сохраняются до их очередного обновления или простого выключения электроэнергии. Благодаря такому алгоритму работы, внешнему управляющему контроллеру необходимо следить только за уровнем сигнала триггера-защёлки LATCH, открывать и закрывать её при отправке на дисплей новой порции данных.

Примеры программирования

Матрица SM410501N модуля трехсимвольного дисплея построена на общем аноде. Все плюсовые выводы её светодиодов подключены к положительной линии питания, а катоды разведены по цифровым выводам 74HC595. Таким образом, чтобы зажечь отдельно взятый сегмент, необходимо адресовать для него низкоуровневый сигнал, выраженный в программе логическим нулём. Простыми словами, чтобы заставить один индикатор светится всеми сегментами, нужно переслать один байт информации, состоящий из восьми логических нулей, чтобы погасить все светодиоды — набор из восьми единиц.

Код приведённого примера содержит стандартную программную функцию ShiftOut() из среды программирования Arduino IDE, выполняющую последовательный вывод одного байта информации с использованием двух портов контроллера — сигнал данных и сигнал синхронизации. Благодаря возможностям этой функции, передаваемый байт может быть побитово считан в любом направлении, как слева (MSBFIRST), так и справа (LSBFIRST). От выбранного способа считывания зависит последовательность логических нулей и единиц в представлении отображаемой цифры или символа. Первый бит данных всегда будет принадлежать к вспомогательному сегменту с децимальной точкой. Затем, именно в таком "обратном" порядке — DP(точка), G, F, E, D, C, B и A, определяются семь бит остальных сегментов индикатора.

//Пример управления трехсимвольным дисплеем
//Пин подключен к SH_CP входу 74HC595
int clockPin = 6;
//Пин подключен к ST_CP входу 74HC595
int latchPin = 7;
//Пин подключен к DS входу 74HC595
int dataPin = 8;

// Битовый массив отображаемых цифр от 0 до 9, минуса, символа градуса цельсия и букв лат.алфавита
byte DigitsArray[33] = {
  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)
  B00000000 // всеВКЛ
};

// Очищаем все четыре индикатора
void ClearDisplay(){
 for (int Count=0; Count < 3; Count++) {
  DigitShow(31); // поочередно единица, десятки, сотни, тысячные
 }
 delay (5);
}

// Управляем регистром 74CH595, выводим символ на индикатор дисплея
void DigitShow (int NumCharacter) {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, DigitsArray[NumCharacter]);
  digitalWrite(latchPin, HIGH);
}

void setup() {
  //Устанавливаем режим ВЫХОД пинам управления
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  ClearDisplay();
}

void loop() {
  // Поочередно считываем цифры и буквы из массива
  for (int Count=0; Count < 30; Count++) {
  // цифра единичного разряда числа
  DigitShow(Count + 3);
  // цифра десятичного разряда числа
  DigitShow(Count + 2);
  // цифра разряда сотых числа
  DigitShow(Count + 1);
  // цифра разряда тысячных числа
  DigitShow(Count);
  delay (500);
  }
}

 

Документация

  1. Индикатор Arkled 1648 SM410501N (англ., PDF)
  2. Сдвиговый 8-битный регистр 74HC595 (англ., PDF)

 

footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru