Comment s'appelle ce type d'écran LCD à chiffres uniquement?

8

J'ai vu ce type d'écran LCD à plusieurs reprises dans des balances, des calculatrices, des jauges, des micromètres, etc. Je sais que c'est un écran assez traditionnel mais j'aime vraiment sa compacité, sa simplicité, et peut-être même qu'il coûte moins cher, par rapport aux TFT ou aux smartphones - tapez les écrans tactiles.

LCD à chiffres uniquement


[ Comment ça s'appelle? Répondu par @ kevlar1818 et @stevenvh: "Affichage à sept segments"]

J'aimerais travailler avec ce type d'écran LCD, par exemple, je viens de trouver celui à 8 chiffres appelé VIM-878 du catalogue Digikey; voici sa fiche technique .

Comment puis-je interfacer avec elle? Je voudrais savoir quel serait un bon / moyen commun d'interfaçage avec lui à partir d'un simple microcontrôleur AVR comme un Atmega8 - de préférence avec des circuits / pièces d'interface qui ne sont pas trop grands physiquement.

  • Je suppose qu'une sorte de pilote ou de multiplexeur serait nécessaire? Je suppose que je suis à la recherche d'une perspective de départ d'autres personnes qui peuvent avoir une meilleure expérience d'interfaçage avec ce type d'écran LCD.
morsure
la source
Merci d'avoir ajouté les informations demandées. Veuillez toutefois veiller à ne pas annuler les modifications précédentes au cours du processus.
Chris Laplante
C'est exactement ce que j'ai fait, n'est-ce pas, oups! Pourriez-vous ou quelqu'un aider à remettre l'image s'il vous plaît?
boardbite
Vous pouvez essayer de revenir en arrière pour modifier 2, puis ajouter vos informations à cela. Je n'ai pas le représentant pour faire des annulations donc je vais le signaler.
Chris Laplante

Réponses:

12

C'est un affichage à 7 segments . Contrairement aux affichages à caractères matriciels, kevlar fait référence à ces modules le plus souvent non intelligents. La plupart des écrans matriciels ont un contrôleur compatible HD44780 sur lequel vous pouvez simplement écrire des codes ASCII, mais un écran LCD à 7 segments sera souvent juste la vitre, avec des connexions pour les segments et un certain nombre de fonds de panier (souvent jusqu'à 4).

entrez la description de l'image ici

Conduire des écrans LCD peut être gênant car ils n'utilisent pas seulement deux niveaux, vous ne pouvez donc pas les piloter avec une logique numérique commune.

entrez la description de l'image ici

La meilleure chose que vous puissiez faire est de sélectionner un microcontrôleur avec contrôleur LCD intégré, auquel vous pouvez connecter l'écran directement, comme le TI MSP430x4xx . Comme la plupart des contrôleurs, celui-ci ne connaît que les segments; il n'est pas au courant des chiffres ou de quoi que ce soit. (Très bien, nous avions d'abord un écran stupide, maintenant nous avons aussi un pilote stupide!) Il y a une raison à cela. Ces pilotes LCD sont souvent utilisés pour piloter des écrans LCD personnalisés qui peuvent être un mélange d'une partie numérique, de graphiques à barres et de symboles personnalisés. Un tel symbole est également un segment unique, il est donc inutile de parler de chiffres.

entrez la description de l'image ici

Cet affichage a des symboles comme "batterie" et "réveil", mais aussi tous les champs de texte, comme "AM", "PM" et "SNOOZE" sont des symboles constitués d'un seul segment (c'est-à-dire contrôlés par un seul bit).

Pour en
savoir plus Guide de l'utilisateur de la famille MSP430x4xx . Le contrôleur LCD est couvert à la p.709 ff.

Stevenvh
la source
En supposant que les segments signifient le nombre de pièces utilisées pour construire un caractère / chiffre sur mon écran LCD, je pense que le microcontrôleur serait génial - il peut prendre en charge 96 et il n'a que 200 uA de courant. Suggérez-vous de remplacer mon AVR par le microcontrôleur TI, ou simplement de le communiquer VIA avec l'écran LCD? Je préférerais ce dernier, en raison de mon expérience basée sur AVR (également limitée!); pouvez-vous commenter cela?
boardbite
@Inga - Je ne connais aucun AVR avec un pilote LCD à bord. L'utilisation du MSP430 comme pilote d'affichage peut être une bonne idée: votre AVR peut s'en tenir à sa tâche principale, et le programme du MSP430 peut être simple (si vous n'avez pas beaucoup d'expérience avec lui) ou avancé (si vous voulez en faire un pilote intelligent, que vous pouvez fournir avec des commandes comme "incrément").
stevenvh
Cela semble très faisable; Je suis sur le point de commander l'une des puces TI! Au fait, au cas où mes tentatives de programmation avec ce microcontrôleur échoueraient, puis-je utiliser un simple multiplexeur ou pilote LED, par exemple un CI comme celui-ci que je viens de trouver chez Maxim ? Je prévois des ennuis à cause de ce que vous avez dit sur les multiples niveaux.
boardbite
@Inga - Non, vous ne pouvez pas utiliser le MAX7219, c'est un pilote LED. D'une part, ils multiplexent beaucoup trop vite pour les écrans LCD. Les multiples niveaux ne devraient pas être un problème; c'est pour ça que vous avez un chauffeur. Cela s'occupe de tout. Que pensez-vous du pilote intelligent qui tient compte du nombre à afficher? Vous pouvez utiliser des commandes comme "charger la valeur", "incrémenter le compte", "réinitialiser le compte", etc.
stevenvh
Haha, il a vraiment des commandes comme ça?! Je dois sûrement écrire du code pour implémenter ces fonctions moi-même, non?
boardbite
2

Ce à quoi vous pensez s'appelle un LCD à 7 segments. Si vous savez comment allumer une LED régulière, faites votre 1/8 du chemin.

Voici le Wiki. Il a une théorie sur la façon de créer des nombres en éclairant différents tableaux de LED: http://en.wikipedia.org/wiki/Seven-segment_display

(de) Le multiplexage est une bonne méthode pour éclairer un grand panneau à 7 segments, bien qu'il ne soit pas nécessaire. Si vos ports d'E / S sont limités, c'est la voie à suivre. Les bases du démultiplexage fonctionnent comme ceci (en supposant que vous connaissez le binaire ici). Regarde cette image:

Avec un nombre binaire de 3 bits comme 000, nous pouvons représenter jusqu'au nombre 7 (IE pour sélectionner le port 5, nous aurions ABC 101). Ce qui se passerait dans le demux dans votre situation, c'est qu'une entrée est quelque chose comme un signal haut, et AB&C sont des ports d'E / S. Les 0 à 7 sont connectés à chaque segment de l'écran LCD et en écrivant sur ABC depuis votre contrôleur, vous pouvez allumer un segment. Vous dites peut-être attendre, mais si je veux allumer un nombre, j'ai besoin de nombreux segments allumés, pas seulement du 5e segment. Eh bien, après cela, vous pouvez examiner deux routes pour que l'écran LCD affiche un nombre. La première consiste à ajouter plus de démux pour les segments supplémentaires nécessaires. La seconde est une approche logicielle qui consiste à faire clignoter très très rapidement chacun des segments nécessaires pour créer l'illusion que le panneau est complètement éclairé.

Nimjox
la source
J'aime la première approche que vous avez suggérée: plus de demux. Mais si je devais emprunter cette voie, comment réduire la taille physique des composants? Dans mon cas, j'aurais besoin de 8 chiffres = 56 segments, vous savez?
boardbite
Eh bien, vous n'allez pas avoir suffisamment d'E / S pour piloter 8 chiffres avec une approche rien que matérielle. Voici un lien, c'est effrayant je sais mais je ne pense pas pouvoir dessiner / expliquer une ventilation plus facile. doctronics.co.uk/4511.htm . C'est pourtant la théorie. En pratique, je considérerais la méthode de numérisation, je sais que cela peut sembler ne pas fournir une belle image ou être compliqué, mais c'est une pratique très courante dans l'industrie. Bonne chance.
Nimjox
@Inga - même 64 si vous comptez également les décimales! Il y a deux raisons pour lesquelles vous ne trouverez pas ces éléments non multiplexés. L'une n'est que le nombre de broches, à la fois sur l'écran et sur le microcontrôleur. Le microcontrôleur aurait besoin d'au moins 80 broches et plus de broches = plus de coût. Mais il y a aussi le routage. Si vous avez un écran multiplexé, vous aurez le routage d'un segment passant par un segment adjacent, mais s'ils sont tous séparés, vous ne pouvez pas faire une chose comme ça. C'est aussi un coût supplémentaire.
stevenvh
2

Un affichage à sept segments ou un affichage à matrice de points est ce à quoi vous faites référence, je crois.

Voici un exemple sur Sparkfun avec la fiche technique correspondante . Trouvé cet exemple / tutoriel AVR dans la section "Documents" de la page du produit. Sparkfun n'est-il pas génial?


Compte tenu de cet affichage à 14 segments et de sa fiche technique , découvrons comment l'utiliser.

Prenons l'exemple de l'affichage d'un 7dans le premier cluster de segments (le plus à gauche).

Pour écrire un 7, nous devons affirmer segments 1A, 1Bet 1C, comme on le voit dans la fiche technique. Ces segments sont tous mappés sur la broche 35 de l'appareil, mais sur des COMlignes différentes . Avec une telle fiche cryptique, ma meilleure supposition serait que ces COMlignes correspondent aux broches 17 à 20, compte tenu du tableau de la fiche technique.

Ainsi, pour chaque segment affirmer ci - dessus, vous tenir la broche 35 tout en haut du vélo rapidement entre l' affirmation COM1, COM2et COM3par l' intermédiaire de broches 18, 19 et 20 respectivement. Les trois segments apparaissent tous allumés simultanément, créant un 7.

Cela étant dit, un code bien écrit utilisera simplement une sorte de carte pour tout caractère donné à afficher. Le défi est de faire fonctionner cette carte pour N'IMPORTE QUEL des clusters de segments.


Je recommande toujours un affichage matriciel comme le premier auquel je suis lié; il existe certainement des modèles plus légers. L'avantage d'utiliser un affichage à matrice de points est que la plupart ont un registre de données intégré, vous pouvez donc simplement lui passer des caractères ASCII 8 bits, pas de problèmes d'implémentation géniaux comme dans l'exemple 14-seg ci-dessus.

kevlar1818
la source
Soit dit en passant, j'ai un écran LCD très similaire à l'exemple que vous avez posté! Mais c'est un module très épais et il n'est pas très lisible sans rétro-éclairage allumé. Alors que celui que j'ai posté est bien mieux visible malgré aucun rétro-éclairage, et semble en quelque sorte plus propre (pas d'apparence de type ombre résiduelle des chiffres non affichés). Des pensées? Y a-t-il des sous-catégories dans ces affichages?
boardbite
En utilisant "affichage à sept segments" comme terme de recherche, j'ai trouvé celui-ci: page Digikey Je voudrais travailler avec celui-ci, par exemple. Et voici sa fiche technique .
boardbite
J'allais en fait dire (sur la base de votre explication) que celui à 14 segments semble plus SIMPLE, non? Eh bien, OK, pas plus simple que de simplement passer des caractères ASCII, mais assez simple en termes de logique et de contrôle (par exemple, simplement allumer un segment). BTW, dans l'approche que vous avez recommandée ci-dessus, comment traite-t-il ce que Steven a dit dans sa réponse à propos de l'absence de deux niveaux de logique pour ces écrans?
boardbite
@Inga Il ne me semble pas qu'il devrait y avoir plus de deux niveaux logiques dans cet affichage particulier à 14 segments, car il a un tel brochage verbeux. Je ne suis toujours pas positif, car la fiche technique et la page Digikey ne disent rien sur les niveaux de tension / logique. Honnêtement, ce n'est généralement pas une bonne pratique d'acheter un appareil aussi peu documenté.
kevlar1818
1
Pourquoi ne pas utiliser certains des pilotes LCD, cette interface sur I2C, comme Holtek 1632 ou similaire? (J'espère avoir bien compris la pièce!)
Vaibhav Garg