Каталог товаров

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

Цена:

210 р.
Уже в корзине
Код товара: 13084
Оригинальное название:
74HC595 Static Drive 3 Segment Bright Red Led Display Module

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Код приведённого примера содержит стандартную программную функцию ShiftOut() из среды программирования Arduino IDE, выполняющую последовательный вывод одного байта информации с использованием двух портов контроллера — сигнал данных и сигнал синхронизации. Благодаря возможностям этой функции, передаваемый байт может быть побитово считан в любом направлении, как слева (MSBFIRST), так и справа (LSBFIRST). От выбранного способа считывания зависит последовательность логических нулей и единиц в представлении отображаемой цифры или символа. Первый бит данных всегда будет принадлежать к вспомогательному сегменту с децимальной точкой. Затем, именно в таком порядке — 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, allLED_off (28-31)
  B00000000 // allLED_on
};

// Очищаем оба индикатора
void ClearDisplay(){
  DigitShow(31);
  DigitShow(31);
  delay (5);
}

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

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

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

Физические размеры дисплея

 

 

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

  1. Индикатор Arkled 1648 SM410501N (англ., PDF)
  2. Сдвиговый 8-битный регистр 74HC595 (англ., PDF)
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2021г https://compacttool.ru
Связаться с нами 8-495-752-55-22 zakaz@compacttool.ru