Como é chamado esse tipo de LCD com apenas dígitos?


8

Já vi esse tipo de LCD muitas vezes em balanças, calculadoras, medidores, micrômetros etc. Sei que é uma tela bastante tradicional, mas gosto muito de sua compacidade, simplicidade e talvez até custe menos, em comparação com TFTs ou smartphones. digite touch displays.

LCD apenas de dígitos


[ Como se chama? Respondida por @ kevlar1818 e @stevenvh: "Display de sete segmentos"]

Eu gostaria de trabalhar com esse tipo de LCD, por exemplo, acabei de encontrar este de 8 dígitos chamado VIM-878 do catálogo Digikey; Aqui está a folha de dados .

Como faço para interagir com ele? Gostaria de saber o que seria uma maneira boa / comum de interagir com ele a partir de um simples microcontrolador AVR como um Atmega8 - de preferência com circuitos de interface / peças que não são muito grandes fisicamente.

  • Presumo que algum tipo de driver ou multiplexador seria necessário? Acho que estou procurando uma perspectiva inicial de outras pessoas que possam ter uma melhor experiência de interface com esse tipo de LCD.

Obrigado por adicionar as informações solicitadas. No entanto, tenha cuidado para não desfazer edições anteriores no processo.
31812 Chris Laplante

Foi exatamente o que eu fiz, não foi? Você ou alguém poderia ajudar a devolver a imagem, por favor?
boardbite

Você pode tentar reverter para editar 2 e adicionar suas informações a isso. Eu não tenho o representante para fazer reversões, então vou sinalizá-lo.
31812 Chris Laplante

Respostas:


12

É uma tela de 7 segmentos . Ao contrário dos displays de caracteres da matriz de pontos, o kevlar se refere a esses módulos na maioria das vezes não são inteligentes. A maioria dos monitores de matriz de pontos possui um controlador compatível com HD44780 no qual você simplesmente pode escrever códigos ASCII, mas um LCD de 7 segmentos geralmente é apenas o vidro, com conexões para segmentos e vários planos posteriores (geralmente até 4).

insira a descrição da imagem aqui

Dirigir LCDs pode ser desagradável, pois eles não usam apenas dois níveis; portanto, você não pode conduzi-los com lógica digital comum.

insira a descrição da imagem aqui

A melhor coisa a fazer é selecionar um microcontrolador com controlador LCD integrado, ao qual você pode conectar o monitor diretamente, como a TI MSP430x4xx . Como a maioria dos controladores, este também conhece apenas segmentos; não está ciente de dígitos ou qualquer coisa. (Ótimo, primeiro tivemos uma exibição idiota, agora também temos um driver idiota!) Há uma razão para isso. Esses drivers de LCD geralmente são usados ​​para acionar LCDs personalizados, que podem ser uma mistura de uma parte numérica, gráficos de barras e símbolos personalizados. Esse símbolo também é um segmento único, portanto não faz sentido falar sobre dígitos.

insira a descrição da imagem aqui

Este visor possui símbolos como "bateria" e "despertador", mas também todos os campos de texto, como "AM", "PM" e "SNOOZE" são símbolos que consistem em um único segmento (isto é, controlado por um único bit).

Leitura adicional
Guia do usuário da família MSP430x4xx . O controlador LCD é coberto na p.709 e seguintes.


Supondo que segmentos significem o número de peças usadas para construir um caractere / dígito no meu LCD, acho que o microcontrolador seria ótimo - ele suporta 96 e possui apenas 200 uA de corrente. Você está sugerindo a substituição do meu AVR pelo microcontrolador TI ou apenas a comunicação através do LCD? Eu preferiria o último, por causa da minha experiência baseada em AVR (também limitada!); então você pode comentar sobre isso?
boardbite

@ Inga - Não conheço nenhum AVR com um driver de LCD a bordo. Usar o MSP430 como driver de vídeo pode ser uma boa idéia: o seu AVR pode manter sua tarefa principal, e o programa para o MSP430 pode ser mantido simples (se você não tem muita experiência com ele) ou avançado (se você quiser faça dele um driver inteligente, que você pode fornecer com comandos como "incremento").
precisa saber é o seguinte

Isso parece muito factível; Estou prestes a pedir um dos chips de TI! A propósito, caso minha programação tente com esse microcontrolador falhe, posso usar um simples multiplexador ou driver de LED, por exemplo, um IC como este que acabei de encontrar da Maxim ? Estou prevendo problemas por causa do que você declarou sobre os vários níveis.
boardbite

@ Inga - Não, você não pode usar o MAX7219, é um driver de LED. Por um lado, eles multiplexam muito rápido para os LCDs. Os vários níveis não devem ser um problema; é para isso que você tem um motorista. Isso cuida de tudo. O que você acha do driver inteligente que mantém a contagem do número a ser exibido? Você pode usar comandos como "valor de carga", "contagem incremento", "Contagem de reinicializações", etc.
stevenvh

Haha, ele realmente tem comandos assim ?! Eu certamente tenho que escrever um código para implementar essas funções, não é?
boardbite

2

O que você está pensando é chamado de LCD de 7 segmentos. Se você sabe como acender um LED comum, então seu 1/8 do caminho até lá.

Aqui está o Wiki. Ele tem alguma teoria sobre como você criaria números iluminando diferentes matrizes dos LEDs: http://en.wikipedia.org/wiki/Seven-segment_display

(de) A multiplexação é um bom método para iluminar um painel grande de 7 segmentos, embora não seja necessário. Se suas portas de E / S são limitadas, é o caminho a seguir. O básico de desmuxificação funciona assim (supondo que você saiba binário aqui). Olhe para essa foto:

Com um número binário de 3 bits como 000, podemos representar até o número 7 (IE para selecionar a porta 5, teríamos ABC como 101). O que aconteceria no demux da sua situação é que uma entrada é algo como um sinal alto e AB&C são portas de E / S. Os 0 a 7 são conectados a cada segmento do LCD e, escrevendo a ABC do seu controlador, você pode iluminar um segmento. Você pode estar dizendo espera, mas se eu quiser acender um número, preciso de muitos segmentos acesos, não apenas do quinto segmento. Bem, depois disso, você pode procurar em duas estradas para obter o LCD para exibir um número. O primeiro é adicionar mais demuxs para segmentos adicionais necessários. A segunda é uma abordagem de software que envolve piscar muito rapidamente cada um dos segmentos necessários para criar a ilusão de que o painel está completamente iluminado.


Eu gosto da primeira abordagem que você sugeriu: mais demux's. Mas se eu seguisse esse caminho, como reduzir o tamanho físico dos componentes? No meu caso, eu precisaria de 8 dígitos = 56 segmentos, sabia?
boardbite

Erre bem, você não terá I / 0 suficiente para conduzir 8 dígitos com uma abordagem de hardware. Aqui está um link, é assustador, eu sei, mas acho que não consigo desenhar / explicar um colapso mais fácil. doctronics.co.uk/4511.htm . Essa é a teoria embora. Na praticidade, eu consideraria o método de digitalização, sei que pode parecer que ele não forneceria uma imagem agradável ou seria complicado, mas é uma prática muito comum na indústria. Boa sorte.
Nimjox

@Inga - mesmo 64 se você também contar pontos decimais! Há dois motivos para você não encontrar aqueles não multiplexados. Um é apenas o grande número de pinos, tanto na tela quanto no microcontrolador. O microcontrolador precisaria de pelo menos 80 pinos e mais pinos = mais custo. Mas também há roteamento. Se você tiver uma tela multiplexada, terá o roteamento de um segmento passando por um segmento adjacente, mas se todos estiverem separados, não será possível fazer algo assim. Isso também é um custo extra.
stevenvh

2

Uma tela de sete segmentos ou uma matriz de pontos é o que você está se referindo, acredito.

Aqui está um exemplo no Sparkfun com a folha de dados relevante . Encontre este exemplo / tutorial do AVR na seção "Documentos" da página do produto. Sparkfun não é ótimo?


Dado este monitor de 14 segmentos e sua folha de dados , vamos descobrir como usá-lo.

Vamos dar o exemplo de mostrar um 7no primeiro cluster de segmento (mais à esquerda).

Para escrever um 7, precisamos assert segmentos 1A, 1Be 1C, como visto na folha de dados. Todos esses segmentos são mapeados para fixar 35 do dispositivo, mas em COMlinhas diferentes . Com uma folha de dados tão enigmática, meu melhor palpite seria que essas COMlinhas sejam mapeadas para os pinos 17 a 20, conforme a tabela na folha de dados.

Assim, para cada segmento de afirmar acima, que seria de manter o pino 35 altos, enquanto rapidamente ciclismo entre afirmar COM1, COM2, e COM3através dos pinos 18, 19 e 20, respectivamente. Os três segmentos apareceriam acesos simultaneamente, criando a 7.

Dito isto, código bem escrito simplesmente usará algum tipo de mapa para que qualquer caractere seja exibido. O desafio é fazer esse mapa funcionar para QUALQUER dos clusters de segmentos.


Eu ainda recomendo um monitor de matriz de pontos como o primeiro ao qual vinculei; certamente existem projetos mais leves por aí. O benefício de usar um monitor de matriz de pontos é que a maioria tem um registro de dados embutido, para que você possa passar apenas caracteres ASCII de 8 bits, sem problemas de implementação divertidos, como no exemplo de 14 segundos acima.


Aliás, eu tenho um LCD muito parecido com o exemplo que você postou! Mas é um módulo muito grosso e não é muito legível sem a luz de fundo ligada. Considerando que o que eu publiquei é visível muito melhor, apesar de não ter luz de fundo, e de alguma forma parece mais limpo (sem aparência do tipo remanescente sombrio dos dígitos não exibidos). Alguma ideia? Existem subcategorias nessas exibições?
boardbite

Usando "display de sete segmentos" como meu termo de pesquisa, encontrei este: página Digikey Gostaria de trabalhar com este, por exemplo. E esta é sua folha de dados .
boardbite

Na verdade, eu ia dizer (com base na sua explicação) que o de 14 segmentos parece MAIS SIMPLES, não? Bem, OK, não mais simples do que apenas passar caracteres ASCII, mas bastante simples em termos de lógica e quantidade de controle (por exemplo, apenas iluminando um segmento). BTW, na abordagem que você recomendou acima, como ele lida com o que stevenvh disse em sua resposta sobre não haver dois níveis de lógica para esses monitores?
boardbite

@Inga Não me parece que precisaria haver mais de dois níveis lógicos nesta tela de 14 segmentos em particular, pois possui uma pinagem detalhada. Ainda não sou positivo, porque a folha de dados e a página Digikey não dizem nada sobre os níveis de tensão / lógica. Honestamente, geralmente não é uma boa prática comprar um dispositivo tão mal documentado.
precisa saber é o seguinte

1
Por que não usar alguns dos drivers de LCD, que fazem interface com o I2C, como o Holtek 1632 ou similar? (Espero que eu consegui o papel correto!)
Vaibhav Garg
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.