Da es mit den LED’s schon so gut geklappt hat, versuche ich es mal mit speziellen LED’s: einem Siebensegment Display. Auch die kann man natürlich beliebig ansteuern, sinnvoll sind aber lesbare Zeichen.
Die Hardware
Auch hier ausgehend von einem Arduino Uno
– ein I2C Display Treiber mit einem PCF8574 Chip
– ein Darlington Treiber UDN2981
– Ein einstelliges Siebensegment Display plus Vorwiderstände
Der Protoyp Stufe 1
Auf einem Breadboard gesteckt läuft die Schaltung auf Anhieb. Auch hier brauche ich wieder den 10KOhm Widerstand zwischen +5V und Port3 (Pin16), um Port3 auch Schalten zu können. Ausserdem muss ich die Ausgaben für Port3 invertieren. Das ist eine Eigenheit des verwendeten LCD Treibermoduls (PCF8574 Portexpander). Allerdings habe ich diesmal durch die Siebensegmentanzeige eine gemeinsame Kathode vorgegeben und brauche daher einen anderen Darlington Treiber mit gemeinsamer Anode.
Die Schaltung auf dem Breadboard
Die Software
Erst einmal ist es wichtig alle darstellbaren Zeichen auch ausgeben zu können. Das sind:
Ziffern
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Große Buchstaben
A, C, E, F, G, H, I, J, L, U, P, Y
kleine Buchstaben
b, c, d, h, n, o, r, t, u
Sonderzeichen
-, _ ,“ ,!
Des weiteren ist jedes Segment einzeln ansteuerbar für beliebige Ausgaben, z.B. drehende Kreise (Warten) oder was auch immer. Zusätzlich lassen sich auch alle Segmente ausschalten, das entspricht einem leeren, gelöschtem Display.
Der Prototyp Stufe 2
Umgebaut auf Lochrasterplatine waren erst einmal 2 Kurzschlüsse zu finden. Da waren zwei LED’s, die entweder beide an oder aus waren. Danach lief die Software auch hier problemlos.
Die Schaltung auf dem Lochraster. Der Darlington Treiber befindet sich unter dem I2C LCD Treiber Modul.
Der Sketch
I2C_7SEG_Steuerung_8574
Fazit
Diese Schaltung ist speziell für den acht Bit Display Treiber mit dem PCF8574 gestaltet. Benutze ich z.B. einen Display Treiber mit einem MCP23017, dann entfällt der 10 KOhm Widerstand und die Invertierung. Bei einem Keypadshield z.B. von Adafruit kann ich dann zehn Bit nutzen und habe noch fünf Tasten für eine Eingabemöglichkeit.
Links
I2C Display Treiber Schematic
https://www.sunrom.com/m/4585
Achtfach Darlington Array Datasheet UDN2981
Klicke, um auf UDN2981-2.PDF zuzugreifen
Segmentanzeige
https://de.wikipedia.org/wiki/Segmentanzeige
Siebensegmentanzeige
https://rn-wissen.de/wiki/index.php?title=Siebensegmentanzeige
Prototyping mit dem Arduino
Prototyping mit dem Arduino
Ein Keypadshield als Portexpander nutzen
Ein Keypadshield als Portexpander am Digispark nutzen
LED Ausgabe am I2C Portexpander
LED Ausgabe am I2C Portexpander