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).
Ob 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.