Montag, 18. Mai 2015

LCD Display steuern

Im letzten Post haben wir uns mit der Kommunikation von Mensch zu Programm, durch ein Potentiometer befasst. Heute wollen wir das Ganze umdrehen und vom Programm Informationen zum Menschen leiten. Das geht am besten mit einem Display um Text anzuzeigen. Am einfachsten und billigsten sind LCD Displays.

Ein LCD Display wird durch die Anzahl der Zeichen in einer Reihe und durch die Anzahl der Reihen gekennzeichnet. Das Display oben ist ein 16x2 Display, hat also 2 Reihen und 16 Zeichen pro Reihe. Da die Steuerung eines LCD Displays sehr komplex ist haben einmal ein paar schlaue Leute eine Methode(~Fachbegriff für einen Befehl) geschrieben mit der das ganz einfach ist. Dazu muss man Pin 1, 3, 5, 16 mit dem Ground verbinden und Pin 2 mit +5V. Pin 15 ist für die Hintergrundbeleuchtung zuständig. 5V sind hier das Maximum, ich bevorzuge aber 3.3V da der Text dann nicht so grell wirkt. 
Der Vollständigkeit halber: Ein LCD Display kann im 4Bit und im 8Bit Modus betrieben werden, wobei 8Bit nur eine höhere Übertragungsgeschwindigkeit liefern würden, wobei eh das Display an sich und nicht die Datenübertragung der nicht spürbare Flaschenhals ist. 
Pin 4, der RS Pin muss zu digital Pin 12, Pin 6, E zu Pin 11, D4 also Pin 11 zum Arduino Pin 5, D5 zu Pin 4, D6 zu Pin 3 und D7 zu Pin 2. Das ganze sieht dann fertig verkabelt so aus:
Zu einem Problem, dass ich hatte und das auch ein Grund war weshalb ich diesen Blog gestartet habe: Ich habe die Kabel immer direkt in die Kontakte des LCD Displays gesteckt was jedoch nie 12 gleichzeitig leitende Kontakte hergestellt hat, da immer eine Kabel so drinsteckte dass es nicht leitend verbunden war. Aus diesem Grund bin ich dazu übergegangen immer eine Steckleiste in die Kontakte des LCD zu löten und dann über das Breadbord eine Verbindung herzustellen.
Um ein LCD Display zu steuern braucht man die Library LiquidCrystal. Ein Bibliothek ist wie ein Sammlung von Befehlen neuen Befehlen die nicht zu den Standard Befehlen gehören. Eine Bibliothek wird über #include <name.h> vor void setup() eingebunden. Nach dem #include <name.h> braucht es kein Semikolon(Strichpunkt). Danach müssen wir dem Programm mit LiquidCrystal name(RS,E,D4,D5,D6,D7); mitteilen wo das LCD Display angeschlossen ist. In meinem Fall ist das LiquidCrystal lcd(12,11,5,4,3,2);. Name.begin(zeichen pro reihe, reihenanzahl); Setzt die Displaygröße fest. Name.setCursor(spalte,reihe); setzt die aktuelle Position fest und name.print("Text"); schreibt einen Text auf das Display. Ich habe als name für das Display mit den oben definierten Pins "lcd" genommen. Mein Beispielsketch zeigt "Hello World!" auf dem Display an, und sieht so aus:
Leider "verschluckt" meine Kamera immer die Schrift, weshalb ich euch das Ergebnis nicht zeigen kann, ihr seht es jedoch in echt, sobald ihr es nachmacht.


Keine Kommentare:

Kommentar veröffentlichen