Verwendung einer 4-stelligen 7-Segment-LED

9

Ich habe eine 7-Segment-Anzeige mit 4 Ziffern. Was brauche ich, um davon zu profitieren? Kann ein einzelner Mikrocontroller den Vorgang ausführen? Ich meine PIC16F690 ... Ich habe auch einen MAXIM-Chip gesehen, der diese Art von Displays antreibt ... ist das unbedingt erforderlich?

Hier ist ein Bild aus dem Datenblatt. Ich weiß nicht, warum es 2-Pin-Diagramme gibt. Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Hier ist ein Link zum Datenblatt

Sean87
quelle

Antworten:

16

Die beiden Schaltpläne sind zwei Versionen der Anzeige, die gemeinsame Kathode oben und die gemeinsame Anode unten. Ich gehe davon aus, dass Sie die übliche Kathodenversion haben.

Sie verbinden die Segmente A..G, DP über 8 Vorwiderstände mit 8 E / A-Pins des Mikrocontrollers. Wenn Sie einen Pin hoch drücken, leuchtet diese LED auf der ausgewählten Ziffer. Um eine der 4 Stellen auszuwählen, stellen Sie die entsprechende gemeinsame Kathode über einen NPN-Transistor auf Low, den Sie wiederum über einen Widerstand von einem E / A-Pin ansteuern.

Geben Sie hier die Bildbeschreibung ein

Wenn Ihre Versorgungsspannung 5 V beträgt und Sie rote LEDs verwenden, können Sie 150 Ω-Widerstände anstelle von 330 verwenden. Verringern Sie auch die Basiswiderstandswerte des Transistors auf 2,2 kΩ und verwenden Sie beispielsweise BC337 s für die Transistoren.

Um die vollständige Anzeige anzusteuern, setzen Sie zuerst Pin 12 auf Low, indem Sie den Transistor mit einem hohen Pegel ansteuern, und stellen Sie die E / A für die Segmente dieser Ziffer ein. Einige Zeit später schalten Sie Pin 12 und die Segmente aus und 9 ein und erneut die Segmente für die zweite Ziffer. Und so weiter. Wenn Sie in weniger als 2,5 ms von einer Ziffer zur nächsten wechseln, wechselt die gesamte Anzeige mit 10 ms oder 100 Hz, was ausreicht, um ein merkliches Flackern zu vermeiden.

Sie können den Maxim-Treiber wie den MAX7219 verwenden , aber es ist Damn Expensive ™: 12,80 Dollar in 1s bei Digikey. Das Gute daran ist, dass es sich um das Multiplexing für Sie kümmert, sodass Sie es nur mit den Segmentdaten für die 4 Ziffern laden müssen. Es hat auch Software-Helligkeitsregelung.

Ich habe das PIC16F690-Datenblatt überprüft und im Gegensatz zu anderen Mikrocontrollern scheinen die E / A nicht in der Lage zu sein, 20 mA zu liefern (was enttäuschend ist). Sie benötigen also auch Transistoren an Port 2:

Geben Sie hier die Bildbeschreibung ein

R1 war einer der Widerstände an Port 2. Sie fügen also Q1 und R2 zwischen sie ein und wiederholen dies für jedes der 8 Segmente. Achtung, Q2 ist ein PNP! Jeder Allzweck-PNP-Transistor reicht aus.

stevenvh
quelle
Empfehlen Sie nur die Verwendung eines Relaistreibers wie UNL2803 anstelle von Transistoren?
Sean87
Es ist mehr oder weniger dasselbe. Der 2803 verfügt über Klemmdioden, dies ist jedoch nur zum Schalten von Relais oder Motoren von Vorteil. Wenn Sie 100 BC337 kaufen (sie sind immer nützlich), sind 4 davon billiger als der 2803. Leider gibt es kein PNP-Äquivalent zum 2803, sodass Sie dort ohnehin Transistoren verwenden müssen. Übrigens, ist Ihr Display die gemeinsame Kathode wie in meiner Antwort oder die gemeinsame Anode? Wenn es das letztere ist, würden Sie 8 NPNs für die Segmente benötigen, und dann könnte der 2803 eine bessere Option sein.
Stevenvh
Ich habe die Idee, zum Glück ist es eine gewöhnliche Anode, ich habe 2803 Chips herumliegen, ich werde sie dann verwenden. Danke noch einmal.
Sean87