Hallo, ich möchte mir gerne eine Uhr bauen, mit einem ATmega328P und dem 4 zeiligen LCD-Display DEM 20488 SYH-PY. Die Uhr möchte ich später noch als kleine Wetterstation erweitern. Aber erstmal geht es mir um die Uhr, bzw. um das Anzeigen meines Namen "kai" auf dem Display. Ich habe eine Tutorial im Internet gefunden, was mir recht einfach erschien. Ich habe das alles so aufgebaut und programmiert wie in dem Tutorial und war mir sicher, dass ich es verstanden habe. Als ich das Programm übersetzt und ausgeführt habe, tat sich nichts am Display. Das einzige was sich tut ist, wenn ich den Kontrast mit dem 10K Poti hochdrehe, sehe ich vier dunkle Zeilen. Dabei habe ich festgestellt, dass die erste und dritte Zeile nur sehr schwach zu sehen sind und die 2te und 4te sehr stark, d.h. sehr dunkel sind. Die erste Frage: Ist das Display defekt? Zu meinem Schaltungsaufbau: Display Pin1 (VSS) --> an Masse der Spannungsquelle Display Pin2 (VDD) --> +5V (versehentlich am Anfang an das Netzteil +6 Volt angeschlossen, aber jetzt sind es +5 Volt) Display Pin3 (V0) --> 10 KOhm Potentiometer. Die beiden äußeren Kontakte an +5V und Masse und den mittleren, variablen Anschluss an den Pin3 des Displays Display Pin4 (RS) --> PD2 des uC Display Pin5 (R/W) --> PD7 des uC Display Pin6 (E) --> PD5 des uC Display Pin 7 - 14 (DB0 - DB7) --> an die Pins PB0 bis PB7 des uC Display Pin15 (LED -) --> nicht angeschlossen Display Pin16 (LED +) --> nicht angeschlossen Dass der ATMega defekt ist kann ich ausschließen. Dass es hier ein Tutorial gibt weiß ich. Das was ich im Internet gefunden habe war aber mit Video und Erklärungen. Das war für mich einfacher. Ich verstehe einfach nicht wo das Problem liegt. Wäre schön, wenn ihr mir weiterhelfen könntet. Ich habe das Datenblatt des Displays und meinen Quellcode an diesen Thread angehängt. Gruß Kai
Kai Wierzoch schrieb: > Dabei habe ich festgestellt, dass die erste und dritte Zeile nur sehr > schwach zu sehen sind und die 2te und 4te sehr stark, d.h. sehr dunkel > sind. Die erste Frage: Ist das Display defekt? Du hast ein Tutorial für Text-LCD gefunden und dieses Tutorial hat dir nicht 'gesagt', dass dieser Typus LCD-Controller nach dem Anlegen der Spannung 2 LCD Zeilen mit Blöcken ausfüllt, damit man mal eine Chance hat den Kontrast ungefähr richtig einzustellen? Wird das LCD korrekt initialisiert, dann verschwinden diese Balken wieder und das LCD arbeitet ganz normal. Da kanns aber nicht weit her gewesen sein mit diesem Tutorial.
Kai Wierzoch schrieb: > Dabei habe ich festgestellt, dass die erste und dritte Zeile nur sehr > schwach zu sehen sind und die 2te und 4te sehr stark, d.h. sehr dunkel > sind. Die erste Frage: Ist das Display defekt? Und täglich grüßt das Murmeltier. Dein Display ist tadellos in Schuss, aber noch nicht initialisiert. Das ist ja auch klar: in deinem Code ist die Initialisierungssequenz nicht enthalten. Lies einfach mal das Datenblatt deines Displays ab Seite 13...
1 | int main(void) |
2 | {
|
3 | DataDir_MrLCDsControl |= 1 << LightSwitchEnable | 1 << ReadWrit | 1 << BiPolarMoodRS; |
4 | _delay_ms(15); |
5 | |
6 | Send_A_Command(0x01); //Clear Screen 0x01 = 00000001 |
7 | _delay_ms(2); |
8 | Send_A_Command(0x38); |
9 | _delay_us(50); |
10 | Send_A_Command(0b00001110); |
11 | _delay_us(50); |
Der Hersteller des HD44780 hat ja auch nur so zum Spass in seinem Datenblatt die 8-Bit Initialisierung in allen Einzelheiten ausgeführt. In Wirklichkeit kennt dieser Hersteller sich allerdings nicht aus, aber Mr. LCD weiß wie das geht.
> Das was ich im Internet gefunden habe war aber mit Video > und Erklärungen. Das war für mich einfacher. Wsa hilft dir 'einfacher', wenn es tatsächlich falsch ist. > Ich verstehe einfach nicht wo das Problem liegt Ich denke du hast die 'Erklärungen' verstanden? Entweder ist dem dann doch nicht so, oder die Erklärungen waren falsch :-)
Rechtschreibprüfer schrieb: > LCD-Display = LC Display Display? Oder gleich "Flüssigkristall-Display Display" Also ein Verkaufsständer für verblisterte LCDs... ;-)
Also kann ich davon ausgehen, da die Zeilen nicht verschwinden, dass ich beim Initialisieren des Displays was falsch gemacht habe?
Hallo Kai, es wird noch nicht initialisiert. Lies doch das Datenblatt, wie oben angegeben.
Uwe S. schrieb: > Lies doch das Datenblatt, wie oben angegeben. Hat er anscheinend noch nie reingeschaut.
Ich werde das Datenblatt lesen. Vielen Dank für alle Antworten. Auch für die Korrekturen. Gruß Kai
Hallo, ich wollte nur berichten, dass es jetzt funktioniert. Den Initialisierungsprozess habe ich, so wie im Datenblatt angegeben, implementiert. Vielen Dank nochmal
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.