7 Segment Anzeigen und Shift Register – meine erste eigene Library

Ich benutze gerne 7 Segmente, da sie günstig sind, erstaunlich viel anzeigen können und auf Distanz besser leserlich sind, als kleine LCDs. Anstatt sie direkt an den Arduino anzuschließen, nutze ich Shift-Register, da mir 8 Pins dann doch etwas zu viel sind. Allerdings schreibe ich dafür jedes Mal aufs neue mir irgendeinen Ansteuerung zurecht. Langsam bin ich es leid, also warum nicht mal eine Arduino Library schreiben?

Eigentlich sollte sie jetzt alle Einstellungen enthalten, die man braucht. Ob die Segmente gemeinsamen Plus oder Minuspol haben, wie sie an die Register angeschlossen und die Register selbst verkabelt sind. Getestet habe ich das ganze mit 3 74HC595 und Common Cathode Segmenten. Für meine UNIX-Timestamp Uhr werde ich wohl die Library auch einbinden. Denn es lässt sich auch im Handumdrehen die Shiftrichtung umkehren, worauf meine komprimierter Aufbau bei der Uhr ja aufbaut (wechselseitig die Register).

FullSizeRenderOb mein Testaufbau hübsch ist, darf jeder selbst entscheiden 😉 Sehr rudimentär alles, VCC der Register über einen 10Ω-Widerstand mit 5V verbunden und die Segmente einfach direkt über die Register versorgt. Die richtigere Variante wäre natürlich von jedem Pin am Register mit einem eigenen Widerstand zu den jeweiligen Pins. Aber wirklich richtig wären Common Anode Anzeigen mit jeweils einem Darlington Array dazwischen. So funktioniert’s aber auch… Allerdings hat man dann die Spannungsschwankungen keine vernünftigen Analogwerte mehr…

Neben der Anzeige von normalen Ziffern ist auch die Anzeige des gesamten Alphabets und einiger Sonderzeichen möglich. Lauftexte können so ohne größeren Aufwand schnell erstellt werden. Für weitere Details am besten ein bisschen in meiner Library auf GitHub (auf englisch) selbst stöbern, wo es das Ganze auch zum Download gibt. Feedback nehme ich gerne dazu entgegen, besonders, da es meine erste Library ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.