Dann prüf sie noch mal
Ich hab sie bei meinem gefühlte 20x getestet.
Wenn du die Möglichkeit hast sortiere die Pin-Belegung am AVR mal um.
Sprich erst oder Data Pins und dann die Steuer Pins bzw andersrum.
Hallo,
danke für die Hinweise.
Das LCD ist dieses hier. Aufgrund der Beschreibung gehe ich davon aus dass die Pin-Belegung passen müsste.
Ich habe mir nochmal die Lötstellen angeschaut. Ich kann wirklich keine lockeren Lötstellen oder Lötbrücken erkennen. Ein Messgerät habe ich noch nicht zur Verfügung...aber bald.
Grüsse, Jordi
Dann prüf sie noch mal
Ich hab sie bei meinem gefühlte 20x getestet.
Wenn du die Möglichkeit hast sortiere die Pin-Belegung am AVR mal um.
Sprich erst oder Data Pins und dann die Steuer Pins bzw andersrum.
Hallo rylix,
das Display hängt am LCD-Anschluss der M32-Platine. Wie prüfe ich die Belegung?
Gruss, Jordi
Gar nicht!
Das ist ein fertig konfektioniertes LCD genau passend zu dem Board da kanns also nicht dran liegen.
Wohl aber an einem gebrochenen Kabel oder sonstigen Hardwaredefekten wie ich ja schon schrieb.
Die Initialisierung in Software sollte es eigentlich auch nicht sein, mit dem Display Typ wurde das ja getestet und (es gibt verschiedene Controller je nach Display verhält sich das anders... ).
Aber sicherheitshalber @Jordi ändere mal die von radbruch angegebene Zeile in
writeLCDCommand(0b00000001);
delayCycles(34000);
um. Sollte daran aber nicht liegen.
(ACHTUNG: Danach einmal make clean ausführen damit die Library auch sicher aktualisiert wird - danach den Selftest nochmal neu compilieren...)
MfG,
SlyD
Hallo
Ein Versuch kann ja nicht schaden. Ich habe leider kein vernünftiges Datenblatt für das verwendete Display gefunden. Für einen schnellen Test könnte man initLCD() auskommentieren und durch die geänderte Initialisierung ersetzen:
So braucht man nicht an den Dateien der Library rumfummeln;)PHP-Code:
// initLCD(); // auskommentiert
setLCDD(0b0011);
delayCycles(18000);
setLCDD(0b0011);
delayCycles(5500);
setLCDD(0b0011);
delayCycles(5500);
setLCDD(0b0010);
delayCycles(5500);
writeLCDCommand(0b00101000);
delayCycles(5500);
writeLCDCommand(0b00001000);
delayCycles(5500);
writeLCDCommand(0b00000001); // längere Wartezeit nach cls
delayCycles(34000);
writeLCDCommand(0b00000010);
delayCycles(5500);
writeLCDCommand(0b00001100);
delayCycles(5500);
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Hallo SlyD,
daran lags wirklich nicht.
Grüsse, Jordi
Hallo,
hier mal ein Feedback. Ich habe jetzt die Messungen vorgenommen.
Zuerst habe ich auf der LCD-Platine immer benachbarte Lötstellen über das Messgerät verbunden um nach ungewollten Lötbrücken zu fahnden. Alle Messungen waren i.O., d.h. das Messgerät zeigte keinen Durchgang an.
Dann habe ich wie weiter oben im Thread beschrieben Board + LCD-Platine durchgemessen. Bei allen 14 Verbindungen wurden Durchgänge angezeigt.
Naja, werde das LCD-Display wohl zurückschicken müssen. Trotzdem danke an alle für ihre Hinweise und Vorschläge.
Grüsse, Jordi
Hallo!
Ich habe mir jetzt auch ein Display bei Reichelt (DIP162-DNLED) gekauft und habe genau das gleiche Problem. Ich habe mich schon bei Google durch zahlreiche Foren gewälzt, aber niemand hat dafür eine Lösung für den RP6. Ich habe herausgefunden. dass es normal ist, dass (bei 2 zeiligen Displays) die erste Zeile nur der Kontrast veränderbar ist. Die Zweite Zeile ist sozusagen von der ersten Abhängig. Wenn die erste sich nicht initialisiert, dann macht das die zweite auch nicht und zeigt somit auch nichts an.
Jetzt wollte ich mal Fragen, ob ihr eine Idee habt, was ich bei der Initialisierung noch ändern kann/ muss, damit es funktioniert. Vielleicht hatte auch jemand das gleiche Problem und kennt schon die Lösung.
Vielen Dank schon mal.
MfG
RP6fahrer
Hallo,
ich würde als erstes mal die Hardware ganz genau überprüfen - da Du das ja selbst zusammengelötet haben musst, kann es durchaus sein, dass die Verbindungen falsch sind, z.B. die Datenleitungen in verkehrter Reihenfolge, spiegelverkehrt oder sonstwas.
Schlechte Lötstellen könnens natürlich auch sein.
Der Kontrastregler ist wie im Datenblatt angegeben realisiert und richtig eingestellt?
ACHTUNG:
Anders als bei dem normalen Display für den RP6, musst Du die Hintergrundbeleuchtung mit nem Widerstand / Stromquelle anschließen sonst zieht das zuviel und geht kaputt. Beim RP6 Display ist das schon integriert.
Steht aber alles im Datenblatt
MfG,
SlyD
Danke SlyD!
Aber ich habe die Hardware schon sorgfältig überprüft. Auch keine kalten Lötstellen. Hintergrundbeleuchtung funktioniert auch noch. Ich habe in einem anderen Forum gelesen, dass wenn die erste Zeile mit Balken ist, dass Display nicht richtig initialisiert. Allerdings gibt es im Datenblatt kein Beispiel für Initialisierung 4 Bit Datenbus.
Hast du noch eine Idee hast, was ich bei initLCD(); noch ändern kann, damit es funktioniert? Ich habe bereits die Zeiten verlängert(weil irgendwo auch stand, dass das Display eine gewisse Zeit braucht.
Aber trotzdem vielen Dank!!
MfG
RP6fahrer
Lesezeichen