Как называется этот тип ЖК-дисплея только для цифр?

8

Я много раз видел этот тип ЖК-дисплея в весах, калькуляторах, измерителях, микрометрах и т. Д. Я знаю, что это довольно традиционный дисплей, но мне очень нравится его компактность, простота и, возможно, он даже дешевле, по сравнению с TFT или смартфоном. Тип сенсорных дисплеев.

ЖК-дисплей только для цифр


[ Как это называется? Ответы @ kevlar1818 и @stevenvh: «Семисегментный дисплей»]

Я хотел бы работать с этим типом ЖК-дисплея, например, я только что нашел этот 8-значный, который называется VIM-878 из каталога Digikey; вот его таблица .

Как я могу взаимодействовать с ним? Я хотел бы знать, что было бы хорошим / распространенным способом сопряжения с ним от простого микроконтроллера AVR, такого как Atmega8 - предпочтительно с сопряженными схемами / деталями, которые не слишком велики физически.

  • Я предполагаю, что какой-то драйвер или мультиплексор будут необходимы? Я думаю, что я искал какую-то начальную перспективу от тех, кто может лучше взаимодействовать с этим типом ЖК-дисплея.
boardbite
источник
Спасибо за добавление запрошенной информации. Однако будьте осторожны, чтобы не отменить предыдущие изменения в процессе.
Крис Лапланте
Это именно то, что я сделал, не так ли, ой! Не могли бы вы или кто-нибудь помочь вернуть изображение, пожалуйста?
настольный прикус
Вы можете попытаться вернуться к редактированию 2, а затем добавить к нему свою информацию. У меня нет представителя, чтобы делать откаты, поэтому я отмечу это.
Крис Лапланте

Ответы:

12

Это 7-сегментный дисплей . В отличие от точечно-матричных символьных дисплеев кевлар относится к этим чаще всего не интеллектуальным модулям. Большинство матричных дисплеев имеют HD44780-совместимый контроллер, в который можно просто записывать коды ASCII, но 7-сегментный ЖК-дисплей часто представляет собой просто стекло с соединениями для сегментов и несколькими объединительными панелями (часто до 4).

введите описание изображения здесь

Управлять ЖК-дисплеями может быть неудобно, поскольку они не используют только два уровня, поэтому вы не можете управлять ими с помощью обычной цифровой логики.

введите описание изображения здесь

Лучшее, что вы можете сделать, это выбрать микроконтроллер со встроенным ЖК-контроллером, к которому вы можете подключить дисплей напрямую, например, TI MSP430x4xx . Как и большинство контроллеров, этот также знает только сегменты; он не знает ни о цифрах, ни о чем-либо. (Отлично, сначала у нас был тупой дисплей, теперь у нас также есть тупой водитель!) Есть причина для этого. Эти драйверы ЖКД часто используются для управления пользовательскими ЖК-дисплеями, которые могут представлять собой сочетание числовой части, гистограмм и пользовательских символов. Такой символ также является отдельным сегментом, поэтому нет смысла говорить о цифрах.

введите описание изображения здесь

Этот дисплей имеет символы, такие как «батарея» и «будильник», но также все текстовые поля, такие как «AM», «PM» и «SNOOZE», являются символами, состоящими из одного сегмента (т.е. управляются одним битом).

Дальнейшее чтение
Руководство пользователя семейства MSP430x4xx . LCD контроллер описан на стр.709 и далее.

stevenvh
источник
Предполагая, что сегменты означают количество частей, использованных для построения символа / цифры на моем ЖК-дисплее, я думаю, что микроконтроллер был бы великолепен - он может поддерживать 96, и он потребляет ток только 200 мкА. Вы предлагаете заменить мой AVR на микроконтроллер TI или просто подключить VIA к нему с помощью ЖК-дисплея? Я бы предпочел последнее из-за моего опыта работы с AVR (также ограниченного!); так что вы можете прокомментировать это?
прикус
@Inga - я не знаю ни одного AVR с ЖК-драйвером на борту. Использование MSP430 в качестве драйвера дисплея может быть хорошей идеей: ваш AVR может выполнять свою основную задачу, а программа для MSP430 может быть простой (если у вас нет большого опыта работы с ней) или продвинутой (если вы хотите сделайте это интеллектуальным драйвером, который вы можете предоставить командами вроде «приращения»).
Стивенвх
Это звучит очень выполнимо; Я собираюсь заказать один из чипов TI! Кстати, если мои попытки программирования с этим микроконтроллером потерпят неудачу, могу ли я использовать простой мультиплексор или светодиодный драйвер, например, микросхему, подобную этой, которую я только что нашел у Максима ? Я предвижу неприятности из-за того, что вы заявили о нескольких уровнях.
прикус
@Inga - Нет, вы не можете использовать MAX7219, это светодиодный драйвер. Во-первых, они слишком быстро мультиплексируются для ЖК-дисплеев. Несколько уровней не должны быть проблемой; для этого у тебя есть водитель. Это обо всем позаботится. Что вы думаете об интеллектуальном драйвере, который ведет подсчет отображаемого числа? Вы можете использовать такие команды, как «значение загрузки», «счетчик приращений», «счетчик сброса» и т. Д.
stevenvh
Ха-ха, у него действительно есть такие команды ?! Я, конечно же, должен написать код для реализации этих функций сам, не так ли?
прикус
2

То, о чем вы думаете, называется 7-сегментным ЖК-дисплеем. Если вы знаете, как правильно зажечь обычный светодиод, то вам 1/8 пути туда.

Вот вики к нему. В нем есть некоторая теория о том, как вы будете создавать числа, освещая различные массивы светодиодов: http://en.wikipedia.org/wiki/Seven-segment_display

(de) Мультиплексирование - хороший метод для освещения большой 7-сегментной панели, хотя и не обязательно. Если ваши порты ввода / вывода ограничены, то это путь. Основы демультиплексирования работают следующим образом (при условии, что вы знаете двоичный код здесь). Посмотри на эту картину:

С помощью 3-битного двоичного числа, такого как 000, мы можем представить число до 7 (IE для выбора порта 5 будет иметь ABC 101). Что может случиться в демоксе в вашей ситуации? Один вход - это что-то вроде сигнала высокого уровня, а AB & C - порты ввода / вывода. От 0 до 7 подключены к каждому сегменту ЖК-дисплея, и, записав в контроллер ABC, вы можете осветить сегмент. Вы можете сказать, подождите, но если я хочу зажечь число, мне нужно зажечь много сегментов, а не только 5-й сегмент. Ну а после этого вы можете посмотреть на две дороги, чтобы ЖК-дисплей отображал число. Во-первых, добавьте больше demux для дополнительных необходимых сегментов. Второй - программный подход, который включает очень очень быстрое мигание каждого сегмента, необходимого для создания иллюзии, что панель полностью горит.

Nimjox
источник
Мне нравится первый предложенный вами подход: больше демокса. Но если бы я пошел по этому пути, как можно сократить физические размеры компонентов? В моем случае мне понадобится 8 цифр = 56 сегментов, вы знаете?
прикус
Ну, ладно, у вас не будет достаточно I / 0 для 8 цифр с аппаратным подходом. Вот ссылка, это страшно, я знаю, но я не думаю, что смогу нарисовать / объяснить более простую разбивку. doctronics.co.uk/4511.htm . Это теория, хотя. С практической точки зрения я бы рассмотрел метод сканирования, я знаю, что может показаться, что он не может дать хорошее изображение или будет сложным, но это очень распространенная практика в промышленности. Удачи.
Nimjox
@Inga - даже 64, если вы также считаете десятичные точки! Есть две причины, по которым вы не найдете не мультиплексированных. Одним из них является просто количество выводов, как на дисплее, так и на микроконтроллере. Микроконтроллеру понадобится как минимум 80 контактов, и больше контактов = больше затрат. Но есть и маршрутизация. Если у вас мультиплексный дисплей, у вас будет маршрутизация одного сегмента, проходящего через соседний сегмент, но если они все разделены, вы не сможете сделать что-то подобное. Это также дополнительные расходы.
Стивенвх
2

Дисплей семисегментный или матричный дисплей , что вы имеете в виду я считаю.

Вот пример на SparkFun с соответствующей спецификацией . Этот пример / учебник AVR можно найти в разделе «Документы» на странице продукта. Разве Sparkfun не велик?


Учитывая этот 14-сегментный дисплей и его таблицу данных , давайте разберемся, как его использовать.

Давайте рассмотрим пример показа 7в первом (крайнем левом) сегменте кластера.

Для того, чтобы написать 7, нам нужно утверждать сегменты 1A, 1Bи 1C, как видно из таблицы. Все эти сегменты отображаются на контакт 35 устройства, но на разных COMлиниях. С такой загадочной таблицей я бы лучше всего предположил, что эти COMстроки отображаются на контакты с 17 по 20, учитывая таблицу в таблице.

Таким образом, утверждать , каждый сегмент выше, вы бы держать штифт 35 максимума в то время как езда на велосипеде быстро между утверждением COM1, COM2и с COM3помощью штырей 18, 19, и 20 , соответственно. Все три сегмента выглядели бы освещенными одновременно, создавая 7.

При этом, хорошо написанный код просто будет использовать какую-то карту для отображения любого заданного символа. Задача состоит в том, чтобы заставить эту карту работать для ЛЮБОГО кластера сегментов.


Я все еще рекомендую точечно-матричный дисплей, как первый, с которым я связан; есть конечно более легкие проекты там. Преимущество использования точечно-матричного дисплея заключается в том, что большинство из них имеет встроенный регистр данных, поэтому вы можете просто передать ему 8-битные символы ASCII, без проблем с реализацией, как в примере с 14 сегментами выше.

kevlar1818
источник
Кстати, у меня есть ЖК-дисплей, очень похожий на пример, который вы опубликовали! Но это очень толстый модуль, и он не очень читабелен без включенной подсветки. Принимая во внимание, что тот, который я разместил, виден намного лучше, несмотря на отсутствие подсветки, и почему-то кажется чище (нет теневого остаточного типа появления неотображаемых цифр). Какие-нибудь мысли? Есть ли подкатегории на этих экранах?
настольный прикус
Используя «семисегментный дисплей» в качестве поискового запроса, я нашел этот: страницу Digikey, с которой я бы хотел поработать, например. И это его техническое описание .
прикус
На самом деле я собирался сказать (основываясь на вашем объяснении), что 14-сегментный кажется более простым, нет? Ну, хорошо, не проще, чем просто передать символы ASCII, но довольно просто с точки зрения логики и степени контроля (например, просто подсветка одного сегмента). Кстати, в подходе, который вы рекомендовали выше, как это связано с тем, что Стивенвх сказал в своем ответе о том, что для этих дисплеев нет двух уровней логики?
прикус
@Inga Мне не кажется, что в этом конкретном 14-сегментном дисплее должно быть более двух логических уровней, поскольку он имеет такую ​​многословную распиновку. Я все еще не уверен, хотя, потому что таблица данных и страница Digikey ничего не говорят об уровнях напряжения / логики. Честно говоря, обычно это не очень хорошая практика покупать такое плохо документированное устройство.
kevlar1818
1
Почему бы не использовать некоторые драйверы ЖК-дисплея с интерфейсом I2C, например, Holtek 1632 или аналогичный? (Надеюсь, я понял правильно!)
Вайбхав Гарг