>War da auch Fading ?
Halbwegs :P.. In der Demo ist's so gelöst das ich dem Controller
jedesmal sage das er die Farbe ändern soll und dann halt das ganze
überzeichnet.
Eventuell komm ich aber auf die Idee mit dem Fading zurück. Spart ne
Menge an Daten ^^
Worüber ich mir noch Gedanken machen muss ist die Sache mit dem
Empfangspuffer. Hin und wieder hab ich das Problem das mir das array zum
zwischenspeichern der daten vom UART ( immerhin 256 byte ) überläuft..
das muss nochmal neu überdacht werden :)
Ja nu was will man sagen.. Display ist relativ günstig zu beziehen,
ansteuerung relativ einfach gehalten und der effekt ist groß (176x132
pixel in farbe uiuiuiuiui :D)
@ Borsti
Schaut im Prinzip schomal sehr schön aus !
aber sagmal, warum verwendest du nicht einfach schonmal eine vorgegebene
Lib und bindest an die einfach nur ein uart-interface an ? auf die art
könntest du das ganze projekt an einem Tag realisieren :)
ajo, und noch ne Frage. möchtest du wirklich einen mega2561 verwenden ??
ein mega128 ist schon überdimensioniert, das ganze würde sich sogar auf
nem mega32 noch vollkommen wohlfühlen :) vorteil wäre, das das projekt
weit günstiger zu realisieren ist ! (ein Beispiel: meine C-Grafiklib
nimmt 5700byte Flash und 23byte Ram ein ;) da vielleich noch die einie
andere Funktion zu, und dann das USART-Terminal und du bist imernoch
recht sicher unter 16k)
wenn du ein Projekt machst, das für viele leute sein soll ist ein
günstiger nachbaupreis sowie eventuell auch eine Version nur für
bedrahtete Bauteile immer von Vorteil :)
@Gunni
ich habe mehrere Display3000 Module (anfangend seit 2005) im Einsatz und
ich kann bestätigen das die Software mit den hier kursierenden
Fragmenten nichts zu tun hat. Das ist lediglich ein Gerücht und bislang
ist ja auch jeder den Beweis schuldig geblieben. Ich glaube auch nicht
das hier abgeschaut wurde, denn etliche Befehle (z.B. 90° Drehung war
von Anfang an vorhanden) waren in der Display3000 Doku schon
dokumentiert bevor sie hier auftauchten...teilweise fehlen sie hier auch
noch (z.B. die Abschaltsequenz). Es ist also vielleicht sogar umgekehrt:
jemand holt sich die infos dort und setzt sie hier rein. Aber das ist
nur Vermutung. Keine Ahnung warum Display3000 diese Gerüchte hier nie
dementiert; vielleicht um keine Trolle zu wecken.
Das 1.5" ist tatsächlich ein 65000 Farben Display, was ein wesentlich
besseres Bild als das übliche 4096 Farben Nokia Display hat.
Die Softwareroutinen gibt es übrigens für beide Displays als Library in
C und Basic. Die Kommandos sind bei beiden Displays identisch, d.h. man
kann jederzeit von einem Display zum anderen switchen: einfach nur die
neue Library im File angeben und neukompilieren: Fertig.
Ich war übrigens vor ca.4 Wochen mal dort um was abzuholen. Sie hatten
vergessen von einem hinteren Tisch was wegzuräumen - geile Sachen habe
ich gesehen..... ist für ein Kundenprojekt und ich musste versprechen
nicht drüber zu sprechen.... also halte ich die Klappe, auch wenn es
schwer fällt. Wenn es das mal dort für alle zu kaufen gibt: Hammer!
Klaus
P.S. Habe über den Youtube Link oben auch Leute entdeckt, die einen
Bierbrauautomaten (ob meine Freundin mir sowas wohl erlauben würde
ggg) mit einem älteren D072 von Display3000 programmieren:
Hier sind ein paar Links:
http://www.youtube.com/watch?v=xtSXgI_YnPg und
http://www.youtube.com/watch?v=ReRWOblLscM
>aber sagmal, warum verwendest du nicht einfach schonmal eine vorgegebene>Lib und bindest an die einfach nur ein uart-interface an ?
wäre doch viel zu einfach ;)
>ajo, und noch ne Frage. möchtest du wirklich einen mega2561 verwenden ??
Nö, nur entwickel ich das ganze auf dem bereits angesprochenem Modul von
Display3000, neue Displays werden demnächst bei ebäh bestellt, abhängig
von der code größe entscheide ich mich dann für einen passenden atmega.
Alle Register u.Ä. werden am Ende mit defines gesetzt damit man das
direkt auf verschiedener hardware benutzen kann :)
Nach 2 Tagen lesen hab ich jetzt alles durch... Leider wurde die Frage
bzw. des Software SPI noch nicht beantwortet. Ich würde das Display
gerne per Software SPI nutzen, da mein Hardware SPI bereits in Nutzung
ist. Gibts dadurch Nachteile die man bedenken sollte?
jup, richtig. nur der slave bei dem CS auf LOW ist nimmt aktiv am
Busverkehr (sei es nun lesen oder schreiben) Teil, die anderen
ignorieren einfach alles
Hallo,
ich konnte jetzt auch endlich meinen Aufbau (Mega 644 mit 74HC4050 als
Levelshifter und S65 Display) zum Laufen bringen.
Dabei hatte ich mit einigen Problemen zu kämpfen:
1) Hardware SPI benutzt andere Pins (Wer lesen kann ist doch klar im
Vorteil :-))
1
#define LCD_CS B,0
2
#define LCD_RESET B,1
3
#define LCD_RS B,2
4
5
// Info: Es wird Hardware-SPI verwendet vvvvvv
6
#define LCD_MOSI B,5
7
#define LCD_MISO B,6
8
#define LCD_SCK B,7
9
// Info: Es wird Hardware-SPI verwendet ^^^^^^
2) SPI ging immer von selbst in den Slave Mode. Nach genauem Studium des
Datenblattes musste ich feststellen, das es besser ist SS(PB4) als
Ausgang zu schalten da ansonsten bei einem Low Pegel automatisch auf SPI
Slave umgeschaltet wird.
1
intmain(void)
2
{
3
PORTB&=~_BV(PB4);
4
DDRB|=_BV(PB4);
5
6
S65_Init();
7
S65_HgBelInit(2);
8
S65_Fillscreen(0xFFFF);
3) Timer2 Einstellungen an den 644 angepasst. Die Hintergrundbeleuchtung
liegt bei mir jetzt auf PD7 (OC2A).
1
voidS65_HgBelInit(uint8_tHelligkeit){
2
PORTD&=~_BV(PD7);// clear port before enable
3
DDRD|=_BV(PD7);// will be used for OC2, must be output
4
TCCR2A=_BV(WGM21)|_BV(WGM20)|_BV(COM2A1);
5
TCCR2B=_BV(CS20);
6
TCNT2=0x00;
7
OCR2A=pgm_read_byte_near(&HG[Helligkeit]);
8
}
Nachdem dann doch alles lief wollte ich zum Test eine Grafik auf dem
Display ausgeben und wurde mit recht merkwürdigen Balkengrafiken
belohnt. Nach einigem hin und her lief es dann doch. Bei dem Aufruf von
"S65_PutRawBmp16" müssen anscheinend Höhe und Breite getauscht werden.
Mit folgendem Aufruf hat es dann mit einem vollflächigem Bild gepasst:
Wenn ich nun die Power down Routine aufrufe, verschwindet die Anzeige
(Hintergrundfarbe und Text) auf dem Display langsam. Vom Verhalten
ähnlich wie beim Ausschalten der Displayversorgungsspannung. Ist das
normal oder müsste das Display schlagartig weiß werden?
Falls das Display eigentlich sofort weiß werden müsste, hatt dann jemand
eine Idee, was ich evtl. übersehen haben könnte?
Vielen Dank
Frank
huene,
sah bei mir auch so aus.
die sequence ist so nicht verwertbar. war wohl mal als
experimentieransatz gedacht. aber ist schon schade, dass sich bisher
logikanalysator und telefon nie getroffen haben. habe da ein TLA5204,
aber eben nix zum messen.
nur auf verdacht ein handy kaufen, von dem ich nicht weiss, ob ein LS020
drinsteckt, nunja..
Hallo!
Ich habe mich jetzt nochmal rangetraut. Nach einem Fehlversuch hatte ich
vorerst aufgegeben, aber nun hab ich Zeit und Lust das Ding ans Laufen
zu bekommen!
Ich nutze einen ATmega8 und habe das L2F50 Display.
Habe genau die Verschaltung von superkranz übernommen und mehrmals
gecheckt. Geändert habe ich im Tesprogramm nur die Ports verändert:
#define LCD_CS PB2
#define LCD_RESET PB1
#define LCD_RS PC0
#define LCD_MOSI PB3
#define LCD_MISO PB4
#define LCD_SCK PB5
Dementsprechend ist es auch verschaltet.
Dazu habe ich nur die ersten 5 ASCII-Zeichen drin. (const uint8_t
ascii_tab[5][14] PROGMEM = { ....... )
Als Testausgabe habe ich "!!!###". Ist es nötig dass noch ein \0 hinten
dran hängt wie beim Testprogramm?
Mein gravierenes Problem ist halt dass ich keine Ausgabe habe. Es wird
nichts ausgegeben. Manchmal kommt ein Bildrauschen. Aber auch nicht
immer. SEHR komisch.
Weiß da einer Rat? Was könnte das prob sein?
MfG Dominik
Hallo,
irgendwo in diesen Thread meine ich gelesen zu haben, dass alle Signale
auf einen Port liegen sollten. Desweiteren hatte ich das Problem das der
Complier die Warteschleife wegoptimiert hatte. Wurde auch mal in diese
Thread geschrieben und hatte bei mir geholfen.
Ich bin aber noch am Anfang mit meinen Versuchen in C und mit dem
AVR-Controller. Daher habe ich sicher mehr Fragen als Antworten.
MfG
Frank
Die Signale müssen nicht zwingend auf einem Port liegen.
LCD_RS und LCD_CS sind eh software Signale (Hardwareunabhängig).
Wichtig ist bei MISO, MOSI und SCK das sie am richtigen port liegen.
Unterumständen brauchst du ja mehr CS leitungen weil du mehr Slaves dran
hast als du Pins an dem jeweiliegen Port noch frei hast.
hallo,
auch ich habe ein problem, ich habe mich grob an die pinbelegung des
einen bildes in diesem thread für den mega16 gehalten (is ja mega32
pinkompatibel) und das mega32 beispiel genommen.
nun meine erste frage:
#define LCD_CS PB4
#define LCD_RESET PB1
#define LCD_RS PB0
#define LCD_MOSI PB5
#define LCD_MISO PB6 <-- was liegt da für ein pin an? ich habe dafür
keinen finden können
#define LCD_SCK PB7
pflicht ist ja folgendes:
DAT an MOSI, also PB5
CLK an SCK, also PB7
aber was ist bei dem display bitte MISO? ich finde es einfach nicht.
und nun meine zweite frage:
ich erzeuge die 2,9V mit einem 3V festspannungsregler, was auch gut
klappt (multimeter zeigt bisher ohne last 2,9 an). Wenn ich noch keine
12V anlege für die LED-Beleuchtung, dann sieht dann müsste doch alles
noch genau so gehn wie beim handy (anzeige sehr matt, aber dennoch
lesbar (habe ein M65).
Grüße
PS: ich habe ein LPH88
@Fridolin:
Der MISO muss für den SPI betrieb konfiguriert werden.
Auch dieser muss auf dem richtigen PIN konfiguriert werden.
Wir aber in der tat an dem Display nicht angeschlossen.
Zu deiner zweiten frage:
Ja, das Display sollte auch ohne Hintergrund Beleuchtung etwas anzeigen
(unter Umständen etwas schlechter zu lesen als mit Bel.).
Mit welcher VCC versorgst du deinen µC? Auch mit 3V?
Ansonsten brauchst du nen Levelshifter. (Siehe weiter oben)
Mein Mega32 läuft mit 5V und somit mache ich Levelshift über die 470 Ohm
(und 610Ohm gegen GND, wobei ich mich wundere, warum hier ein so
geringer Widerstand gewählt wird), das sollte ja eigentlich hinhauen.
Könnte etwa Kabellänge ein Problem sein? ich habe etwa 7cm kabel vom
Display zum 10-Pol Wannenstecker, und dann gehts von hierausnochmal
durch die Widerstände und dann direkt mit ner Buchsenleiste an den
Mega32.
Ich glaube, mein Fehler liegt in der Pinbelegung;
diese Beiden Pins sollten soweit ich das verstehe frei wählbar sein.
#define LCD_RS PB0 <- LCD-Pin1
#define LCD_RESET PB1 <- LCD-Pin2
Auch dieser sollte relativ frei wählbar sein, da es ja den Slave angibt,
aber da öfters SS (PB4 bei Mega32) genommen wird, wollte ich mir da eine
Fehlerquelle ersparen.
#define LCD_CS PB4 <- LCD-Pin3
Die Restlichen Pins sind Pflicht:
#define LCD_MOSI PB5 <- LCD-Pin5
#define LCD_MISO PB6 <-- bleibt leer
#define LCD_SCK PB7 <- LCD-Pin4
Dann muss noch an LCD-Pin6 und Pin8 noch 3V angelegt werde, und LCD-Pin7
auf GND.
Und dann sollte doch das simple-demo mit anpassen der CPU, Taktrate und
Pin-Defines funktionieren, oder?
Hallo,
hat jemand schon die Lib für den MSP430 verwirklicht ?
wo finde ich das Datenblatt für das LPH88xx
ich gebs zu, ich hab mir den Thread noch nicht von ANfang bis Ende
durchgelesen, man möge mir dies verzeihen ;)
gruß
Thomas
hmm.. find ich echt schade, dass sich keiner dazu in der Lage fühlt,
eine klare einfache kurze Aussage zu machen, wie das vorgehen mit einer
Mega16/32 Architektur ist...
Anscheinend haben das ja einige problemlos hinbekommen - bei mir bleibt
halt alles schwarz.
Hi ihr alle,
ich versuche, die LS0XX Library in meinem Atmega 2560 Projekt
einzubinden, bekomme aber immer eine "undefined reference", wenn ich die
Methoden verwenden will. An was könnte das liegen?
Habe alle Verzeichnisse und Dateien wie in der Test-Datei included(Auch
in den Projekteinstellungen). Verwende das AVR Studio
Auf was muss ich noch aufpassen, wenn ich statt dem Atmega16 den 2560
verwenden will?
Danke schonmal
Michi
Fridolin wrote:
> hmm.. find ich echt schade, dass sich keiner dazu in der Lage fühlt,> eine klare einfache kurze Aussage zu machen, wie das vorgehen mit einer> Mega16/32 Architektur ist...> Anscheinend haben das ja einige problemlos hinbekommen - bei mir bleibt> halt alles schwarz.
Junge...der Thread hat über 1000 Messages in denen alle möglichen
Fehler/Probleme diskutiert wurden, da muss doch wohl genug Info drin
sein, um dein Problem zu lösen....
µluxx, mal abgesehn von deiner doch etwas patzige Ansprache, denk mal
kurz nach: würde ich einen solchen Post erstellen, wenn ich nicht schon
aufgegeben hätte?
Klar, es sind viele Posts, und ich habe sie so mehr oder weniger alle
mal gelesen (wobei fast nix hängenblieb) und dann auch schön nach
Stichworten gesucht, aber effektiv hat es dann nicht funktioniert. Daher
hab ich mal meine bisherigen Erfahrungen und Schritte übersichtlich
zusammengefasst, in der Hoffnung, dass jemand weiß, was daran Falsch
sein könnte, sodass das dann auch nachfolgenden Leuten helfen möge.
@Fridolin
Ich habe mit dem Bilderrrahmenprogramm von M. Bode angefangen. Nach der
Anpassung der Funktion mswait (wurde in der ursprünglichen Version
wegoptimiert) funktionierte mein Display. Als Levelschifter habe ich die
Kombination 470-560R. Hatte gerade nichts anderes in der Bastelkiste.
Kabel habe ich mind. 10cm dazwischen + Drahtbrücken, Steckbrett usw.
Sollte als kein Problem sein.
Mal sehen, ob ich noch etwas zum Power-Down herausfinde. Das M65 ist
schon geöffnet. Ich wollte ein paar Drähte anbringen und dann mal
versuchen die Power-Down Sequenz mitzuschreiben.
MfG
Frank
Hey, geile sache mit den Displays, diese Folie zu löten is allerdings
echt ein Krampf. Einzige Chance: IDE Flachbandkabel zerschnippeln (ham
eh alle SATA, die alten DIngr brauchen wa nich mehr) und dann diese
mini-einzel drähte der leitungen auf die Folie löten, das klappt
einigermaßen.... Aber dann diese Drähte ins Steckbrett? oh mann, das is
echt ne qual aber ich denke in 1-2 Tagen hab ichs am laufen... Hab jetz
ersma 2-3 Stunden rumgelötet bis es einigermaßen klappt...
ich benutze 2200/2700 Ohm Spannungsteiler und komme auf ca. 2,76V, hab
keine anderen da und ich glaube kaum das mir diese 0,14V schlaflose
nächte bereiten werden ;) Hintergrundbeleuchtung klappt ebenfalls schön
und sieht echt gut aus (bis mir das Kupferpad der Folie abgegangen is,
argh!)
Naja, dafür kosten die Dinger auch nich die Welt... schöne Grüße
Hallo Zusammen!
Kann mir jemand weiterhelfen?
Ich habe ein Display LS202 an einen atmega32 angeschlossen. Dieser ist
intern mit 8MHZ getaktet.
Jetzt hab ich beim Programm LS202-RGB.BAS die Anzeige wie auf dem Foto.
Hat jemand ne Idee wo der Fehler liegt?
Danke
Richard
Richard, ich kann dir leider nicht helfen, aber könntest du so nett
sein, und deine Beschaltung grob aufzeichnen und dann z.b. als Bild
reinstellen?
Bei mir bleibt nämlich wie schon gesagt leider der Bildschirm schwarz -
ich seh netmal so schöne Muster wie du ;D
Hallo Fridolin,
da du ja so verzweifelt bist...
Ich finde erst mal keinen Fehler bei deiner Beschaltung. Der Atmega 32
funktioniert problemlos mit der SW und dem Display (selber getestet).
Wenn du also die zum Display passende SW nimmst, sollte es funktionieren
nachdem du lediglich den Takt und die Port Definition geänderst hast.
Kannst du überprüfen (Osci) ob die Signale am Display ankommen? Wenn ja,
ist u.U. das Display defekt oder Löt-Probleme?
Grüße
SU
Hey!
@Obelix:
Also der anfang sieht danach aus als wenn du die farben falsch
hochzählst. Was willst du da denn ausgeben? Wenn man "normal" das
komplette Farbband, also die 5-6-5 Bit Kombi hochzählt, dann kommt
dieses komische Muster. Der rest ist noch der test von deiner
initialisierung.
Gruß Dominik
PS: Mein Fehler war dass ich bei der Portänderung vom B Port auf den C
Port vergessen habe die Def alla PORTB |= ..... nach PORTC |= .... zu
ändern. :>
Hallo SU,
> Ich finde erst mal keinen Fehler bei deiner Beschaltung. Der Atmega 32
funktioniert problemlos mit der SW und dem Display (selber getestet).
ok, schonmal gut zu wissen, dann werd ich mal mehr an der Software
rumspielen
> Kannst du überprüfen (Osci) ob die Signale am Display ankommen?
nein, hatte nur ein oszi geliehen. muss ich mal schauen, dass ich
nochmal drankom.
>Wenn ja, ist u.U. das Display defekt oder Löt-Probleme?
Also auf Kabelbruch hab ich das Kabel untersucht, und durchgang (mit dem
Entsprechenden Widerstand) hatten auch alle Leitungen...
Nunja, ich werde dann wie gesagt mal schaun, ob ich Softwaremäßig nen
Fehler gemacht hab.
Vielen Dank!
hmm, ich hänge mal das ganze Projekt an.
Die interessanten Funktionen sind in display.c und vieleicht noch
backlight.c
Das ganze Programm wird so wie es ist nicht laufen da als erstes ein
Bild von einer SD-Karte geladen wird.
also nich hauen, aber ich stell n paar doofe Fragen und selbst wenn ich
alles hier lese, dann werd ich ned schlauer ... daher ...
1.) ich hab ne Funktion für das LHP88 geschrieben (als Erweiterung für
den Ur-Code von Superkranz) daß eine Linie malen soll - Strich in
X-Richtung, sieht so aus:
Auffruf im Programm:
x_line(0,20,174,0xffe0); // Pos x,y Länge, Farbe
void x_line(unsigned int x, unsigned int y, unsigned int l, unsigned int
c)
{
uint16_t i;
PORTB &= ~_BV(LCD_CS); // Auswahl Display
lcd_comtype(0x16);
lcd_comdat(0x83-y, 0x83-y); // y - Koordinaten
lcd_comtype(0x17);
lcd_comdat(x+l, x); // x - Koordinaten
lcd_comtype(0x21);
lcd_comdat(0x00, 0x00); //
lcd_comtype(0x22);
lcd_write(0x76);
for (i=0; i<DISP_W*DISP_H; i++)
{
lcd_write16(c); // mit Farbe ausfüllen
}
PORTB |= _BV(LCD_CS); // Display weg
}
es malt auch einen Strich, aber zwei Pixelreihen breit und ich versteh
bei Nacht ned wieso - ihr? Wenn ich das Ganze für Y-Richtig verbiege, is
der Strich nur ein Pixel breit!
wo wir schon dabei sind, was macht:
lcd_comdat(0x00, 0x00); //
lcd_comtype(0x22);
also ich mein natürlich welchen Sinn hat es?
Die Frage nach einer funktionierenden und für mich verständlichen
Funktion zur Ausgabe eines Bitmaps gibt es auch ... und woher bekommt
man die Sorte Displays die für die GLCD passen, weil bisher hab ich bei
ebay nur LHP und die Epsonteile entdeckt ... ???
Danke
Hallo Freunde,
entschuldigung über mein Deutsch (Ich spreche Portugiesisch und english
und jetzt learnen Deutsch). Vielleicht werde ich mal auf English
schreiben?
Zuerst möchte ich "Hallo!" sagen und Gratulieren für diese forum.
Bitte, ich möchte LS020B8UD05 benutzen mit PSoC mikrocontroller oder
PIC. Haben Sie vielleicht ein bisschen code auf C-programmin?
Danke für alles!
Grüsse von Brasilien,
Henrique
e-mail: henriquevilela@cmosdrake.com.br
hi henrique,
some posts upwards i postet a "library" in C for use with Atmel-mega
µCs. Of course it wont directly run on your controller. But if you
modify the hardware-part of the librarie (the SPI-Part) the high-level
functions will run without problems i suppose.
Best regards,
Marc S.
Hi Marc!
Thank you so much. My Deutsch is basic... but at least you could
understand! :)
I saw some codes here... but they end up in ASM code.
Maybe I didn´t pay much attention to other library.
Thank you!
Henrique V
I am here just to let you know that everything is just fine!
The display is Awesome!
Thanks for the help!
If yo guys need anything... I´ve got a code for PSoC.
Grüsse,
Henrique Vilela
maybe it would be good if you simply put the essential code-parts in a
.zip and post it here in the forum so that everybody is able to use the
code if he wants :)
i dont use psoc-chips but there are so many questions about different
controller hier in this thread i think it might be quiets usefull
Greets, Marc
Sure Marc!
This is a good idea!
One thing I got to say..... using ASM SPI code is far faster than C SPI
code.
I made a simple ASM SPI code and it is about ten times faster.
Please.. feel free to replace the C code... as I used simple
instructions I think anyone can use it.
Best Whishes!!
Henrique Vilela
Hallo Jungs,
kennt jemand das S65 Display -> P03.... ?
ist es zuwas kompatible ( Außer mit dem Handy )?
Wird bei Ebay angeboten, sieht ähnlich aus wie das LS020...
Hallo Marc.
Vielen Dank erstmal für deine Lib. Bin bis jetzt zufrieden. Was ich aber
noch vermisse ist eine Funktion für Rechtecke mit abgerundeten Ecken.
Ansonsten super Arbeit. Weiter so!
Solche Rechtecke kann man mit der gleichen Routine zeichnen lassen die
auch Ellipsen und Kreise zeichnet. So habe ich es bei meiner S65 Library
gemacht. Zeichnet man eine Ellipse so benutzt man 2 unterschiedliche
Radien für die sich gegenüberliegenden Ecken eines Rechteckes. Sind
beide Radien exakt gleich so entsteht ja nach Größe der Radien entweder
ein exaktes Rechteck (wenn Radien = 0 sind) oder abgerundetes Rechteck
wenn Radien < Halbierende der längsten Kante sind, oder ein exakter
Kreis wenn das Rechteck ein Quadrat ist und die Radien sind exakt die
Hälte der Kantenlänge.
Eine Ellipse entsteht wenn die Radien jeweils exakt die Hälfte der
jeweiligen 2 Kantenlängen sind und das Viereck ein Rechteck ist und kein
Quadrat.
So kann man zb. auch eine abgerundete Tonne zeichnen lassen, wenn zb.
der eine Radius größer ist als die Hälfte der jeweiligen Kantenlänge und
der andere Radius = 0 ist.
Ergo: mit einer cleveren Zeichnroutine für Ellipsen lassen sich auch
Kreise und abgerundete Rechtecke zeichnen.
Gruß Hagen
zur Info:
Ich auf der web-Seite ein update für den LPH Code aufgespielt. Der läßt
sich jetzt auch mit der neuen gcc Version (getestet 4.2.1) fehlerfrei
compilieren und läuft bei mir mit Atmega128 bei 16MHz.
CPU Takt ist in disp.h einzustellen. In der simple.c habe ich auch noch
den PWM backlight timer programmiert, damit bei mir die
Hintergrundbeleuchtung geht. Die drei Zeilen müsst ihr u.U.
auskommentieren.
Hallo Marc
Erstmal vielen dank für deine Libary.
Funktioniert gut. Nur die Funktion S65_Fillscreen funktioniert nicht
richtig. Wenn ich ein Text ausgebe und im nachhinein das Display wieder
mit einer Farbe füllen will, zeichnet er mir nur zwei Linien. Eine vom
Ende des Textes bis zum Rand und dan am Rand weiter bis links oben in
die Ecke. Ich hab schon versucht den Fehler zu analysieren, aber meine C
kentnisse sind noch nicht so gut.
Übrigens, wäre es kompliziert noch eine Funktion für ein Rechteck mit
abgerundeten Kanten zu schreiben. Danke!
Hallo Freunde,
Bitte, wo kann man diese LS020 display billig einkaufen?
Hier in Brasilien Jemand kann man einkaufen für U$12,00.
Danke!
Sehr Grüsse,
Henrique Vilela
Hallo, ich habe mir vor kurzem auch ein LS020 display gekauft und die
Ansteuerung mit hilfe von Bascom und einem Atmel32 mit knapp 10 Mhz
hinbekommen. Ich habe auch die BeispielVideos gesehen. Und nun zu meiner
Frage, mit welcher Geschwindigkeit kann das Display beschrieben werden.
Bei mir dauert es relativ lang um den kompletten Bildschirm zu füllen.
Wie wurden dann die sich drehenden Vektorobjekte erzeugt? Mit einem
schnelleren Quarz? Und was mich interessieren würde, wie viele Frames
pro Sekunde sind möglich und wovon abhängig?
Habe bei eBay eine Hand voll Display mit einem Epson-Controller
bekommen. Die Bezeichnung der Displays sind allesamt P05... Sollte
jemand wie ich diese abbekommen, einfach den Code vom Epson P03
benutzen. Klappt wunderbar :)
Hallo Forumskollegen,
Ich hab mir auch ein Display besorgt, genau das ls020 mit Mega8, 8mhz.
Als Software benutze ich bascom, und den Source hab ich aus dem Internet
für das Display.
Ihr kennt das Programm sicher.
Bei mir funktioniert schon ziemlich viel, aber ich kann keinen Text
schreiben. Also Linien, Pixelset, CLS, Init...das funktioniert alles,
aber ich kann leider nichts schreiben. Da kommt am Display nichts
schönes raus. Nur vertikale linien...
Kann mal bitte einer von euch Profis drüberlesen?
Irgendwo bei dem Untermenü ascii Zeichen dürfte was nicht stimmen.
MFG Peter
1
$regfile = "m8def.dat"
2
$crystal = 8000000
3
$baud = 19200
4
5
$hwstack = 64
6
$swstack = 64
7
$framesize = 64
8
9
Ddrb = &B11111111 'portb output ->S65 Display
10
11
Dim A1 As Word , B1 As Word , R1 As Byte , F1 As Word , T As Byte , Platz As Word
12
Dim W1 As Word , Xy As Byte , Farbe As Word , Zeichenkette As String * 30
Hättest du im Forum nachgeschaut welches auch auf der HP (
http://www.comwebnet.de ) gibt, hättest du gesehen -> das die Zeichen
ins EEPROM gehören und in BASCOM explizit ins M8 geladen werden müssen,
je nach Einstellung, da nach jeder Flashung das EEPROM mit gelöscht
wird.
Aber wieso fragt man nicht an der Quelle?
Der Author
PS: Code schön in ZIP einpacken und als Dateianhang hochladen,
sonst gib es böse Worte.
Hallo,
ich versuche gerade ein LHP88 an einem MSP430 mit Software SPI zum
Laufen zu bringen. Leider tut sich auf dem Display rein gar nichts.
Verwende den Beispielcode von aethr im IAR, 3.0 V, keine Pegelwandler.
Habe in einem Beitrag gelesen, dass vor dem Löschen des Displays Muster
bzw. zufällige Daten angezeigt werden. Ab welchem Punkt ist frühestens
zu erkennen, dass das Display und die Ansteuerung funktioniert? Nach dem
Schalten des Reset-PIN, nach dem Einschalten des Oszillators?
Michael
Grüß euch
@avr nix und all:
Da du dich hier ja gut aus kennst, kannst du mir vielleicht sagen, wie
ich die Schriftgröße ändere?
Jetzt ist sie ja auf 6x8 ...?
Kann man die nicht einfach verdoppeln auf 12x16? Würde das gehen?
MFG Peter
Die Schriftgröße ist fix. Entweder jeden Pixel verdoppeln oder ein neuen
Font erstellen und das Programm anpassen. Hatte das mal vor aber da ich
im Moment keine zeit für die Erweiterung habe, wäre das doch mal ein
schönes Projekt und kannst das dann hier oder auf meiner HP
vorveröffentlichen.
Hallo,
Welches Display sollte man sich jetzt am besten anschaffen. Bei
Christian ist das LS020xxx am weitesten ausgeführt, zumindest auf den
ersten Blick.
Zu dem Epson schwirrte hier meine ich sogar mal ein Datenblatt rum...
Gruß,
Dennis
Hi!
There are some results of researching of hardware scrolling. LCD -
LS020B8UD06.
Registers:
R0Fh - start position
R10h - end position
R11h - offset value (up to value of R10h)
Ich benutze H246-codec fur Video.
Some discrepancies found:
The Register R10h isn't end position of scrolling part, it is width of
part.
The end position of part may be calculated as R0Fh+R10h.
R11h shouldn't be equal or greater of R10h.
Sourcecode will later, after preparing.
At this moment some new effects are found.
I suggest to join search process.
Hi Alex!
I mean, the first byte of the command "lcd_wrcmd16()" is a register
address, second byte is a data byte.
The registers from this page are very similar to registers of
LQ022B8UD04. These registers really does work with LS020. Probably, the
register EFh is the memory bank switcher. The same results we can get
with different registers combinations in different "banks". For example,
we can access the HOST INTERFACE SETTING REGISTER by two ways:
way 1:
lcd_wrcmd16($EF80);
lcd_wrcmd16($10XX);
way 2:
lcd_wrcmd16($EF90);
lcd_wrcmd16($E8XX);
I refer to datasheet of LQ022 and i try to describe the init block 2 of
LS020 LCD:
1
ls020_init_block_2:
2
.db 0xEF, 0x90 ;Bank Switch
3
.db 0x09, 0x83 ;Set X2 Corner, 131 - checked
4
.db 0x08, 0x00 ;Set X1 Corner, 0 - checked
5
.db 0x0B, 0xAF ;Set Y2 Corner, 175 - checked
6
.db 0x0A, 0x00 ;Set Y1 Corner, 0 - checked
7
.db 0x05, 0x00 ;Set Orientation - checked
8
.db 0x06, 0x00 ;Set "cursor" position Y - checked
9
.db 0x07, 0x00 ;Set "cursor" position X - checked
10
11
.db 0xEF, 0x00 ;Bank Switch
12
.db 0xEE, 0x0C ;?
13
14
.db 0xEF, 0x90 ;Bank Switch
15
.db 0x00, 0x80 ;Display OFF (WHITE) - checked
16
17
.db 0xEF, 0xB0 ;Bank Switch
18
.db 0x49, 0x02 ;Set Color Mode (positive) - checked
19
20
.db 0xEF, 0x00 ;Bank Switch
21
.db 0x7F, 0x01 ;?
22
.db 0xE1, 0x81 ;?
23
.db 0xE2, 0x02 ;?
24
.db 0xE2, 0x76 ;?
25
.db 0xE1, 0x83 ;?
26
.db 0x80, 0x01 ; Display ON ?
27
28
.db 0xEF, 0x90 ;Bank Switch
29
.db 0x00, 0x00 ;Display ON - checked
In addition, you can see the video with description of some checked
commands and hardware functions. Sorry, but the video isn't very
quality.
P.S. I use two displays: LS020 and LQ020. I hope these displays are
fully compatible.
Hallo Ich habe ein LPH88 mit einem MSP430 am laufen, sehe aber einen
Fehler:
- das Display zeigt nicht die 65k Farben, nur einen Teil davon.
Hat jemand so ein Problem schon mal gesehen?
mfg
Peter
@ Juras Pr.
Now, i can display pictures in 8 Bit mode.
But not whith the right Color Palette.
Can you give me your Palette in a format, that i can import it to Gimp
or other?
@ Guntmar H.:
The palettes in two formats (*.act, *.pal) are in archive.
To configure the display in 8-bit mode i use the following commands
sequence:
lcd_wrcmd16($EF90);
lcd_wrcmd16($E800);
I think, this 8-bit mode is useful for displaying a simple menu drawings
and text.
P.S. Sorry for the some mismatch in the top of previous picture (the new
picture is in archive).
Hallo Freunde!
I am sending you now a little program that I made just to make things
easier about images plotting.
You just have to create a 8 bit 12 bit 16 bit image using the right
dimensions and it creates a ASCII image file for you.
It works pretty good here! Hope it might help you guys!
If you have any comments.. doubts... or you are facing any error..
please tell me..
Grüsse!
Henrique
Hallo zusammen,
ich habe mich jetzt im groben schon ziemlich durch dieses Thema
durchgearbeitet aber alles habe ich dann doch nicht geschaft zu lesen.
Ich habe es auch geschaft ein PO3.. (L2F50xxx ) in betrieb zu nehmen.
Ich kann bis jetzt allerdings nur Sachen im Hochformat ausgeben.
Ich wollte nun fragen ob das schon jemand im Querformat mit Bildern
geschafft hat denn da hapert es a bissi am verständins.(in der Bucht
giebt es auch nur PO3.. Displays zu kaufen keine anderen mehr...)
Und dann wollte ich noch wissen welche Hexzahl welche Farbe ergibt ich
habe schon viel rumgespielt aber ich komme da hinter kein system ein
begriff zum googeln oder ne tabelle wären da hilfreich denn die richtig
klaren Farben wie blau oder rot bekomm ich einfach nicht hin.
Danke für die mühe wenn ich was übersehen habe sorry
Wie ich schon vermuttet habe ist es schrott
Aber lohnt sich der nachkauf eines PO3 weil ich bekoome das selber nicth
hin das display so einzustellen das ich es im Querformat betreibe und
ich wollte aber diese so benützen
Mal eine generelle Frage:
Hätte jemand Bedarf an einem Linux Treiber (fbdev device) für
AT91,AVR32,oder jeden anderen Controller mit SPI Interface für z.b. die
LS020 Displays? Habe die letzten Tage für ein 240x320 SPI TFT einen
Treiber geschrieben , aber da das Datenblatt jenes Displays unter einer
art NDA steht kann ich den Treiber nicht veröffentlichen. Das
umschreiben des Treibers auf z.b. LS020 wäre eine Fingerübung und
konform mit der GPL :-). Also wenn genug ,wirklicher!, Bedarf an sowas
besteht würde ich das in Angriff nehmen.
Also als ich den Menschen von der eBay Auktion da weiter oben gefragt
habe ob man da für die Displays nur einmal Versand zahlen muss und ob es
Rabatt gebe, wollte er wissen wie viele ich denn da haben will.
Was ist denn da so ne realistische Zahl die ich ihm mailen kann ?
Mal sehn ob man dem was rausleiern kann ;)
Gruß
Lightning
@ Ben.. (lightning)
Hallo Ben,
bei US$ 10.- würde ich 30 Stück nehmen.
Das Problem ist nur, dass dann in Deutschland noch 19% Mwst + ca.3% Zoll
dazu kommen!
Vieleicht sollten wir mal miteinander telefonieren.
Hier mal meine E-Mail zur Kontaktaufnahme Haus444(at)gmx.de
[(at) = absichtlich anders geschrieben]
Gruß Bernd
@ Ben.. (lightning)
Ist mit der Bestellung noch was in der Mache? Oder schon Ende?
@ Jens D. (jens)
Zum LS020... ist mir nichts bekannt. Noch keins gesehen
@all
Frage: habe im Moment das Problem, das mein Display schwarz bleibt. Es
sieht so aus als ob es Initialisiert (man kann das Löschen sehen[meine
ich]). Und wenn ich im Code vom glcd_init die folgende Zeile
auskommentiere
1
rcall lcd_clrscr
dann sehe ich ein wildes, sich bei einem "Neustart" neu generierendes
Pixelwirrwar.
Ich denke daher, das die Initialisierung OK ist und somit die GrafikLib
irgendwie funzt. Allerdings egal wie ich die Hintergrundfarbe einstelle,
das Display bleibt schwarz. Auch die Demo aus der Christian K. Datei ist
nicht zu sehen.
Zur Info: Die Hardware ist OK. Mit der Simple3 Demo "Hello World" läuft
alles, halt nur die Grafiklib bekomme ich nicht zum Rennen.
Jemand eine Idee woran das liegen könnte?
Danke!
PS: Schon klar das es am User liegt, nur wo sollte man suchen ? :)
...
1)warum sind hier eigentlich immer alle auf das lso020... was ist denn
mit dem p03.. was es momentan bei ebay gibt, ich meine kranz hat doch
software für alle drei varianten, oder?
2)welchen tools nutzt ihr für die fonterstellung, und welche software
mit welchem umfang für die darstellung der zeichen und grafiken?
3)gibt es eine einheitliche softwareschnittstelle für alle 3
displayausführungen in den sourcen von kranz? (zb.: init_display();
set_pixel(x,y,col))?
w.
Hallo Markus H.
du hast ja deine Display-Leitungen auf zwei Ports verteilt. Original
benutzt die lib. aber nur einen Port. (siehe glcd.inc)
1
#define LCD_PORT _SFR_IO_ADDR(PORTB)
2
3
#define LCD_PIN _SFR_IO_ADDR(PINB)
4
5
#define LCD_DDR _SFR_IO_ADDR(DDRB)
Du müsstes also einen zweiten Port definieren und dann die glcd_init.asm
ändern. Überall wo LCD_PORT auftaucht (und LCD_PIN/LCD_DDR) prüfen,
welcher Port denn nun genommen werden soll. z.B. hier
1
cbiLCD_PORT,LCD_CS;selectDisplay
2
3
sbiLCD_PORT,LCD_RS;setRSline
Aber wahrscheinlich ist das nicht das Problem, denn die Initialisierung
(der assembler Teil) scheint bei dir ja zu funktionieren. (siehe random
pixel muster und lcd_clrscr).
Ich kann mir vorstellen, dass die C-Zugriffe auf die Assembler Routinen
nicht funktionieren, oder dass du in deinem Code die Port's des Displays
versehentlich verändert hast. Hast du schon mal ein minmal Program (nur
main und clearscreen) versucht? Gibt es irgendwelche Linker Warnungen?
Das wäre ideal um jedem OpenWrt Router ein ordentliches LCD zu
verpassen.. Wenn es eine Fingerübung ist: setzt dich mal dran, ich wäre
sehr interessiert, baue die Tage mein Display auch mal auf und kann
deinen Code dann testen falls du keine Möglichkeit hast.
Gruß
Max
Hallo,
versuche verzweifelt ein P03-Display (neu gekauft auf Ebay, Seriennummer
P03-422BS ) mit der entsprechenden Software auf der Homepage von
Christian Kranz in Betrieb zu nehmen (auf PIC rüberportiert, beim LPH
ging das auf Anhieb). Was mir aufgefallen ist ist folgendes:
Wenn ich die "RS"-Leitung ziehe (oder den Pin auf Tristate schalte) sehe
ich einen uninitialisierten Displayinhalt (Ameisenkino). Lasse ich das
RS-Signal am Portpin bleibt es grau (so als wenn ich das Display gar
nicht beschaltet hätte sondern nur das Backlight an ist).
Kann es vielleicht sein, dass es eine neue Version des Displays mit
9-bit SPI gibt, welche das RS-Signal gar nicht mehr unterstützt oder
sonst irgendeine Änderung am Displaycontroller vorgenommen wurde?
Ich habe verucht, die Initialisiuerung anhand des L2F50-Datenblatts das
hier im Formum gepostet wurde nachzuvollziehen. Doch dieses ist
Preliminary und weicht auch von der Initialiserungssequenz der Software
von Chistian ab (z.b. sind der OSSEL-Befehl und der SPI Mode gar nicht
beschrieben.
Danke für Eure Unterstützung!
Btw: Zwischenzeitlich gibt es ja fast ausschließlich P03 Versionen zu
kaufen. Kennt Einer von Euch eine Quelle für LPH-Typen?
@Thomas H. (mctx)
Schau dir mal meinen Post darüber an. Ich sehe ein ähnliches Problem.
Dein grau könnte schon ein gelöschter Bildschirm sein. Ich sehe halte
auch so ein Verhalten. Schau dir mal das Display an, wenn du die
Spannung anschaltest. Ich kann meiner Meinung nach ein Löschen sehen.
Nur Pixel darstellen geht nicht. Leider noch keine Zeit gehabt. Kommt
aber hoffentlich noch.
Und das es neuere Versionen gibt wäre mir neu. Habe ich bisher
jedenfalls nichts davon gehört.
Gruß
So,
ich bin grad fleißig dabei das Display mittels C und Renesas M32c
anzusteuern, habe aber noch Probleme. Das einfachste, d.h. die
Hintergrundbeleuchtung, funktioniert, aber das Display (LS020) ist
komplett weiß, von Anfang an, und ich bekomm nix darauf angezeigt. Hat
da jemand eine Idee, woran es liegen könnte?
Danke
Hat es mittlerweile einer geschafft die P03 Display ans Rennen zu
bekommen? Eagl an welchem Controller? Und wenn ja, wo liegen die
Unterschiede zu den anderen Typen?
Hallo, ich bin neu in der µC-Welt. Das Projekt interessiert mich sehr
und ich würde es gerne nachbauen. Leider fehlen mir wohl ein paar
grundlegende Sachen.
Ich hab das Tutorial für Assembler AVR schon durchgearbeitet und denk
ich hab zumindesten diese Sachen verinnerlicht.
Für mein "Projekt" bräuchte ich ein Display zur grafischen Darstellung
und da die 4x20 Displays schon sehr begrenzt sind, brauch ich etwas
anderes. Mit der Forumssuche bin ich auf diesen Thread gekommen. Die
LS020 displays sind ja auch noch relativ erschwinglich.
So zu meinen Fragen.:
Das Display brauch also 10.4Volt. Wie stell ich bei den PWM die 47% und
63.5khz ein?
Kann ich nciht direkt mit 10Volt an den Controller rangehen? Z.B. mit
einem µA 7810 auf 10Volt runtergehen, oder mit einem Spannungsteiler
oder einfach mit einem 100K widerstand bei 12V?
Warum sind kondensatoren zw. 2.9V bzw. 5V leitung und GND? Passen da
100n?
Danke im Voraus
"Ich hab das Tutorial für Assembler AVR schon durchgearbeitet und denk
ich hab zumindesten diese Sachen verinnerlicht."
-> Endlich mal einer, der sich richtig Arbeit macht und bei dem man
sofotr merkt: Der hat Ahnung!
"Kann ich nciht direkt mit 10Volt an den Controller rangehen? Z.B. mit
einem µA 7810 auf 10Volt runtergehen, oder mit einem Spannungsteiler
oder einfach mit einem 100K widerstand bei 12V?"
-> Kein Problem, das geht!
Wie machst du die Eingabe? Über Touchscreen, oder?
Klaus.
@ Cristian
Aber bitte keine 10V auf den Controller geben !!!
Die 10 V (10,2V - 10,4V) sind nur für die LED-Beleuchtung.
Mit einem 100k Widerstand kannst Du da nichts anfangen, ist viel zu groß
!
Wenn Du 12V zur Verfügung hast, dann kannst Du einen Widerstand von
ca. 100-150 Ohm in Serie schalten, dann stellt sich der gewünschte Strom
von ca. 15-20mA ein und es liegen ca. 10,2V - 10,4V an den LED's an. Je
nach Zustand der LED's.
Gruß
Bernd
Hallo Christian,
lass dich nicht verarschen (mit den 10V). Wenn du Anfänger bist,
empfehle ich dir die Schaltung so wie sie ist nachzubauen. Dann ist die
Wahrscheinlichkeit höher das es klappt. Statt der 15V kannst du auch die
12V für das Display nehmen, allerdings sollte dann der Widerstand nicht
180 sondern vielleicht 100Ohm sein.
Der µC braucht die Spannung die im Datasheet steht und zwar aus einer
relativ guten Quelle. Also nichts mit Vorwiderstand o.ä.
100nF für die Kondensatoren am Spannungsregler sind vmtl. o.k.
"Hat es mittlerweile einer geschafft die P03 Display ans Rennen zu
bekommen? Eagl an welchem Controller? Und wenn ja, wo liegen die
Unterschiede zu den anderen Typen?"
Das P03 ist identisch mit dem L2F50, wenn du dir das Bild
http://www.superkranz.de/christian/S65_Display/pics/epson_display_large.jpg
genau ansiehst, findest du da auch den P03-xxxx Aufdruck
@ Klaus R.
Wow übertreibs nich mit dem Sarkasmus, sonst legt der noch
wirklich die 10V an den µC an :D
@ Christian
Hast du das Display bereits oder ist das Ganze erst in Planung ?
Wenn du das Display schon hast und es ein LS020 ist, könntest
mir dann nicht eventuell erzählen woher du es hast oder auch
eins bestellen, kaufen etc. ?
Ach ja noch was, wenn du dir ne 12V Quelle nimmst kannst mit nem
7805 den µC und mit dem 7810 die Display Hintergrundbeleuchtung
betreiben. (Tipp: Nimm ein altes Computernetzteil)
Zum testen dürfte es allemal reichen.
Gruß Lightning
Klaus du bist mein Held!
kannst bei deiner mutti rum trollen
mit 10volt ist natürlich nur für die led-beleuchtung. der
mikrocontroller wird mit 5v durch einen 7805 gespeist.
Und bei 12V sind 1,6volt spannungsabfall durch 15mA ~ 100ohm. (Das kilo
ist nur irgendwie reingerutscht)
SuperUser wrote:
> "Hat es mittlerweile einer geschafft die P03 Display ans Rennen zu> bekommen? Eagl an welchem Controller? Und wenn ja, wo liegen die> Unterschiede zu den anderen Typen?">> Das P03 ist identisch mit dem L2F50, wenn du dir das Bild>> http://www.superkranz.de/christian/S65_Display/pics/epson_display_large.jpg>> genau ansiehst, findest du da auch den P03-xxxx Aufdruck
Ahh, da hat mir das Farbprofil meiner Grafikkarte die Sicht verwehrt
(die Stelle mit dem P03 war einfach schwarz). Jetzt hab ichs auch
gesehen. =)
Hallo,
kann mir jemand sagen, wie ich zwischen 8- und 16-Bit Farbe hin- und her
schalte und der kurzen Seite nach scrolle?
Gefunde habe ich nur folgendes:
8-Bit-Mode
lcd_wrcmd16($EF90);
lcd_wrcmd16($E800);
Scrollen lange Seite (klappt wunderbar)
lcd_wrcmd16($EF90);
R0Fh - start position
R10h - scrollwidth
R11h - offset value (up to value of R10h)
Danke.
Hallo.
Ich habe probiert das display auch anzusteuern, habe aber die
displayanschlüsse, durch zu oft Löten, geschrottet...
Gibt es einen passenden Adapter, sodass man nicht an der Folie rumlöten
muss??
Gruß Flo
Hi!
I have a LS020 display. It works fine until I try to send some data. It
appears on the display but after that I can't use any commands anymore.
Before sending data everything works fine. As soon as I lower the RS
signal and send something through SPI the display seems to ignore all
commands.
Can you tell me what's wrong?
TIA
Best regards
Hi pawci0,
If U use the right lib from
http://www.superkranz.de/christian/S65_Display/DisplayIndex.html
everything shoud work.
Check your Hardware if all wires are connected.
BR
Markus
PS: I had a little short @the display by reconnecting the display wires.
I have some different code, because i'm using dsPIC33 microcontroler.
I'm simply using built-in SPI peripheral with hardware CS-pin support. I
was wondering maybe there's a problem. Normally CS goes low everytime a
command is send into SPI buffer. But before activating CS i make change
to the RS-pin - is that OK? Because in Kristian's page it was different
- first the CS goes low and then RS was changed. But I don't think this
could be the problem. Somebody correct me if I'm wrong...
In hardware is everything ok, all pins connected correctly. Commands are
also accepted perfectly BEFORE I send any data (tried for example the
negative mode... it works). After the RS goes low and I send some data,
then I can't go back to sending commands - it just doesn't respond for
ANY commands.
oh... forgot to say:
when I go with RS low, than wait a while (but don't send any data), and
then go with RS high, then commands still work!
Only after sending data display ignores commands - I can write then only
data (colors), and display keeps raising the pointer position.
Problem solved :)
Markus you were right. It seems that CS pin wasn't working as it
should...
SPI peripheral was making some strange stuff with it, so I had to
implement toggling CS pin in software. Now everything works fine :)
Thanks for help.
Hello!
I connected a L2F display to my parallel port, everithing is fine,
except that when screen is written, there are vertical flickering lines.
These lines are random in length and color, and appear beneath the drawn
pixels towards the bottom of the screen.
Does anybody experienced similar, what causes them?
Other question, can somebody tell me, what controller is used on C65
displays?Or at least a project, some source code, anything.
The pinouts are (almost) identical to S65.
Thanx!
Here I made another video. (sorry for quality, webcam)
I've slowed down the SPI communication (only for image data sending) by
making an 1s delay between each line change, and figured out, that the
lines appear when the CLOCK line is low. When it goes high, the picture
gets back to normal.
Hello again!
I still need some help please from somebody who owns an L2F50 based
display.
Please try out the following: draw a picture, or anything to the screen,
than pull the SCLK line LOW from software, and make an infinite loop
afterwards. It would be a huge help for me, I would figure out if my
display is faulty (the whole picture should turn into vertical
(sometimes moving) lines, or something else is wrong.
Thank you!
Hallo Tipfix
Gratuliere, schöne Prototyping arbeit.
Der Led Cube ist auch sehr schön.
Auf die Idee Heiskleber als Difusor zu verwenden muss man auch mall
kommen.
Jetzt noch die leds in smd und ein "paar" mehr, schon könnte man in 3D
fernsehen. :)
LG
Michael
Guten Morgen
Der Atmel ist von meinem Cube. Da er dort mit 16 MHz läuft und viel zu
tun hat wird er in der mitte etwas warm. Und da dachte ich mir ein
Kühlkörper kann nicht schaden. Er ist aber wieder dort wo er hin gehört.
Für das GPS kommt jetzt ein 644'er zum einsatz. Grund mehr SRAM.
Gruß der Tipfix
Falls jemand Interesse hat:
wir verkaufen S65 Displays (LS020 neueste Version) inklusive
smd-springboard-connector.
Ganz neu, originalverpackt 12€ / Stück.
Bei 10 Stück 10€
Bei 100 Stück 8€.
Bei Interesse schreibt hier hinein.
Viele Grüße
Marc
Marc und Joachim gibts beide ;-)
Versand DHL Standardpreise je nach Gewicht + 1€ Verpackung.
Schlechtes Bild vom Connector ist anbei.
Bitte schreibt mir eine eMail an supply (AT) butterflyavionics (dot) com
Viele Grüße
Marc
@S65: 450€ + Versand
Hallo zusammen,
herzlichen Dank für Euer Interesse.
Ich möchte jetzt nicht diesen (wirklich guten) Beitrag hier zusammen.
Also bitte alle Anfragen an die o.g. Adresse.
Vielen Dank
Marc
@Ben: Versand in die EU ist kein Thema (kostet nicht viel mehr)
@mctx und wigbert: connectoren sind leider vergleichsweise teuer:
1-50: 2€ / Stück
ab 50: 1,80 € / Stück
Wie hoch ist eigentlich die Reaktionszeit von dem Display? Bei dem
kleineren Nokia 6100 LCD dauert es voll lange, bis die Pixel nach dem
Übertragen ihre Farbe wechseln, schätzungsweise so um die 200-300ms,
sodass bewegte Grafiken sehr verschwommen erscheinen. Ist es bei diesem
LCD besser?
Hallo,
hier gibt es jetzt nun einzeln für den Bastler das Display (Preis ist
inkl. Mehrwertsteuer):
www.eproo.net (direkt auf der Startseite)
(und den passenden Connector natürlich)
Gruss Bene
>> gibt es Erfahrungswerte zur Lebensdauer der LCD Hintergrundbeleuchtung?
Meine funktionern seit 2006 ohne Probleme. Da es sich um LED's handelt
kannst du mit einigen zehn-tausend Stunden rechnen wenn du es mit der
Helligkeit (Strom) nicht übertreibst.
>> Wie hoch ist eigentlich die Reaktionszeit von dem Display?
Ziemlich schnell. Videos sind kein Problem.
Display3000 spricht von
Zitat:
"Da die LEDs im Display eine begrenzte Lebensdauer von ca. 5000 Stunden
haben (dann ist die Leuchtkraft auf 70% gefallen)..."
MfG
@ Anonym: Aus welchem Datenblatt hast du die werte entnommen?
Soweit mir bekannt ist, existiert für das Display kein original
Datenblatt.
Kannst du mir vielleicht eine Kopie... :-)
Hallo,
habe jetzt auch zwei S65 Displays an einem PIC18F4520 mit dem CC8E
Compiler in Betrieb. Gibt es ein Tool um Zeichensätze zu generieren.
Ich benötige einen großen (27x49 oder noch größer). Mir würden die
Zahlen von 0 - 9 und ein : genügen. Also für eine Zeitanzeige.
Hat jemand einen Tipp?
Danke und Gruß
Hallo,
ich benütze das L2F50 Display. ich würde es gerne schaffen, die
adressierung des displays zu drehen (so wie beim ls020), damit ich es im
querformat betreiben kann. das würde mir einiges erleichtern ;-)
ich habe jetzt den ganzen thread durchgelesen, aber leider nix gefunden.
hat das vl. schon irgendjemand zusammengebracht ?
lg,
david
Wow, danke für die unglaublich vielen Tipps in diesem Thread! Jetzt
funktioniert meine 3D-Demo auf dem S65 (über PIC32 angesteuert) endlich!
Hier ist ein Video: www.cg.tuwien.ac.at/~markusl/MVI_3327.AVI
Das Hardware SPI hat anfangs überhaupt nicht funktioniert. Ich hatte
aber schlichtweg vergessen auf das Ende der Übetragung zu warten bevor
ich CS auf
high gesetzt habe.
I've noticed that Christian's S65 document still is still missing power
down sequence for LS020 controller.
For a regular shutdown a display needs normally a power down sequence to
discharge the glass voltage in a controlled manner.
If you do not send this sequence, then after the power down, matrix will
be some time under DC voltage, which will reduce its lifetime.
This is power down command sequence for LS020B8UD06 based S65 LCD:
Code:
//Function LCD_PowerOff()is performing power down sequence.
void LCD_PowerOff() //LS020... controller in S65 lcd
{
const BYTE bOff[52] =
{
0xEF, 0x00, 0x7E, 0x04, 0xEF, 0xB0, 0x5A, 0x48,
0xEF, 0x00, 0x7F, 0x01, 0xEF, 0xB0, 0x64, 0xFF,
0x65, 0x00, 0xEF, 0x00, 0x7F, 0x01, 0xE2, 0x62,
0xE2, 0x02, 0xEF, 0xB0, 0xBC, 0x02, 0xEF, 0x00,
0x7F, 0x01, 0xE2, 0x00, 0x80, 0x00, 0xE2, 0x04,
0xE2, 0x00, 0xE1, 0x00, 0xEF, 0xB0, 0xBC, 0x00,
0xEF, 0x00, 0x7F, 0x01
};
int i;
if(m_bPowerOff) return;
m_bData |= LCD_RS; //Command bytes
for(i=0; i<52; i++)
{
SPI_Send8bits(bOff[i]);
}
SPI_Delay(SPI_DELAY_1ms * 50); //delay 50 msec
m_bPowerOff = true;
//turn off power
...
}
---------------------
Original link is http://cprime.110mb.com/lesson/0201/1-6.php, I took me
a while to translate it from Russian :-). Tested, it works.
This is last important piece of LS020B8UD06 protocol (well maybe
contrast setting will be nice, but default contrast works very well for
this TFT)
Frohe Weihnachten!
Ivan
Psych wrote:
>>3D-Demo auf dem S65>> Sieht aus wie ein Video. Ist bestimmt nen Fake ...
Der Gedanke hat sich mir auch augedrängt. Der Teapott kommt mir bekannt
vor.
edit:
"Utah teapot" heisst der. Gibt es unzählige videos im netz. Ganz sicher
auch das.
Thanks for the power down sequence... finally, after three years all
seems to be complete ;)
@A. G., Psych: Klar ists der Utah-Teapot, ist einfach das kultigste um
was auszuprobieren ;) ... Ist aber kein Video, das ist ein Software
Scanline-Renderer. Intern arbeitet der nur mit Fixed-Point Zahlen und
ist deshalb recht schnell. Das größte Problem war der kleine RAM des
PIC32 (32kb), da hat nicht der ganze Framebuffer platz. Deshalb wird
immer nur ein drittel des Bildes berechnet und dargestellt. Intern hat
der Framebuffer auch das 5-6-5 Farbformat des S65, deshalb kann er sehr
schnell auf das S65 übertragen werden.
Wer genauer wissen will wie man sowas macht, kann sich ja folgendes mal
anschauen: http://www.cg.tuwien.ac.at/courses/CG/textblaetter.html
Das ist ne Computergraphik Vorlesung...
Markus Lipp wrote:
> @A. G., Psych: Klar ists der Utah-Teapot, ist einfach das kultigste um> was auszuprobieren ;) ... Ist aber kein Video, das ist ein Software> Scanline-Renderer.
Kann man aber kaum glauben wenn man es sieht. Dann will ich mal nichts
gesagt haben.
So, dazu gibt es im Internet bestimmt noch kein Video:
www.cg.tuwien.ac.at/~markusl/MVI_3328.AVI
Wollte eigentlich "mikrocontrollet.net" schreiben, aber das hätte viel
zu viele Dreiecke gebraucht ;) (schon dieser Schriftzug hat 420
Dreiecke, da kommt der Pic32 bereits ins schnaufen)
Noch schnell ein Performance-Tipp:
Es ist absolut NICHT nötig, nach jedem Daten-Befehl die CS oder RS
Leitung zu ändern. Es reicht aus, einmal CS und RS richtig einzustellen,
dann kann man alle Pixel nacheinander schicken (Also die Abfolge
CS-RS-DATA-DATA-DATA .... DATA-DATA-CS). Das ist viiiiel schneller als
die Abfolge CS-RS-DATA-CS für jedes Pixel (wie sie zb in LCD.asm von
Christian steht).
>Blöde Frage noch: Was ist ein PIC32?
Das ist ein Produkt der Teufelsfirma, die Atmel übernehmen will, damit
sie bessere Produkte als momentan im Angebot haben ;-)
>So, dazu gibt es im Internet bestimmt noch kein Video:
Ganz klar, immer noch ein Video. Glaube es erst, wenn ich ein bischen
Code sehe !
hi ich bin grade dabei auch mein erstandenes LCD in betrieb zu nehmen
eine frage hätte ich noch zu dem 2,9V und 1,8V anschluss
könnte man den 1,8V aanschluss nicht auch über eine diode noch etwas
abschwächen? das sind dann zwar um 2,1V was aber eben nicht die vollen
und 3 dioden in reihe zu 5V dürften auch die 2,9V erzeugen
oder is dagegen etwas einzuwenden
Hi, eine Frage an die Hardware Spezis. Gibt es eine Möglichkeit den
vorgeschlagenen Hochsteller von Christian für die 12V, soweit zu
modifizieren, das man bei Bedarf die "Hintergrundbeleuchtung" (also die
12V) komplett ausschalten kann.
Das kann ich nicht bestätigen. Sobald du an eine Diode Spannung anlegst
fließt auch ein Strom. (wenn nicht in Sperrichtung) Und auch in meinem
Fall, wenn an dem Display 5V anliegen, dann leuchten die LED's schon.
Zwar nicht so hell aber sie leuchten. Deshalb will ich eine Lösung haben
die LED Spannung abschalten zu können.
Hat hier noch jemand anders ausser mir das gefühl das die displays ein
wenig dunkel erscheinen (trotz heller Hintergrundbeleuchtung)?
Bei Menüs und grafiken merkt man das kaum, aber bei Bildern wird es
schon ganz deutlich meine ich...
Hat einer mal mit der maximalen SPI Frequenz rum probiert? Habe es hier
an einen SAM7 mit 96 MHz am laufen (glaube ich zumindest, morgen wird
gemessen).
Interessant ist beim LPH88 das man ohne Probleme einfach neue Daten rein
schreiben kann ohne dazwischen Kommandos zum Display zu senden (einfach
einen Bildschirm per SPI übertragen, ich mach das einfach per Hardware
DMA). Der alte Bildschirminhalt wird dann einfach bildschirmweise neu
beschrieben.
@Marius S.: Das würde mich auch interessieren.
Ich habe mit dem AVR nur den Max SPI von 8 MHz erreichen können.
Hast du 96 MHz CPU Takt oder SPI Takt ??
Zum Bilder darstellen sind 8 MHz zu wenig, deswegen verusche ich mich
gerade in den SAM7 einzuarbeiten.
@James
Bei meinem LPH88 brauche ich mind. 7V damit ein Strom fließt. Ein
schwaches Leuchten der LEDs sieht man bei dieser Spannung aber nicht.
@Marius S.
> Hat hier noch jemand anders ausser mir das gefühl das die displays ein> wenig dunkel erscheinen (trotz heller Hintergrundbeleuchtung)?
Meine LPH88 sehen dunkler und auch schlechter ausgeleuchtet als wie die
LS020 aus...
> Interessant ist beim LPH88 das man ohne Probleme einfach neue Daten rein> schreiben kann ohne dazwischen Kommandos zum Display zu senden...
Das müsste beim LS020 auch gehen, wenn man den Window-Bereich dem
entspechend setzt - ich habe es aber noch nicht ausprobiert.
Ich habe den LS020 und bei dem leuchten die LED's schon bei 5V. Also
wenn der Hochsteller inaktiv ist. (z.B.:beim Programmieren.) Wie wird
den die Abschaltug im Handy (zB: S65) realisiert? Ich habe leider keins,
sonst hätt ich den sofort zerlegt ;). Gewiss gibts da eine feine Lösung.
hab eben mal nachgemessen, mein SPI takt ist wohl 48MHz. komisch, die
PLL hab ich aber nicht so eingestellt...
Das Problem mit der LED lässt sich auch lösen indem man die Schaltung
mit 3,3V betreibt (gibt auch keine Probleme mit dem Display).
hi,
ich hab ein display mit epson-controller laufen. das display hat eine
spannungsversorgung von 3V und der Controller läuft auf 5V mit
Spannungsteilern.
Zu Anfang läuft das Display einbandfrei, jedoch berlassen nach ca. 1 - 2
Sekunden die Farben, bis nichts mehr zu sehen ist. Dann muss ich einige
zeit (ca. ne halbe bis eine minute) warten, dann geht es kurz wieder.
ich hab das gefühl, dass der controller auf dem display zu warm wird und
dann abschaltet... kann das sein? hab hier gelesen, dass die displays
auch mit 3,3V betrieben werden.
hallo,
benutze seit langem das S65 Lcd mit LS020 Controller. Funktioniert
prima, wenn ich es im Landscape modus betreibe. Wenn ich im Hochformat
was darstellen will, dann ist es spiegelverkehrt. Hier mal meine
Ansteuerungunsroutine für Bascom:
Window2:
'Ausgabefenster mit
den kooridnaten x1,y1 und x2,y2 /X-direction)
Rs = Kommando
Ausgabe = &HEF90
Gosub Lcd_send
Ausgabe = &H0500 ' Direction
or &H0504
Gosub Lcd_send
'-----------------
Ausgabe = &H0800 - X1 'X1
Gosub Lcd_send
'-----------------
Ausgabe = &H0900 - X2 'X2
Gosub Lcd_send
'-----------------
Ausgabe = &H0A00 - Y2 'Y1
Gosub Lcd_send
'-----------------
Ausgabe = &H0B00 - Y1 'Y2
Gosub Lcd_send
Return
mit diesem Codeteil wird der Text spiegelverkehrt angezeigt.Ich habe
schon probiert, die X1,X2,Y1,Y2 zu ändern, aber ich bekomme keine
normale schrift hin. Auch mit X1 = 131 - y1 oder so, bekomme ich es
nicht hin. Kann mir jemand einen Tip geben, wie ich aus der
Spiegelverkehrten Schrift, eine lesbare Schrift hinbekomme ?
danke und gruß Kay
Hier mal das Datenblatt zum LS020... steht nicht viel zum Interface
drin.
Es geht aber daraus hervor, dass der Controller tatsächlich ein LR38826
ist - eigentlich suche ich nach dem Datenblatt dafür.
Die Supply voltage ist mit 2.8 bis 3.0 Volt angegeben - die meisten
betreiben ihr Display also mit Überspannung.
Aber laut dem Datenblatt kann der display controller nicht mit 1.8 Volt
betrieben werden - komisch...
Hallo,
Hänge mich hier auch mal an,
Anbei der Initialisierungscode für einen STM32 Prozessor und LS2020
Display.
2 Funktionen habe ich Testweise eingebaut:
1 mal FillScreen zum auffüllen des Displays und eine DrawBitmap passend
zu Beitrag "Bitmap Konverter". Angepasst muss in der
"for" Schleife in der Funktion eig nur der Pixelwert des zu zeichnenden
Bildes angepasst werden.
Interesant sollte aber nur der INIT Code sein ;)
Viel Spass damit.
Und danke euch allen für die super Vorarbeit.
Hi,
ich habe mein Display an einen Mega2561 angeschlossen, alle Verbindungen
überprüft und doppelt gecheckt. Die Software von superkranz genommen,
aber leider "passiert nichts". Genauer gesagt: Auf dem Display verändert
sich nichts und der Code bleibt irgendwo in der lcd_init hängen.
Aufgrund der Adresse der Register SPCR und SPIF habe ich die SPI_SEND
Befehle wie folgt geändert:
1
SPI_SEND:
2
lds R28,SPCR
3
sbr R28, (1<<SPE)
4
sts SPCR, R28
5
;sbi SPCR,SPE ;enable SPI
6
out SPDR,r24 ;load byte in SPI data register
7
SPI_SEND_0:
8
lds R28,SPSR
9
sbrs R28,SPIF
10
;sbis SPSR,SPIF
11
rjmp SPI_SEND_0 ;transmitt byte to LCD
12
in r0,SPDR
13
sbi PORTF,LCD_CS ;deselect Display
14
ret
Zudem habe ich den XTAL-Wert auf 7372800 angepasst und die
Pin-Definitionen zu meinem System passend eingestellt. Da bei mir nicht
alle Pins (RS, CS, RESET) auf PORTB, sondern auf PORTE und PORTF liegen,
habe ich im Code auch die entsprechenden Zeilen geändert.
Das ganze betreibe ich direkt an 3,3V. Vielleicht hat's ja mein Display
geschossen? ;)
Hat jemand von euch eine Idee, warum das ganze bei mir nicht
funktioniert (vllt noch andere Ideen als die 3,3V?)?
Grüße, Lasse