Utilisation de LED à 4 chiffres et 7 segments

9

J'ai un affichage à 7 segments à 4 chiffres. De quoi aurai-je besoin pour l'utiliser? Un seul microcontrôleur peut-il gérer l'opération? Je veux dire PIC16F690 ... J'ai également vu une puce MAXIM qui pilote ce type d'écrans ... est-ce absolument nécessaire?

Voici une image de la fiche technique, je ne sais pas pourquoi il y a 2 diagrammes à broches? entrez la description de l'image ici entrez la description de l'image ici

Voici un lien vers la fiche technique

Sean87
la source

Réponses:

16

Les deux schémas sont deux versions de l'affichage, une cathode commune en haut, une anode commune en bas. Je suppose que vous avez la version à cathode commune.

Vous connectez les segments A..G, DP via 8 résistances série à 8 broches E / S du microcontrôleur. Conduire une broche haute allumera cette LED sur le chiffre sélectionné. Pour sélectionner l'un des 4 chiffres, vous devez abaisser la cathode commune correspondante via un transistor NPN, que vous pilotez à nouveau à partir d'une broche d'E / S via une résistance.

entrez la description de l'image ici

Si votre tension d'alimentation est de 5 V et que vous utilisez des LED rouges, vous pouvez utiliser des résistances de 150 Ω au lieu de 330. Réduisez également les valeurs de résistance de base du transistor à 2,2 kΩ, et utilisez par exemple BC337 s pour les transistors.

Pour piloter l'affichage complet, vous devez d'abord abaisser la broche 12 en pilotant son transistor à un niveau élevé et définir les E / S pour les segments de ce chiffre. Quelque temps plus tard, vous désactivez la broche 12 et les segments, et vous activez 9, puis à nouveau les segments pour le deuxième chiffre. Etc. Si vous passez d'un chiffre à un autre en moins de 2,5 ms, alors l'ensemble de l'affichage passe à 10 ms, ou 100 Hz, ce qui est suffisant pour éviter un scintillement notable.

Vous pouvez utiliser le pilote Maxim, comme le MAX7219 , mais c'est Damn Expensive ™: 12,80 dollars en 1s chez Digikey. La bonne chose à ce sujet est qu'il s'occupe du multiplexage pour vous, il vous suffit donc de le charger avec les données de segment pour les 4 chiffres. Il a également un contrôle logiciel de la luminosité.

J'ai vérifié la fiche technique du PIC16F690 , et contrairement à d'autres microcontrôleurs, ses E / S ne semblent pas pouvoir fournir 20 mA (ce qui est décevant). Vous aurez donc également besoin de transistors sur le port 2:

entrez la description de l'image ici

R1 était l'une des résistances sur le port 2. Donc, vous insérez Q1 et R2 entre eux, et répétez cela pour chacun des 8 segments. Attention, Q2 est un PNP! Tout transistor PNP à usage général fera l'affaire.

stevenvh
la source
Une seule chose, recommandez-vous d'utiliser un pilote de relais comme UNL2803 au lieu de transistors?
Sean87
C'est plus ou moins la même chose. Le 2803 possède des diodes de serrage, mais ce n'est qu'un avantage pour la commutation de relais ou de moteurs. Si vous achetez 100 BC337 (ils sont toujours utiles), 4 d'entre eux sont moins chers que le 2803. Malheureusement, il n'y a pas d'équivalent PNP du 2803, vous devrez donc utiliser des transistors de toute façon. BTW, votre écran est-il la cathode commune comme dans ma réponse, ou l'anode commune. Si c'est ce dernier, vous auriez besoin de 8 NPN pour les segments, puis le 2803 peut être une meilleure option.
stevenvh
Vous avez l'idée, heureusement c'est une anode commune, j'ai quelques 2803 puces qui traînent, je les utiliserai ensuite. Merci encore.
Sean87