Forum: Mikrocontroller und Digitale Elektronik LCD Sharp M078CKA-A3QKLA0057


von Anton Keller (Gast)


Lesenswert?

Hallo!

Hat hier schon mal jemand das Sharp M078CKA-A3QKLA0057 LCD von Pollin
(Bestellnummer: 94-120 345) mit einem PIC (oder auch AVR) in Betrieb
genommen?
Ich sitzte hier schon seit gestern dran und bin kurz davor das Teil aus
dem Fenster zu schmeissen (und ich wohne im 4 Stock! :-)

Habe alles schon mind. 3x ueberprueft und nachgemessen, meiner Meinung
nach habe ich alles richtig verkabelt.
5 und 15 Volt Versorungsspannung liegen an, Initialisierung mache ich
wie in der Beschreibung von Pollin angegeben.
Aber auf dem Ding wird nichts angezeigt, ich haette erwartet das es
wenigstens mal kurz blinkt oder irgend ein anderes 'Lebenszeichen'
von sich gibt.
Wie koennte ich denn feststellen ob das Ding evtl. kaputt ist? Kann man
das irgendwie messen?

Gruss
A.

von Anton Keller (Gast)


Lesenswert?

... bin ich echt der einzige der dieses LCD hat?
... oder der einzige der zu dumm ist das Teil anzuschliessen?

von Benedikt (Gast)


Lesenswert?

Der laut Pollin verbaute Controller kann 128x64, das Display hat aber
240x64. Da passt doch was nicht...

Es kann also daran liegen, dass das Datenblatt von Pollin nicht ganz
korrekt ist.

von Stefan W. (wswbln)


Lesenswert?

Hallo Anton,

ich habe gerade diesen Thread entdeckt, als ich mal kurz die Bezeichnung 
eines LCDs, welches ich beim "Aufräumen" fand, in die Suchfunktion 
fütterte. Ich hoffe, Du hast das Dingens mittlerweile nicht entsorgt, 
sondern munter am Laufen und kannst/willst Deine Erkenntnisse evtl. 
teilen?

Grüße aus Berlin-Tempelhof,
Stefan

von Alexander L. (alexmuc)


Lesenswert?

Hallo alle zusammen,

bin auf das Forum über's AVR-Programmieren allgemein gekommen.
Möchte mich hiermit dem "Ich bring das M078CKA nicht zum laufen"-Club 
anschließen. Bin übrigens absoluter LCD-Neuling, ist also das erste 
Display, das ich anzusteuern versuche.

Meine Erfahrungen bisher:

* Demo-Programm mit paralleler Schnittstelle funktioniert nicht.
* Initialisierung mit Atmel AT90S2313 entsprechend Demo-Programm 
funktioniert nicht.
* Kontrastspannung 14-17V ergibt eine Stromaufnahme am V_0-pin von 
120-160 uA
* Nach Ablauf der Initialisierungs-Sequenz sieht das Display genau so 
aus wie wenn's gar nicht angeschlossen wäre.

Dass man es verwenden kann hab' ich auf der serdisplib-hp gesehen 
(http://serdisplib.sourceforge.net/ser/lh155.html). Hab da noch eine 
gewisse Hoffnung auf Erfolg.

Wie sieht's bei Euch aus?
lg aus Graz
Alex

von Alexander L. (alexmuc)


Angehängte Dateien:

Lesenswert?

So, falls hier noch wer mitliest: Display läuft jetzt.

Nachdem die Initialisierungssequenz

  RESET

  0xF0 RE = 0
  0x40 Start Display Line=0
  0x50 Start Display Line=0
  0x61
  0x70 n-line Alternating=2
  0xF0 RE=0
  0x81 Display on
  0x92 Control Register 2
  0xA1 x auto increment
  0xB2 Power on
  0xDE Electronic Volume = off (nicht verfügbar)
  0xE0
  0xF1 RE = 1
  0xE0 1/64 Duty
  0xF0 RE = 0

durchgelaufen ist, sieht das Ganze so wie am angehängten Bild aus (V_0 = 
14.5V).

Warum's bei mir zuerst nicht ging:
 * Eines von zwei Displays war nicht funktionstüchtig
 * Das STK200 war noch am µC-Board angehängt

Mit dem funktionstüchtigen Display und abgestecktem STK200 gings dann 
:).


hth
Alex

von Stefan W. (wswbln)


Lesenswert?

Danke!

von nest (Gast)


Lesenswert?

Hi!

bin seit drei tagen am versuchen dieses LCD zum Laufen zu bringen.
habe an Tny2313 angeschlossen, LH155-dattenblat, sowie dateien von 
Pollin durchgegessen...
programm sit in asm geschrieben.

wie initialiesiert man den?
die sequenz

  RESET

  0xF0 RE = 0
  0x40 Start Display Line=0
  0x50 Start Display Line=0
  0x61
  0x70 n-line Alternating=2
  0xF0 RE=0
  0x81 Display on
  0x92 Control Register 2
  0xA1 x auto increment
  0xB2 Power on
  0xDE Electronic Volume = off (nicht verfügbar)
  0xE0
  0xF1 RE = 1
  0xE0 1/64 Duty
  0xF0 RE = 0

ohne steuerpins (RESB, CSB, RS, WRB) bringt ja nicht viel...

habe schon 4 Stuck LCD versucht , mehrmals programm geändert ....

HILFE !!! :)

von nest (Gast)


Lesenswert?

schon erledigt.

wenn ich fertig bin (wenn ich zeit habe) , poste ich hier mein code (in 
ca. 1-2 wochen, oder verschnellern an: nest_jozhik@yahoo.de)

von Michael F. (nestandart)


Lesenswert?

also ... jetzt ist alles da.
1
sch.png    - cirquit
2
untitled.sch    - .sch file for Eagle 4.13 CAD soft
3
untitled.brd    - .brd file for Eagle 4.13 CAD soft
4
Sharp-M078CKA.hex  - file for ATtiny2313
5
Sharp-M078CKA.asm  - asm quellcode
6
tn2313def.inc    - include file for quellcode
7
isp.bat    - .bat file for AVReal programmer
8
avreal32.exe    - AVReal programmer

falls was ist - einfach melden: nest_jozhik@yahoo.de

von Michael F. (nestandart)


Angehängte Dateien:

Lesenswert?

anhang vergessen:(

von AVR_LCD (Gast)


Lesenswert?

@  Alexander Leopold: Kannst du deinen Code und geg. deine Schematic mal 
posten.

THX

von Alexander L. (alexmuc)


Lesenswert?

Hallo,

wird noch ein paar Tage dauern mit dem Code reinstellen - muss erst in 
meinen Backups danach suchen.
Vorweg kann ich schon mal sagen dass ich vier Displays ausprobiert habe 
und bestenfalls "alle Pixel ein" oder "alle Pixel aus" setzen konnte.


Grüße
Alex

von Jens K. (studone)


Lesenswert?

Ich kann nur sagen das dieses Diplay schon arge Kopfschmerzen bereiten 
kann.

Habs aber doch hingbekommen.

Um nicht lange rumzueiern...

Zwei wesentliche Dinge.

Datenblatt hat bei Init-Befehlsfolge Fehler.
es ist nicht die Fallende Flanke des WRB-Pins sondern die steigende 
Flanke. Habs im Labor ausgiebig gestestet.

Desweiteren das daten Blatt des LH155 ist für den Controller der 128x64 
unterstützen soll. Wir haben hier aber ein 240x64 Pixel display...was 
dazu schließen läßt das, dass M078CKA zwei ma den LH155 besitzen muß 
oder eine ausgeklügelte logik. :-)

Und wenn man sich mal die befehle ansieht mit der die addresse gesetzt 
werden soll so fällt auf das, für die x-adresse der Befehl 0x00 - 0x0F 
verwendet werden soll...mhm sind aber dann nur 16 Bytes ind der länge. 
Macht 16x8Bit -> 128Pixel wir haben 240!!! Wäre dann 30x8Bit.

Also muß noch ein Befehl her!!

Und den gibts :-) Nur nciit aufgeführt. Aber im Datenbaltt des LH155 auf 
seite 26 ist die Befehlstabelle.

Und es gibt den Befehl 0x00 -> set x-address

Und es gibt den Befehl 0x20 -> set y-address (lower)
Und es gibt den Befehl 0x30 -> set y-address (upper)

Nun nahm ch den Befehl der anscheinend dazwischenliegt(jeder halwegs 
gesunde Ingenieur plant keine Befehlstabbele und läßt eine lücke)

Also muß es den Befehl 0x10 -> set x address (upper) geben :-)

Und so kann man nun alles Pixel an gewünschter stelle setzen. ohne 
diesen schreibt man bis 0x0F sauber, aber dann (ohne auto increment der 
x adresse) wird man irgendwo hinschreiben schreiben nur nicht an 0x10 
oder höher.

Ich hoffe ich konnte helfen...viel spass noch dabei...

von Alexander L. (alexmuc)


Angehängte Dateien:

Lesenswert?

Hallo,

hier der Code. Ist im Experimentierstadium, am interessantesten wird 
wohl lcdInit() in M078CKA.c sein. Jens' Abhandlung (danke!) ist hier 
noch nicht berücksichtigt.
Mit Schematic kann ich leider nicht dienen, nachdem's ein fliegender 
Aufbau war.

Hth und freue mich über jede Anmerkung bezüglich Fehlern in lcdInit()!
Alex

von Jens K. (studone)


Angehängte Dateien:

Lesenswert?

So da es schon anfragen gab...poste ich mal meinen c-code...

Em schon mal sorry für die lcd_string() :-D
ist ein versuch texte putomatisch umbrechen zulassen. Mag keine 
abgeschnittenen Wörter. ^^

...wenn es noch fragen gibt nur raus damit... :-)

von Philipp K. (--phil--)


Lesenswert?

Danke!

Endlich bekomm ich mal was angezeigt :)

was mir aufgefallen ist: du beschreibst register beim lcd_init und 
lcd_setadress die in meinem datenblatt gar nicht aufgelistet sind... 
confused

von Jens K. (studone)


Lesenswert?

:-D die Erklärung findest du zwei-drei Beiträge oben ;-)

von Nemesis (Gast)


Lesenswert?

Hallo Leute

Hat jemand es mal versucht mit x & y autoincrement

Habe die Zeile in der init-Phase angepasst
von 0xA1 x auto increment
auf 0xA3 x & y auto increment

aber nun kommt nurnoch mist bei raus
Folgende ausgabe nutze ich

    write_cont (&H20)
    write_cont (&H30)
    write_cont (&H0)
    write_cont (&H10)
    For y = 0 To 63
        For x = 0 To 239
            write_data (daten(x, y))
        Next x
    Next y

Wo ist der fehler
liegt es vllt dadran das ich nur 240 pixel ansteuere obwohl rein 
rechnerisch die Chips 256 pixel ansteuern könnten !?

von Michael F. (nestandart)


Lesenswert?

Nemesis, in asm hat bei mir alles funktioniert. Also Feler ist bei dir 
in C-code. Schau mal in dein .HEX rein.

von Nemesis (Gast)


Lesenswert?

Nutze Basic
ok aber danke dann werde ich mal weiter auf die suche gehen

von Jens K. (studone)


Lesenswert?

Ja wie soll ich sagen...der Fehler liegt wirklich in deinem C-code.
Weil wenn ich mir so deine verschachtelten Schleifen anseh, kommst du 
auf 240 "Bytes"! x 63 "Bytes"! macht 15360 "Bytes"!! das kann nicht 
gehen...
denn das würde bedeuten das du in der Schleife von 0->239 nur ein 
Pixel(1Bit) schreibst...und das geht nicht! Nach jedem Schreibbefehl 
eines Datenbytes wird der LCD-controller eben die Adresse um +1 
incrementieren(erhöhen).

So etwas Mathematik: ;-)

Em laut Hersteller 240x64 pixel! Soweit gut...
Da man ja immer ein Byte schreibt, sind pro Zeile nur 30(240pixel/8bit) 
Schreibvorgänge möglich! Nach Beendigung des 30sten Schreibzyklus wird 
der LCD-controller die Zeile automatisch incrementieren.

Man kann sich das wie eine Mauer aus Ziegeln vorstellen... :-)
Jeder Ziegel besteht aus 8Pixel=1Byte der gelegt wird und es können 30 
in Reihe und 64 in der Höhe gelegt werden...

     |______X=0______||______X=1______| . . . . . . |_____X=29______|
Y=0  |_._._._,_._._._||_._._._,_._._._| . . . . . . |_._._._,_._._._|
Y=1  |_._._._,_._._._||_._._._,_._._._| . . . . . . |_._._._,_._._._|
Y=2  |_._._._,_._._._||_._._._,_._._._| . . . . . . |_._._._,_._._._|
.            .                .              .               .
.            .                .              .               .
.            .                .              .               .
Y=63 |_._._._,_._._._||_._._._,_._._._| . . . . . . |_._._._,_._._._|

Bei X und Y Incrementierung: da übernimmt der interne LCD-controller das 
"setzen" der Steine...erst 30 in Reihe...dann erhöht er die Zeile und es 
geht in der Reihe wieder von vorn los. :-)

So ich hoffe ich konnt helfen?! ^^

von Nemesis (Gast)


Lesenswert?

Vielen Dank
Bin selbst leider net drüber gestolpert

Jetzt gehts auch bei mir :)
aber wie man immer so sagt :
4 augen sehen mehr als 2 :)

von Anselm (Gast)


Lesenswert?

Öhm, ich und ein Kollege haben nun dieses Display zusammen mit der 
Pollin Steuerplatine besorgt.
5V und Kontrastspannung sind da, aber dass Display ist tot.
Da beide nicht gehen wollen, müssen wir den Fehler irgendwo anders 
suchen.
Weiss jemand einen Tip?

Gruß Anselm

von Anselm (Gast)


Lesenswert?

Okay, wir haben den Fehler, es war eine falsche Druckerporteistellung.
peinlichpeinlich ^^

von Fabian Cordes (Gast)


Angehängte Dateien:

Lesenswert?

Tachn!

Ich arbeite gerade einer Schaltung die das besagte LCD verwendet, aber 
es wollte auf Anhieb auch nicht so recht. Zur Info, ich verwende die 
Anschlussplatine von Pollin (Nettes Teil, verpolungssicher & erzeugt mir 
gleich die 5V für meine Schaltung :)
Schaltplan, code ect sind angehängt. C Code für das Display kommt gleich 
nochmal in einem eigenen Post.

Inzwischen bin ich soweit, dass ich erst die Init-routine und nun auch 
das Schreiben korrekt hinkriege. Aber das ganze hat noch komische 
Fehler.
Egal, in welche Zeile(Y-Addresse) ich schreibe, das geschriebene wird 
scheinbar für das gesamte Bild verwendet, beim Schreiben ist dann auch 
in allen Zeilen gleichzeitig die Änderung zu sehen. Ich kann auch in der 
Init die Ziel-Y-Addresse ändern und schreibe trotzdem überall hin.
Was exakt bedeutet das "Alternating Line"? So wie ich es verstehe, 
besagt dieser Parameter, nach wievielen Zeilen der Y-Pointer auf den 
Grafikpuffer auf Null zurückgesetzt wird. D.h. Das Bild könnte so 
mehrfach angezeigt werden. Dann würde eine falsche Einstellung auf 
rücksetzen nach 1 Zeile den Fehler zumindest beim Schreiben in Zeile 0 
erklären. Ansonsten habe ich keine Idee woran das liegen könnte.

Ausserdem stürzt der LH155 scheinbar ab (kein Bild mehr), wenn ich 
versuche ausserhalb der Init-routine auf Registerfunktionen zuzugreifen. 
Muss ich die immmer mit einem Display-Reset verbinden? Im Datenblatt 
habe ich keinen solchen Hinweis gefunden. Ausserdem passiert das 
gleiche, wenn ich während der Init "DVOL" setze. Auskommentiert läuft es 
durch. Meine erste Vermutung waren falsche Werte für die Register, aber 
habe alles doppelt und dreifach überprüft, die Werte auf dem Port 
stimmen (im Simulator), und die Zuordnung ist auch in Ordnung 
(D0->D0,usw).

Der Dritte total merkwürdige Fehler ist, das unter bestimmten 
Vorraussetzungen ich manche Spalten (d.h. Pixel mit gleicher X-Addresse) 
nicht setzen kann. Schreibe ich beispielsweise ein Muster wie 11111111, 
dann wird 11010010 angezeigt. Manchmal bleibt das Muster gleich, 
manchmal wird es beim 2. Durchlauf dann korrekt geschrieben. Dies 
passiert mit vorliebe bei niedrigen y-Addressen und setze ich während 
der Init beispielsweise die 32. Y-Adresse, dann läuft alles richtig*! 
Dann kann es doch kein Rauschen bzw irgendwelche Reflexionen auf der 
Leitung mehr sein.
Ausserdem ist es mir auch schon passiert, dass (ich schrieb da immer 
abwechselnd 1010... und 0101...) es ab dem 4, 5 mal durchlaufen 
plötzlich ging! Ich vermute, dieser Fehler ist auch Schuld an meinem 
zweiten Problem, da diese Registeradressen vermutlich falsch ankommen.

* merke: Ich schreibe ja scheinbar eh immer auf den ganzen Bildschirm, 
deswegen passiert bei jeder Addresse das gleiche, bis auf die Störungen, 
die manchmal da sind, manchmal nicht :(

Und zuletzt, da Jens Code ja scheinbar fast keine Delays benutzt, und 
meiner aber Taktzeiten von ein paar ms braucht, da kann doch auch etwas 
nicht stimmen. Können die vorigen Fehler ggf daran liegen, dass die 
Ansteuerung zu langsam ist?
Wie ist das Display auf deiner Platine angeschlossen? Auch mit 
Kabel&Pollin-Platine oder hast du den Folienleiter direkt an den AVR 
geführt? Ich habe auf meiner Platine 2x10Pol. Stiftleisten von dort ca. 
20-30 cm Flachbandkabel bis zum sub-d-Stecker der Adapterplatine


Falls einer von euch sich noch daran Erinnern kann (so alt ist der 
Thread ja noch nicht...), ähnliches bemerkt zu haben würde mir das 
vermutlich sehr helfen. Vor allem diejenigen, die kaputte Displays 
hatten :)
Vielen Dank schonmal, wenn ihr es tatsächlich geschaft habt, bis hier 
her zu lesen :) Freue mich auf eure Antworten

Viele Grüße
Fabian

von Fabian Cordes (Gast)


Angehängte Dateien:

Lesenswert?

So, hier nochmal der code fürs Display - der Rest findet sich im Archiv 
1 Post höher

von Fabian Cordes (Gast)


Lesenswert?

[quote] Können die vorigen Fehler ggf daran liegen, dass die
Ansteuerung zu langsam ist? [/quote]

Yup, können sie. Da schlage ich mich 3 Tage lang rum weil ich mir blöd 
vorkomm, deswegen zu posten, mach es, und presto eine halbe Stunde 
später komm man drauf. Hervoragend, so soll das funktionieren.

Viele Grüße,
Fabian Cordes

von rebel (Gast)


Lesenswert?

Hallo,

der Thread ist zwar schon recht alt, aber ich hab noch eine Lösung für 
die, bei denen nur Unsinn auf dem Display angezeigt wird, ich hab so 
viele Tipps ausprobiert, bis ich eine einfache, aber gut Lösung gefunden 
hab - für die Stromversorgung des Displays befindet sich ein 7805er auf 
der Platine und zusätzlich für die Kontrastspannung eine Schaltung zur 
Erzeugung der 13-17V Kontrastspannung, wenn man die Kontrastspannung 
extern zuführt, aber die Leitungen für den 7805er noch dran hat, dann 
zeigt das Display sehr viele Störungen an, wenn man diesen nun entfernt, 
dan läuft alles einwandfrei. ;)

-->Wenn es nicht geht einfach mal den Festspannungsregler auslöten, ich 
vermute hier auch ein Fehler seitens Pollin, denn wenn dieser nicht mit 
2 z.B. 10n Kondensatoren beschaltet wird, können Störsignale entstehen,

von Chris (Gast)


Lesenswert?

Halo,

hab mir bei Pollin das M078CKA-A3QKLA0057 Gekauft
gibt es dafür bereits irgend wo ein test programm
das mit PIC 16F arbeitet.

Schon mal danke führ die mühe

mit freundlichen Grüßen

Chris

von Ich (Gast)


Lesenswert?

Hallo

ich versuche auch das Display anzusteuern.

@ Jens Kleemann
Erstmal: Vielen Dank für den fehlenden Befehl

> Datenblatt hat bei Init-Befehlsfolge Fehler.
> es ist nicht die Fallende Flanke des WRB-Pins sondern die steigende
> Flanke. Habs im Labor ausgiebig gestestet.

Wo steht das?
Bei Pin-Description heißt es ganz klar:
"The data bus signal is input at the rising edge of WRB signal."
also bei der steigenden Taktflanke,
ganz im Gegensatz zu RDB, wo gilt:
"When the signal enters in the "L" state, the data bus of this IC turns 
to the 'output' state."
enters L-State => fallende Flanke

Dieser Thread hat mich schonmal viel weiter gebracht. Obs funktioniert 
weiß ich allerdings noch nicht.

von Ich (Gast)


Lesenswert?

Zur Pollin-Ansteuerplatine:

gekauft, gelötet, ausprobiert, super->zeigt das Pollin-Logo an.
Danach den Schaltplan angeschaut:
RDB liegt fest auf High, schade um den FFC-Stecker.
Also weggeschmissen, neue gekauft,
nur den 7805 + Step-up draufgelötet.
den ganzen Parallellport-kack allen weggelassen.

Daher nicht vergessen:
Ansteuerplatine 2x bestellen:
1x zum Testen obs Display geht.
1x zum Verwenden

von Eddie (Gast)


Lesenswert?

Hallo erstmal,

ich hoffe Hier kann mir jemand helfen denn ich stehe ein bisschen auf 
dem Schlauch.
Ich  habe das Display von Pollin, wie schon gehabt, und würde es aber 
gerne mit PHP ansteuern. Nun weiß ich das PHP nicht gerade die beste 
Variante ist den Parallel Port anzusteuen habe es aber schon häufiger 
geschafft und so denke ich das ich nur ein Problem in der Initalisierung 
habe des Displays habe.
Angesteuert habe ich schon ein Bondrucker über die Paralelle 
Schnittstelle indem ich ein textdatei mit den Codes erzeuge und diese 
per cmd an die LPT Schnittstelle ausgeben lasse. Ein andere Weg ging ich 
für das Relaisboard von Pollin, hier erzeuge ich eine Batchdatei die 
LPTout.exe ( kleines Schnittstellenprog aus dem Internet ), aufruft mit 
dem LPTWert als Parameter

Meine Programmcode ist wie folgt...

$ausgabe    = chr ( hexdec('f0') );
$ausgabe   .= chr ( hexdec('40') );
$ausgabe   .= chr ( hexdec('50') );
$ausgabe   .= chr ( hexdec('61') );
$ausgabe   .= chr ( hexdec('70') );
$ausgabe   .= chr ( hexdec('81') );
$ausgabe   .= chr ( hexdec('92') );
$ausgabe   .= chr ( hexdec('a1') );
$ausgabe   .= chr ( hexdec('b2') );
$ausgabe   .= chr ( hexdec('de') );
$ausgabe   .= chr ( hexdec('f1') );
$ausgabe   .= chr ( hexdec('e0') );
$ausgabe   .= chr ( hexdec('f0') );


for ( $y = 0 ; $y < 63 ; $y++ ) {

  $disp=0;
  for ( $x = 0; $x < 30 ; $x++ ) {
    $ausgabe .= $disp++;
  }
}

$ds = fopen ( "ausgabe.txt" ,"w");
fwrite ( $ds, $ausgabe );
fclose ($ds);

system("type ausgabe.txt >lpt1");

Schonmal danke im voraus,hoffe ich mach ich hier nicht lächerlich. Die 
Ausgabe ist einfach nur einen BinBlabla wenn ichs richtig verstanden 
habe sendet er so 00000000 00000001 00000010 00000011....

Grüße Eddie

von M. S. (schmitti)


Lesenswert?

Hallo,
ich bin ein Neuer...
Habe mich in letzter Zeit intensiv mit 2 Pollin-Displays beschäftigt, um
sie mit einem AVR anzusteuern. Dabei bin ich bei Fragen immer wieder
hier im Forum gelandet. Mittlerweile habe ich es geschafft, die beiden
Displays zum Laufen zu bekommen, unter deutlicher Hilfe der Beitäge
hier. Und mit der Anmeldung und dem Beitrag hier möchte ich
gewissermaßen was zurückgeben.

Also, der Thread ist nun schon etwas älter, aber vielleicht hat ja noch
jemand von euch Interesse an dem M078CKA Panel. Immerhin hat es schon
eine ganz gute Auflösung von 240x64, so dass man schon einiges anzeigen
kann, und es ist ziemlich günstig bei Pollin (solo 3€, mit
SubD25-Platine 6€).

Wie Jens Kleeman damals schon geschrieben hatte, kann das Display
ziemlich unhandlich sein... Letztlich habe ich es geschafft, wobei ich
sagen muss, dass kein einziger Code hier aus dem Forum gelaufen ist,
warum auch immer. Meine eigene Lösung bietet nun folgendes über dem
anderen:
- grafische Ansteuerung (Pixel setzen/löschen) und
- ein 6x8-Font für 40 Zeichen pro Zeile (und im Prinzip auch freier
Fonthöhe).
- Scrollen bei Seitenende, wie eine Console...

Möglich wird dies allerdings erst dadurch, dass ich über die
AVR-Verbindung zur SubD-25 Platine eine Verbindung zum Lesen eingefügt
habe. Die wird leider bei der Pollin-Platine nicht herausgeführt. Man
kann damit eine ausreichende Consolenausgabe realisieren. Im Moment bin
ich noch dabei, einen Proportional- bzw. einen 6x7-Font anzupassen,
damit ließen sich 9 zeilen und noch mehr Zeichen pro Zeile realisieren.

Also vielleicht interessiert das noch jemanden, dann würde ich meine
Sachen hier auch genauer vorstellen.

von M. S. (schmitti)


Lesenswert?

Vielleicht noch was zum Hintergrund: Mein Ziel war es, ein kleines 
Display ins Netzwerk einzufügen, um irgendwas anzeigen zu können, 
Wetterbericht, RSS o.ä. Dazu dachte ich mir, einen alten 
Parallel-Printserver zu nehmen. Soweit zum Vorhaben.

Mittlerweile hat es auch geklappt, ihn an den AVR zu stöpseln (aber das 
Timing mit Printservern, hier Allnet, war irgendwie ganz schön 
haarig...). Verbunden mit einem einfachen Message-Protokoll und mit 
meinem obigen Beitrag ergibt sich nun die Möglichkeit, mittels einer 
kleinen Verbindungsplatine das Panel an den Printserver zu stecken und 
irgendwo ins Netzwerk zu bringen, und schon kann man da irgendwas drauf 
ausgeben (Text oder Grafik), vollkommen systemunabhängig.

von Ale (Gast)


Lesenswert?

Ich weiss daß alt ist aber... Hat jemand das Display mit 3,3 V als 
Versorgungspoanung benutzt ?

von W.S. (Gast)


Lesenswert?

Die Teile sind grad gesenkt am Ausverkauf. Also entweder jetzt oder 
nimmermehr.

W.S.

von Michael G. (let)


Lesenswert?

> Ich weiss daß alt ist aber... Hat jemand das Display mit 3,3 V als
> Versorgungspoanung benutzt ?

Ja, ist kein Problem. VDD1 + VDD2 an 3,3V. Vo an gut 15V.

Tolles Display. Hat nur leider keine Hintergrundbeleuchtung. Dafür ist 
es schön flach. Der Folienleiter läßt sich auch direkt anlöten ohne dass 
er gleich wegschmilzt.


> Die Teile sind grad gesenkt am Ausverkauf. Also entweder jetzt oder
> nimmermehr.

Oha, danke für den Hinweis! Ich bestelle mir gleich noch ein paar auf
Vorrat. Eins habe ich noch und das ist auch bereits verplant.

von Sven K. (oog)


Angehängte Dateien:

Lesenswert?

Ich habe hier ein Testprogramm für das LCD, das neben der Textausgabe 
noch einige Grafikfunktionen enthält.

Bei der Initialisierung ist es möglich, den Displayinhalt um 180 Grad zu 
drehen, so dass das Display-Kabel wahlweise nach oben oder nach unten 
weg geht. (#define lcd_turn180)

Um die Grafikfunktionen zu nutzen, ist es erforderlich, die WRB-Leitung 
mit dem Controller zu verbinden, da der Controller (bei mir ein ATMega 
16) zu wenig Speicher hat für einen Bildschirmpuffer (2KByte).  Die 
WRB-Leitung ist auf dem Pollin Adapter-Board nicht einzeln 
herausgeführt, hier muss man etwas basteln.

Die Grafikfunktionen habe ich teilweise anderen Libs hier im Forum 
entnommen und entsprechend angepasst. Hinweise auf die Urheber der 
einzelnen Funktionen habe ich eingefügt. Rechtecke, Kreise und Ellipsen 
können wahlweise gefüllt gezeichnet werden. Pixel lassen sich setzen, 
löschen oder invertieren (lcd_color = 1, 0, -1).
Die Pixel des Sharp-Displays sind nicht quadratisch, so dass man runde 
Kreise nur mit der Ellipse-Funktion hinbekommt. Die Grafikfunktionen 
sind so ausgelegt, dass keine Bereiche doppelt gezeichnet werden, dies 
würde im XOR-Mode unschöne Störungen verursachen.

Anbei ein paar Bilder und der Quelltext.

oog / proog.de

von W.S. (Gast)


Lesenswert?

M. G. schrieb:
> Tolles Display. Hat nur leider keine Hintergrundbeleuchtung.

Ja, ist ein gutes Grafikdisplay. Ich hab dieses Display mit einer 
Beleuchtung versehen, aber das ist in 3 Punkten problematisch:

1. Man kann zwar die Reflexfolie problemlos abziehen, ohne den 
Polarisator zu beschädigen, aber den Kleber hab ich nicht abgekriegt. 
Etwas derart elend klebriges ist mir noch nie untergekommen und mit 
schärferem als Alkohol wollte ich nicht rangehen

2. Das Basteln einer wirklich glatt und gut aussehenden Beleuchtung ist 
ne Herausforderung der besonderen Art. Wenn überhaupt, dann sollte man 
zuallererst sich eine Beleuchtung bauen und sie testen. Das Display 
darüber ist ja glasklar, man sieht also jeden Mist, den man gemacht hat.

3. Das Befestigen des Displays auf der Beleuchtung ist auch nicht 
einfach. Wahrscheinlich mit ein paar hauchschmalen doppelseitigen 
Klebstreifen, sonst sieht es doof und bastlerisch aus.

W.S.

von Trollpatsch (Gast)


Lesenswert?

Nachdem es dieses Display inzwischen bei Pollin nicht mehr gibt: Ich 
habe mir von diesem netten Display einen kleinen Vorrat angelegt und 
gebe Interessierten auch gern zu meinem damaligen Einkaufspreis von 3 
Euro plus Versandkosten welche ab. Die Adapterplatine gibt es noch 
direkt bei Pollin. Einfach E-Mail an fla <at> gmx <pünktchen> tm (NICHT 
de!)

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
Noch kein Account? Hier anmelden.