Mini-Farbdisplay (+mehr) für 1 Euro

#1366349
Lesenswert?

Hi Leute,

bei Woolworth gibt es derzeit auf den 1 Euro Wühltischen ein
LCD-Videospiel für Kids für einen Euro.
Das Teil musste natürlich umgehend erworben und zerlegt werden :)
Es handelt sich um einen Spielhandheld namens "Miuchiz Monsterz"
mit USB-Anschluss.
Das Teil wurde mal für 40 Euro vermarktet, jetzt 1 Euro :)

So, was ist drin :

Farb-LCD Powertip FP-00478-02
Flash IC SST39VF1681
2 Quarze 16 MHz und 32768 KHz
Mini-Lautsprecher
SMD 3,3 Spannungsregler
2 Ferrit-Filter am USB-Eingang
3 Batterien Micro 1,5 V

Nicht schlecht für einen Euro :)
Leider finde ich bisher nichts zum Display :(
Angehängte Dateien:
#1366351
Lesenswert?

Hier die andere Seite mit dem Display.
Auflösung geschätzt irgendwo um die 80-100 Pixel horizontal.

Zumindest in dem Woolworth hier hatten sie übrigens
1-200 Stück davon in einer Riesenkiste.
Aber da es auf der Woolworthseite im Prospekt ist, geh ich mal
davon aus dass es in allen Filialen erhältlich ist.
Angehängte Dateien:
Persönliche Seite #1366395
Lesenswert?

Hi, sieht ja interessant aus. Zum ausschlachten ist sicher etwas dabei, 
aber genial wäre es natürlich wenn man in den Flash eigene Programme 
laden könnte, was ja prinzipiell möglich sein sollte.
Dazu müsste man als erstes herausfinden welcher Mikrocontroller unter 
dem Plastik-Kleks mit dem grünen Aufkleber ist.

Werde mir nächste Woche zwei Stück besorgen.
#1366513
Lesenswert?

So, hab etwas zum Display rausgefunden ;)

Es ist genau dieses (zumindest optisch):

http://www.alaeldean.com/alaeldean/show_product.asp?id=4166

Auf der Rückseite steht "JPH9867C-001-I-P1-Q
Google spuckt bei "PH9867C" und "PH9867C-001" viele
Seiten aus, aber kein Datenblatt in Sicht.

Zu dem vermutlichen Controller findet man aber interresantes :

The ST7626 is a driver & controller LSI for 65K color graphic dot-matrix 
liquid crystal display systems. It generates 294 Segment and 68 Common 
driver circuits. This chip is connected directly to a microprocessor, 
accepts Serial Peripheral Interface (SPI) or 8-bit/16-bit parallel 
display data and stores in an on-chip display data RAM. It performs 
display data RAM read/write operation with no external operating clock 
to minimize power consumption. In addition, because it contains power 
supply circuits necessary to drive liquid crystal, it is possible to 
make a display system with the fewest components.

SPI hört sich gut an :)
#1366536
Lesenswert?

Alexander Schmidt schrieb:
> Hi, sieht ja interessant aus. Zum ausschlachten ist sicher etwas dabei,
> aber genial wäre es natürlich wenn man in den Flash eigene Programme
> laden könnte, was ja prinzipiell möglich sein sollte.
> Dazu müsste man als erstes herausfinden welcher Mikrocontroller unter
> dem Plastik-Kleks mit dem grünen Aufkleber ist.
>
> Werde mir nächste Woche zwei Stück besorgen.

Das Teil bindet zwei USB Devices ein, eines davon ein Wechseldatenträger
der aber unter Windows als nicht Formatiert angezeigt wird.

http://camerahacks.10.forumer.com/a/miuchiz-device-handheld-with-usb-port_post5358.html

Im Prospekt ganz unten steht übrigens in welchen Filialen das Teil
nicht erhältlich ist :

http://www.woolworth.de/downloads/prospekt_WP933_de.pdf
#1366552
Lesenswert?

Andreas Jakob schrieb:
> Es ist genau dieses (zumindest optisch):
>
> http://www.alaeldean.com/alaeldean/show_product.asp?id=4166

Also ein passives Farbdisplay mit max 98x68 Pixel.

Schau mal ab Seite 89 im ST7626 Datenblatt. Die Anschlussbelegungen der 
Displays passen meist komplett oder zumindest zu >90% zu den Vorschlägen 
im Datenblatt des Controllers.
Die meisten Pins wie Vcc und GND, sowie die Kondensatoren sollten sich 
ja leicht auf der Platine finden lassen. Die Lücken dazwischen kann man 
dann mit den Infos aus dem Datenblatt leicht füllen.
#1366659
Lesenswert?

Der Datenbus scheint direkt vom Flash zum Displayconnector
zu laufen. Damit wäre dass schonmal klar (sobald der Connector
runtergelötet ist)


Benedikt K. schrieb:
> Andreas Jakob schrieb:
>> Es ist genau dieses (zumindest optisch):
>>
>> http://www.alaeldean.com/alaeldean/show_product.asp?id=4166
>
> Also ein passives Farbdisplay mit max 98x68 Pixel.
>
> Schau mal ab Seite 89 im ST7626 Datenblatt. Die Anschlussbelegungen der
> Displays passen meist komplett oder zumindest zu >90% zu den Vorschlägen
> im Datenblatt des Controllers.
> Die meisten Pins wie Vcc und GND, sowie die Kondensatoren sollten sich
> ja leicht auf der Platine finden lassen. Die Lücken dazwischen kann man
> dann mit den Infos aus dem Datenblatt leicht füllen.
Persönliche Seite #1366791
Lesenswert?

Schade bei solchen Geräten ist, dass es die für ein paar Wochen bei 
Wollwurst gibt aber danach kann man die nicht mehr bekommen.

http://www.pearl.de/a-NC1110-5953.shtml;jsessionid=kfc53U_k0V26jebi758ls
http://darkfader.net/pdc/

Sogar mit auswechselbaren Spielen (also leicht zu hacken):
http://www.pearl.de/a-NC1111-5953.shtml
#1366913
Lesenswert?

Hi zusammen,
  das Teil sieht ja wirklich interesannt aus. Im Netz gibt es leider nur 
wenig Infos, die nicht wirklich verifiziert sind. Angeblich soll ja ein 
6502-Klon in dem Teil werkeln. Mit viel Glück enthält das eingebaute ROM 
nur einen Bootloader und die Firmware wird im externen FLASH 
gespeichert.
Vielleicht funktioniert ja libst2205 mit dem Teil:
http://picframe.spritesserver.nl/wiki/index.php/Libst2205
Kann eventuell jemand weiter Infos ermitteln? Nützlich wären VID/PID vom 
USB-Device. Vielleicht hat jemand die Möglichkeit ein paar Oszilogramme 
vom Display aufzunehmen. Damit könnte man ermitteln, ob wirklich ein 
SPI-Interface genutzt wird. Ich werd mir morgen mal ein paar Teile 
kaufen.

Gruß,
  SIGINT
#1368874
Lesenswert?

So,
  ich hab mir die Konsole jetzt auch besorgt. War leider nur noch eine 
da.
Ich bin mir nun relativ sicher, daß das Display ein 8Bit-Interface 
besitzt, wie es oben im Link gesagt wird. Der ST7627 sieht ja relativ 
einfach aus, wenn man sich das Datenblatt mal aufmerksam durchliest. Ich 
werd das morgen mal genau anschauen. Eigentlich müssen wir ja nurnoch 
die Pinbelegung durchmessen und dann kann es losgehen. Ich werd mir das 
die Tage mal genauer anschauen. Schade, daß ich nur ein Display bekommen 
hab.

Gruß,
  SIGINT
#1368955
Lesenswert?

Mensch... dann muss ich morgen nochmal in einer anderen Stadt 
nachschauen. Wenn wir das Display ans laufen bekommen, wäre das echt ein 
Schnäppchen.
Also:  LED und Daten scheinen schonmal relativ einfach zu sein. Pin1 ist 
beim Lautsprecher.

Pin   / Belegung
1/ LED +
2/ LED -
3-15/ Daten- und Steuerleitungen (die Belegung muss ich noch 
herausfinden, sollte aber kein großes Problem sein da die Datenleitungen 
bekannt sind)
16/GND
17+18/3.3V?
19/GND
20/1M Widerstand gegen Masse?!?

Kann die Beobachtungen jemand bestätigen?

Gruß,
  SIGINT
#1368989
Lesenswert?

Sigint 112 schrieb:
> Mensch... dann muss ich morgen nochmal in einer anderen Stadt
> nachschauen. Wenn wir das Display ans laufen bekommen, wäre das echt ein
> Schnäppchen.

Ich kann ja noch ein paar holen und dir im Luftpolterumschlag schicken 
;)

>
> Kann die Beobachtungen jemand bestätigen?
>

Hier mein derzeitiger Stand :

Pin  Funktion  Bemerkung
1  LED +
2  LED -
3  ?  zur CPU
4  ?  zur CPU
5  A0
6  /RESET
7  /OE  /OE vom Flash
8  D7
9  D6
10  D5
11  D4
12  D3
13  D2
14  D1
15  D0
16  GND
17  VCC  3,3V
18  VCC  3,3V
19  GND
20  ?  Über 1M und C parallel an GND
#1369063
Lesenswert?

@Andreas: Hey, wenn du noch 5 besorgen kannst waere das wirklich super. 
Ist ja nicht wirklich viel Geld. Versand ist mit Hermes relativ 
preiswert, oder?
Kannst mir ja ne PM schreiben, wenn du noch welche bekommen hast.

Zur Pinbelegung: Ich hab bei Pin6 den WE-Pin des Flash ausgezaehlt. 
Leider kann ich so spaet die kleinen Pins nichtmehr zuverlaessig 
zaehlen... das mach ich morgen nochmal.  Der Rest ist identisch mit der 
Belegung, die ich ermittelt habe. Mich wundert nur die Belegung von 
Pin20... wofuer ist das gut? Die beiden Pins zum Controller duerften /CD 
und E sein. Ab hier duerfte es kein Problem mehr sein das Display ans 
laufen zu bekommen. Sogar den Spannungsregler duerfte man Recyceln 
koennen.

Schade, dass ich nicht mehr ueber den Controller herausfinden konnte. So 
ein 6502-Klon waere schoen zum rumspielen. Aber egal.

Gruss,
  SIGINT
#1369185
Lesenswert?

Sigint 112 schrieb:

> Zur Pinbelegung: Ich hab bei Pin6 den WE-Pin des Flash ausgezaehlt.

Stimmt, ist WE.
Ich bin mir noch nicht ganz sicher, aber vermutlich sieht das Ganze
so aus :

Pin     Funktion   Bemerkung
1       LED +
2       LED -
3       /CS
4       /Reset
5       A0
6       /WR        /WE vom Flash
7       /RD        /OE vom Flash
8       D7
9       D6
10      D5
11      D4
12      D3
13      D2
14      D1
15      D0
16      GND
17      VCC       3,3V
18      VCC       3,3V
19      GND
20      VLCD      Über 1M und C parallel an GND
#1369760
Lesenswert?

Hmm

Also das Spiel da drauf ist ja der größte schrott :D.
Aktive fläche vom Display ist 19x28mm.

@ slime
>Pin 5 konnte ich bis jetzt nicht ausfindig machen
Dann werde ich gleich mal den Connector runter löten und dir sagen wo 
pin 5 hingeht.

Hier:
http://www.sitronix.com.tw/sitronix/SASpecDoc.nsf/FileDownload/ST76261292513/$FILE/ST7626%20Ver_1_5.pdf
das Datenblatt von dem Controller. Das sollte mit ziemlicher sicherheit 
der Richtige sein.
#1369988
Lesenswert?

Es läuft über den parallelen 8bit Bus. SPI geht nicht, denn dazu müsste 
man die IF Pins alle auf GND legen, aber die sind intern fest verdrahtet 
(eventuell auf dem Folienkabel, aber da möchte ich nicht rumlöten).

An sich ist das Display garnichtmal schlecht (vor allem für den Preis). 
Schön ist, dass es abgesehen von dem einen Kondensator an der 
Displayspannung (den ich momentan aber nicht mal dran habe) keine 
externen Bauteile benötigt. Auch optisch ist es garnicht mal schlecht, 
die Farben sind relativ kräftig.
Nur das Backlight könnte gleichmäßiger sein.
#1369997
Lesenswert?

@Benedikt: Auf dich ist mal wieder verlass! :-)
Das sieht ja echt nicht schlecht aus. Ich muss so schnell wie möglich ne 
Platine ätzen.

@Phil: Das Display ist fest im 8bit-Modus verdrahtet. Du müsstest die 
Leitungen auf der Leiterfolie ändern um den SPI-Modus zu aktivieren. 
Schau dir mal im Datenblatt an, wie man die Modi auswählt.

Gruß,
  SIGINT
#1370056
Lesenswert?

Thema Stromverbrauch:
Das Display läuft bei mir mit 3,3V und zieht ziemlich genau 1mA. Das 
Backlight ist selbst bei <5mA noch ausreichend hell. Als gesamte 
Stromaufnahme reichen als 5mA wenn man Strom sparen möchte, oder rund 
10-20mA wenn das schön Backlight hell sein soll.
Das Display ist also ideal für Batteriebetriebene Geräte.
#1370347
Lesenswert?

Der Initcode ist copy&paste aus dem Datenblatt.
Dazu kommen noch die writebyte/writecommand Funktion:
1
void writebyte(unsigned char byte)
2
{ A0=1;
3
  PORTB=byte;
4
  CS=0;
5
  WR=0;
6
  asm("nop");
7
  asm("nop");
8
  WR=1;
9
  CS=1;  
10
}
11

12
void writecommand(unsigned char byte)
13
{ A0=0;
14
  PORTB=byte;
15
  CS=0;
16
  WR=0;
17
  asm("nop");
18
  asm("nop");
19
  WR=1;
20
  CS=1;  
21
}

Und noch loadpic (Bilder über den UART vom PC laden):
1
unsigned char loadpic(void)
2
{   unsigned char x,y;
3
    writecommand(0x75);  // Y Adresse setzen
4
    writebyte(0);        // Y Start
5
    writebyte(67);       // Y Ende
6
    writecommand(0x15);  // X Adresse setzen
7
    writebyte(0);        // X Start
8
    writebyte(97);       // X Ende
9
    writecommand(0x5C);  // Daten schreiben
10
    for (y=0; y<68; y++)
11
    {  for (x=0; x<98; x++)
12
       {  writebyte(uart_getchar());
13
          writebyte(uart_getchar());
14
       }
15
    }
16
}


PS: Ich habe das Teil mal an den PC angeschlossen. Es meldet sich als 
Laufwerk an. Allerdings wird das Laufwerk als unformatiert, aber mit 
16MByte Kapazität angezeigt. Wie die auf einem 2MByte Flash gespeichert 
werden sollen, ist mir ein Rätsel.

PSS: Hat jemand die Frauenversion (dieses rosa Teil) von dem Spiel? Die 
finde ich noch lustiger als die andere Version...
#1370374
Lesenswert?

Benedikt K. schrieb:
> PS: Ich habe das Teil mal an den PC angeschlossen. Es meldet sich als
> Laufwerk an. Allerdings wird das Laufwerk als unformatiert, aber mit
> 16MByte Kapazität angezeigt. Wie die auf einem 2MByte Flash gespeichert
> werden sollen, ist mir ein Rätsel.

Das ist kein Rätsel: Das wird wie bei den Photoschlüsselanhängern sein. 
Die "Festplatte" bietet nur bestimmte Adressen an, über die auf den 
gesamten Speicherbereich des ST2203/5 zugegriffen werden kann.Siehe:
http://picframe.spritesserver.nl/wiki/index.php/Libst2205
Leider scheint das Interface von dem Miuchiz nicht 100% indentisch zu 
sein.
Hab mich damit aber nicht weiter beschäftigt. Zudem der Prozessor noch 
ein OTP-ROM besitzt, welches nicht modifiziert werden kann--> daher 
wahrscheinlich uninteresannt. (es sei, im ROM sitzt eine Art Bootloader)

> PSS: Hat jemand die Frauenversion (dieses rosa Teil) von dem Spiel? Die
> finde ich noch lustiger als die andere Version...

Naja... technisch scheinen die identisch zu sein. Hab aber nur das rosa 
Teil. Deshalb kann ich nicht vergleichen.

Gruß,
  SIGINT
#1370396
Lesenswert?

Sigint 112 schrieb:
> Das ist kein Rätsel: Das wird wie bei den Photoschlüsselanhängern sein.
> Die "Festplatte" bietet nur bestimmte Adressen an, über die auf den
> gesamten Speicherbereich des ST2203/5 zugegriffen werden kann.

Interessant. Mit einer eigenen Software kann man damit bestimmt schöne 
Sachen machen.
Allerdings finde ich diese Lösung aber auch für einen ziemlichen Pfusch. 
Das hätte man bestimmt besser machen können.

> Naja... technisch scheinen die identisch zu sein. Hab aber nur das rosa
> Teil. Deshalb kann ich nicht vergleichen.

Ja, die Elektronik ist gleich, vermutlich auch ein Großteil der 
Software. Letztendlich ist das ganze nix anderes als eine Art 
Tamagotchi. Die rosa Version ist speziell auf Frauen angepasst (man kann 
Kleider kaufen und anderen Scheiß machen, in der anderen Version gibts 
Statt dem Kleiderladen ein Waffengeschäft). Ich fand es nur lustig als 
ich die Anleitung überflogen habe, auch die Geräusche die das Ding 
macht...

Ich würde fast drauf tippen, dass der Unterschied zwischen den beiden 
Versionen nur im Flash ist.
Gast #1370526
Lesenswert?

Bin kurz vor Ladenschluss hier in Linau mal bei W... gewesen und hab mir 
einige gesichert. Hier liegen noch etliche in der Kiste auch die rosa 
Variante (hatte ich wegen der Farbe ignoriert). Denke das die hier kaum 
gekauft werden (es sei denn ich habe durch meinen Kauf hier das 
Interesse der Leute geweckt) und kann morgen bei Interesse noch einige 
besorgen.

PM geht leider nicht ... müste mich endlich mal anmelden.
#1370804
Lesenswert?

Ich habe das quick&dirty gemacht:
Die ersten 54 Bytes sind bei einer BMP Datei der Header. Den werfe ich 
weg und danach kommen die RGB Bilddaten die ich dann in das passende 
16bit Format für das Display umwandle und an den AVR schicke.

Ich teste solche Displays immer über den PC:
Die Software auf dem AVR besteht wirklich nur aus den Lowlevel Routinen 
writebyte, writecommand und lcd_reset. Diese Funktionen lassen sich der 
UART steuern.
Die eigentliche Initroutine und Datenerzeugung läuft dann auf dem PC. 
Dort ist das compilieren und ausprobieren schneller als wenn ich immer 
eine neue Software in den AVR flashen muss.
#1370818
Lesenswert?

Benedikt K. schrieb:
> Die Konsolen sind für 6+.
>
> Das einfachste dürfte es sein den originalen Stecker aus zulöten, geht
> mit Heißluft ziemlich gut.

Da an der Stelle auf der Platinenrückseite keine Bauteile sind,
könnte dass auch mit einem Bügeleisen auf höchster Stufe funktionieren.
Platine ne Minute aufs Bügeleisen pressen und Buchse runternehmen.
Persönliche Seite #1370859
Lesenswert?

@Benedikt K. (benedikt) (Moderator)

>Ich teste solche Displays immer über den PC:

Interessant, eigene Software geschrieben?

Das jedes mal neu flashen geht mir langsam auch auf den Geist.

@Andreas Jakob (antibyte)

>könnte dass auch mit einem Bügeleisen ...

oder mit einer Reglerkochplatte, die Dinger will eh keiner mehr
haben

Wigbert
#1371379
Lesenswert?

@Benedikt K.
> Es läuft über den parallelen 8bit Bus. SPI geht nicht, denn dazu müsste
> man die IF Pins alle auf GND legen, aber die sind intern fest verdrahtet

Mich interessiert mal, in welchem Modus das Display läuft, 6800 oder 
8080?
Aus Deinem Softwarebeispiel weiter oben und nach Studium des DB würde 
ich auf 8080 tippen bzw. sieht es eigentlich so aus, als wenn es beim 
Schreiben egal wäre. Legst Du RD/E fest auf "H" oder auf einen Port?

Reinhard
#1371410
Lesenswert?

Wigbert Picht-dl1atw schrieb:
>>Ich teste solche Displays immer über den PC:
>
> Interessant, eigene Software geschrieben?

Es ist einmal die Software auf dem AVR, von der ich mir quasi eine 
Vorlage geschrieben habe, also ein Projekt das die Grundfunktionen 
enthält, die ich entsprechend an den Bus und die benötigten Pins des 
LCDs anpasse. Theoretisch könnte ich auch eine universelle Software 
schreiben, die die Pins einzeln setzten kann, aber das wäre dann gleich 
viel langsamer und Fehleranfälliger. Hier existieren dann z.B. die 
Funktion writebyte und writecommand die per UART gesteuert werden und 
als Schnittstelle zur Hardware dienen.

Das andere ist ein kleines C++ Programm in dem ebenfalls die writebyte 
und writecommand Funktion existieren, nur senden diese die Daten über 
den UART (bei mir ein FT232 USB-UART Wandler) an den AVR weiter, der die 
Daten dann an die dortigen writebyte/command Funktionen übergibt.
Das ganze hat den Vorteil, dass ich den Code, den ich auf dem PC 
entwickele dann später direkt (also komplett unverändert) in die AVR 
Software übernehmen kann, in der die writebyte und writecommand Funktion 
ja bereits existieren. Nur der Weg über den UART fällt dann weg.

Reinhard Richter schrieb:
> @Benedikt K.
>> Es läuft über den parallelen 8bit Bus. SPI geht nicht, denn dazu müsste
>> man die IF Pins alle auf GND legen, aber die sind intern fest verdrahtet
>
> Mich interessiert mal, in welchem Modus das Display läuft, 6800 oder
> 8080?

8080 Modus.

> Legst Du RD/E fest auf "H" oder auf einen Port?

Ich habe es erstmal auf einen Port gelegt, aber der liegt dauerhaft auf 
high, man kann es also auch direkt an high legen.
Ich hatte mal die Initialisierung des Displays in der Originalplatine 
aufgezeichnet, da scheint RD auch dauerhaft auf high zu liegen.
#1371607
Lesenswert?

Phil S. schrieb:
> Hat schonmal jemand versucht das SST auszulesen?

Bis jetzt noch nicht. Der Inhalt würde mich aber auch interessieren.
Leider hab ich noch Probleme so einen Pinabstand zu handhaben. Ich werd 
vielleicht am WE mal eine Trägerplatine ätzen. Wenn dort das 
Applikationsprogramm sitzt und man von dort aus Zugriff auf das interne 
ROM hat, dann besteht vielleicht die Möglichkeit die Spielekonsole neu 
zu programmieren. Das wäre natürlich Mega-Genial, da es viele Leute gibt 
die den 6502 mögen. Ich vermute, daß man nur entsprechende 
Speicherstellen der "Festplatte" ansprechen muss, um das Flash neu zu 
programmieren. (Die Konsole meldet sich, wie oben erwähnt, als 
Festplatte an).
Vielleicht hat ja jemand interesse sich hiermit näher zu beschäftigen. 
Wir könnten dann ja eine Arbeitsgemeinschaft bilden.

Gruß,
  SIGINT
#1371743
Lesenswert?

Bei mir geht der Download auch nicht...

>@Benedikt und slime
Hab zum Display mal ne Hardware frage,
Was habt ihr genau an VLCD angeschlossen?
Also ich habe dort original den Wiederstand und den Kondensator vom 
board genommen. Der liegt ja zwischen VLCD und masse wenn ich das 
richtig verstanden hab. An vcc hab ich 3,3V anliegen, doch leider bricht 
manchmal die VLCD spannung auf 1V ab und dann sieht man natürlich nichts 
mehr auf dem display.
Wie habt ihr VLCD beschaltet???

Den SST hab ich schon ausgelötet. Ich werde dann auch mal eine 
Testplatiene für den SST machen. Mal sehen, es sollte eigentlich kein 
Problem sein die daten auszulesen und über den serial anschluss an den 
PC zu schicken.

lg
#1371750
Lesenswert?

Phil S. schrieb:
> Was habt ihr genau an VLCD angeschlossen?

Ich habe da momentan nichts dran.

> Also ich habe dort original den Wiederstand und den Kondensator vom
> board genommen. Der liegt ja zwischen VLCD und masse wenn ich das
> richtig verstanden hab.

Ja.

> An vcc hab ich 3,3V anliegen, doch leider bricht
> manchmal die VLCD spannung auf 1V ab und dann sieht man natürlich nichts
> mehr auf dem display.

Was heißt manchmal? Eigentlich sollte die Spannung nach dem Starten der 
internen Ladungspumpe anliegen und auch stabil bleiben bis zum 
Abschalten.
Gast #1371784
Lesenswert?

Ist dies das Richtige Pixelformat?

(2) 65K color input mode
    1. 8-bit mode
    D7, D6, D5, D4, D3, D2, D1, D0: RRRRRGGG 1st write
    D7, D6, D5, D4, D3, D2, D1, D0: GGGBBBBB 2nd write

Wenn ich versuch RGB werte, je Farbe 00..FF umzuwandeln passen die 
Farben nicht so wirklich.
1
    unsigned char color1 = ((r & 0xF8) | ((g>>5) & 0x07));
2
    unsigned char color2 = (((g<<3) & 0xE0) | ((b>>3) & 0x1F));
#1371824
Lesenswert?

hi,

Manchmal heist, dass es so nach ca. 20 sec aus geht, und dann nach 1 
oder 2 sec wieder an. Ist nen komisches verhalten.
Ich werde mal das Display an ne externe Spannung hängen und nicht an die 
Dev board vcc.

So hab hier mal eben die Eagle lib für den SST gemacht. Vll will ja noch 
jemand versuchen das ding auszulesen oder den baustein für andere 
Projekte mishandeln.

gruß
Angehängte Dateien:
#1371884
Lesenswert?

Gast schrieb:
> Sind zwei getrennte Funktionen besser als eine mit zusätzlichem
> Parameter, wie im Datenblatt? Es ändert sich ja nur ein Bit..

Ich würde sagen es ist egal. Die Dritte Möglichkeit wäre A0 jeweils vor 
dem Aufruf der write Funktion direkt passen zu setzen.

> Können /RESET und RD vom Display fest verdrahtet werden oder ist
> resetten/Lesen erforderlich?

RD auf jedenfall, Reset würde ich ansteuern, denn damit werden alle 
Register auf Defaultwerte gesetzt.
Gast #1372115
Lesenswert?

Cool - RGB aus ner Sinustabelle durchlaufen oder wie geht das?. Sowas 
könnte ich gut mit abwechselnd überblendendem Namen und Alter gut für 
einen Geburtstag gebrauchen..
Vielleicht nächstes Jahr.. :-)
98x68=6664 Pixel .. da braucht man mit 2 K Flash eigentlich gar nicht 
anfangen.


Der sicherlich triviale Schaltplan jetzt mit ISP aber noch ohne 
Spannungsregler. Wahrscheinlich sollte das Backlight auch aus dem 
Spannungsregler versorgt werden, damit die Helligkeit konstant ist.

Den Transistor kann man wohl einsparen, da der AVR bis 20 mA sinken 
kann..

Ansonsten ist der t2313 etwas klein für praktischere Anwendungen, evtl. 
wird nur RX benötigt, oder man spart RESET ein und benutzt einen 
Bootloader, dann könnte man noch ne Taste unterbringen.

Ach nee: PA1 und PA2 sind noch frei, wenn kein Quarz benutzt wird. Dann 
ist aber auf die serielle Kommunikation kein absoluter Verlaß mehr.
Mhh.
Angehängte Dateien:
#1372142
Lesenswert?

Die Aimation wird mit einer Sinustabelle berechnet, da hat Gast (kannst 
du dir mal bitte einen Nickname geben) schon ganz recht gehabt. Das 
Programm hat aber ein kollege geschrieben.

Die Tabelle brauch gut 8kbyte flash. Dazu hab ich für das Display noch 
nen Vram gemacht also 6,6k ram. Die Animation würde aber auch ohne VRAM 
laufen, da ich hier eh nur die Pixel einzeln in das ram schreibe, und 
dann am ende alles ausgebe.

gruß
#1372206
Lesenswert?

Hallo zusammen,

hatte mir gestern auch ein paar von den Teilen geholt...

hab mal geschaut, bei dem Spannungsrgler handelt es sich, meines 
Erachtens, um einen AD7333 von Advanced Semi...

Auszug aus dem DB:

Low Quiescent Current_Low Dropout CMOS Voltage Regulator
AD73XX Series 300mA
·high output voltage accuracy ±2%
·low dropout voltage 3.0mV Iout=1mA
·low quiescent current 1.2uA
·Max input voltage 15V
·Output current 300mA

Anbei der Link zum DB:
http://www.advsemi.com/upload/2009052262603081.pdf


Viele Grüße,

Michel
#1372212
Lesenswert?

Phil S. schrieb:
> Die Aimation wird mit einer Sinustabelle berechnet, da hat Gast (kannst
> du dir mal bitte einen Nickname geben) schon ganz recht gehabt. Das
> Programm hat aber ein kollege geschrieben.
>
> Die Tabelle brauch gut 8kbyte flash. Dazu hab ich für das Display noch
> nen Vram gemacht also 6,6k ram. Die Animation würde aber auch ohne VRAM
> laufen, da ich hier eh nur die Pixel einzeln in das ram schreibe, und
> dann am ende alles ausgebe.
>
> gruß


Hi Phil,

sieht echt schön aus!
Kannst du bitte ein paar Infos dazu geben?
* Skalierung der Animation auf die Pixelfläche
* Ablage/Berechnung der Sinustabelle

Welchen Controller (wieviel RAM) verwendest Du/Ihr dabei?

Viele Grüße,

Michel
#1372583
Lesenswert?

QAndreas Jakob
Hast du schonmal mit dem Tilestudio gearbeitet? Ich habe es selber mal 
installiert und es scheint recht simple zu sein, nur mit der ausgabe hab 
ich noch ein paar probleme, seit dem hab ich mich nicht mehr damit 
veschäftigt.

@Mi Mo
Für die Skalierung sind 2 schleifen verantwortlich, also es ist möglich 
die Animation auf jeder Display größe dazustellen.
Mit variable kann die geschwindigkeit verstellt werden oder auch gezoomt 
werden.
An sich kommt man mit ein paar byte an ram aus, da man es in echtzeit 
berechnen kann.
Zum Flash hab ich ja schon geschrieben, das größte ist die Sinus Tabelle 
ca. 8kbyte flash speicher.

@all
Hier hab ich mal die Display lib geupdatet, da der connector links und 
rechts noch lötpads zur befestigung hat, welche aber im Miuchiz nicht 
angelötet wurden.

gruß
Angehängte Dateien:
Gast #1372585
Lesenswert?

Spannungsregler AD7333 in SOT-89 - aus v-reg XC63FP (SOT-89R) aus Eagle 
gebaut im zip.

Ausserdem anbei EAGLE Files für Schaltplan und angefangenes Board (auch 
png) für ATtiny2313. Wär toll, wenn mir da jemand helfen könnte. Ich bin 
etwas ratlos, wie man das Gewirr in ein möglichst einseitiges Layout 
bekommt (mit 0-Ohm Widerständen). Zweiseitig ätzen ist mir zu aufwändig, 
da aber Kupfer vorhanden ist, könnte man eine Ground-Plane machen..

Weiterhin angefangene Dimensions für das LCD und den LCD-Halter 
(Bohrungsabstand 40,5x28). Pindurchmesser 1,5.
Stege am Display: 3,2 x 1,2.
In welche Layer gehören die Bohrungen/Ausstanzungen?
Angehängte Dateien:
Gast #1372588
Lesenswert?

Hallo, ich versuche gerade vergebens das Display anzusteuern. Aber es 
will einfach nichts anzeigen. Vielleicht könnte sich ja mal jemand 
meinen Code ansehen. Ist eigentlich 1 zu 1 aus dem Datenblatt (mehr oder 
weniger). Das ganze läuft übrigens auf einem ATmega8 der mit 3,3V 
gespeist wird und mit 1MHz aus dem internen RC Oszillator läuft.
Angehängte Dateien:
#1372625
Lesenswert?

Das Problem könnte der Reset Impuls sein: Dieser muss laut Datenblatt 
ein paar µs lang sein, ebenso die Pause dahinter. Da du den AVR aber nur 
mit 1MHz betreibst, könnte es gerade so reichen. Bei höheren 
Taktfrequenzen reicht es aber definitiv nicht mehr, also würde ich die 
Pausen sicherheitshalber direkt mindestens um den Faktor 10 größer 
machen.
Ansonsten sollte der Code eigentlich passen. Daher bleibt nur noch ein 
Hardwareproblem. Mess mal die Spannung an dem VLCD Pin (Pin20).

Hier sind übrigens modifizierte Werte für die LoadPaint Funktion:
1
const unsigned char lut1[]={ 0, 1, 4, 6, 8,11,12,13,14,16,17,18,19,21,24,28};
2
const unsigned char lut2[]={ 0, 2, 5, 7, 9,11,12,13,14,16,17,18,19,22,25,29};
3
const unsigned char lut3[]={ 0, 3, 6, 8,10,12,13,14,15,16,17,19,20,23,26,30};
4
const unsigned char lut4[]={ 0, 4, 7, 9,11,12,13,14,15,16,17,19,21,24,27,31};
Wenn man sich mit den Standardwerten einen Graubalken ausgeben lässt, 
dann ist das linke 1/3 schwarz, das mittlere drittel enthält den Balken 
und das rechte drittel ist weiß. Mit den modifizierten Werten ist das 
ganze etwas linearer, aber auch noch nicht ganz perfekt. Im Randbereich 
ist das Display das ich habe richtig scheiße, da passen die Farben 
überhaupt nicht. Es ist halt vermutlich auch auf Lowcost getrimmt.

Im EEPROM scheinen auch Werte zu stehen. Allerdings anscheinend keine 
absoluten Werte, sondern nur Korrekturwerte die z.B. zum Volume Werte 
addiert werden. Daher habe ich bei mir die EEPROM Ladefunktion 
aktiviert.
#1372685
Lesenswert?

Andreas Jakob schrieb:

> Flash auslöten, Leiterbahnen um die CPU mit Cutter-Messer
> durchtrennen, ATMega32 auf kleiner SMD-Platine reinkleben
> und mit Display, Tastern und USB-Kabel verbinden. [...]

Die Idee, da einen AVR hineinzubasteln hatte ich auch schon.

Aber wenn man sowieso eine SMD-Platine macht (bzw. machen läßt), wäre es 
da nicht einfacher und robuster, die Originalplatine gleich komplett 
durch eine eigene zu ersetzen, die z.B. noch Platz für eine SD-Karte 
bietet? Auf dem AVR könnte ein kleiner Bootloader mit Filemanager 
sitzen, der das gewählte Spiel jeweils von der Karte ins Flash schreibt 
und dann ausführt.

Leider gab es beim hiesigen Woolworth nur noch die "Mädchenversion" und 
ich bin mir nicht sicher, ob man das Gehäuse umlackieren kann.
#1372729
Lesenswert?

Reinhard Max schrieb:
> Andreas Jakob schrieb:

> Aber wenn man sowieso eine SMD-Platine macht (bzw. machen läßt), wäre es
> da nicht einfacher und robuster, die Originalplatine gleich komplett
> durch eine eigene zu ersetzen, die z.B. noch Platz für eine SD-Karte
> bietet?
Wär schon fein, aber die müsste man herstellen lassen, und dass lohnt
sich erst wenn genug Leute Interesse haben.
SD-Kartenleser zu einem Euro gibts übrigens bei Woolworth zwei Kisten 
weiter :) Der Sockel ist schön kompakt.

> Leider gab es beim hiesigen Woolworth nur noch die "Mädchenversion" und
> ich bin mir nicht sicher, ob man das Gehäuse umlackieren kann.

Ich kann dir gerne zwei Leergehäuse gegen Portoersatz zusenden.
Ist billiger als lackieren ;)
#1372864
Lesenswert?

Andreas Jakob schrieb:

> Wär schon fein, aber die müsste man herstellen lassen

Klar, das sowieso, aber würdest Du denn die SMD-Adapterplatine, die Du 
vorgeschlagen hattest, selber machen?

> SD-Kartenleser zu einem Euro gibts übrigens bei Woolworth zwei Kisten
> weiter :) Der Sockel ist schön kompakt.

Die sind mir gestern leider nicht ins Auge gefallen. Eine andere, sehr 
kompakte Möglichkeit für einen µSD-Halter sind die SD-Adapter, die den 
µSD-Karten meistens beiliegen. Einfach den Adapter mit dem Rücken auf 
die Platine kleben und die Kontakte anlöten, so wie hier:

http://www.jobfisch.de/doku.php?id=projekte

> Ich kann dir gerne zwei Leergehäuse gegen Portoersatz zusenden.
> Ist billiger als lackieren ;)

Darauf komme ich gerne zurück, falls sich in Sachen AVR-Platine und/oder 
Hacking des eingebauten Controllers etwas tut.

Noch 'ne Idee für das Board: Platz für ein RFM12 vorsehen, so daß man 
mit mehreren von den Dingern gegeneinander spielen kann. :)
#1373035
Lesenswert?

@bjoern
Naja also 0,5V war bei mir mindestens wenn Reset auf High gelegt ist.

Das Problem ist wenn dort keine 10V anliegen dann sieht man nix auf dem 
Display egal ob du es richtig Init hast oder nicht.

tipp:
Einfach mal 10V(10,18V ist besster Kontrast) von einem Netzteil 
anschließen, damit geht das auch wunderbar und wenn die Init geht 
solltest du irgendetwas auf dem Display sehen.

gruß
#1373042
Lesenswert?

Phil S. schrieb:

> tipp:
> Einfach mal 10V(10,18V ist besster Kontrast) von einem Netzteil
> anschließen

Nein, damit zerstört man eventuell das Display, denn der Pin ist der 
Ausgang der internen Spannungserzeugung! Die 10V erzeugt das Display 
selbst mit einer internen Ladungspumpe. Wenn die 10V (bzw. 8-12V je nach 
Einstellung) also fehlen, dann kommt die Init nicht beim Display an.
#1373125
Lesenswert?

>Benedikt
>Nein, damit zerstört man eventuell das Display, denn der Pin ist der
>Ausgang der internen Spannungserzeugung! Die 10V erzeugt das Display
>selbst mit einer internen Ladungspumpe. Wenn die 10V (bzw. 8-12V je nach
>Einstellung) also fehlen, dann kommt die Init nicht beim Display an.

Normal soll das display es selbst erzeugen. Ich habe zurzeit auch 10V 
dran vom Netzteil, weil es mir anders zu unzuverlässig ist. Es 
funktioniert wunder bar, hatte nachtürlich anfangs auch bedenken das ich 
es zerstören könnte doch bei 1 Euro hab ich es halt probiert. Wenn bei 
der Init 0V an VLCD legen macht er es bei mir Trozdem.

@bjoern
Was hast du jetzt eigentlich genau an VLCD gehängt? Im datenblatt steht 
ja, dass man eigentlich nur 1 C vom wert 1-2,2uF machen soll. Habe das 
auch probiert, trozdem geht es nach einiger Zeit aus.

gruß
#1373145
Lesenswert?

Nein das mach ich nicht.
Grundsätzlich ist es so, dann wenn das Display etwas liegt geht es beim 
anschalten an, und dann nach ca. 20sec aus. Wenn ich dann Resete bleibt 
es meistens aus und ich muss erst wieder 1 St. warten bis es wieder 
anschalten kann. Woran das jetzt genau liegt weiß ich leider nicht.
Im Gerät selber funktioniert das Display problemlos.

Eine Externe Spannungsqelle 10V zieht 0,5mA am VLCD pin.
#1373230
Lesenswert?

Hallo zusammen!
Ich war gerade hier im Woolworth, aber die sind komplett leer gekauft :\

Suche schon seid längerer zeit ein kleines und billiges display um ein 
bisschen daran rumzuspielen :)

Bin nämlich erst seit kurzer zeit besitzer eines Atmega.

Hätte jemand noch so ein gerät abzugeben oder würde nochmal zu woolworth 
kommen um zu gucken ob noch welche zu haben sind?
ich würde so 1-5 nehmen, je nachdem wie viele noch verfügbar sind :-)

Danke schonmal für die bemühungen!
Gast #1373233
Lesenswert?

@bjoern: Danke.

Anbei der Kandidat zum Ätzen. Einseitig mit GND Plane und 6 Vias, zwei 
0-Ohm Brücken. Alles SMD bis auf Stiftleisten (ISP, Power).
1x2 Stiftleisten für UART und Quartz.

Backlight direkt über Soft-PWM

Display liegt mit dem Rücken auf den Bauteilen und verdeckt etwa die 
Hälfte der Komponenten.

Dann werd ich jetzt mal versuchen etwas Brauchbares zu produzieren.
Angehängte Dateien:
#1373431
Lesenswert?

lol

Ich war grad auch nochmal in der stadt und hatte ja vorgestern schon 
alle 6 gekauft die da waren. Heute lagen wieder 4 st da. Naja sofort 
alle mitgenommen, ich denke mal das die im Lager noch mehr haben. Werde 
morgen da nochmal hingehen und schauen ob ich noch welche bekomme. Wenn 
ja, dann kann ich auch welche verschicken.

Zu meindem Display, Ich habe jetzt an vlcd nur einen 100kohm widerstand 
auf masse gelötet ohne kondensator. Und jetzt Läuft das Display seit 2 
Stunden ohne aussätzer.

Zum Serial Flash. Ich hab ein board geätzt, muss es jetzt nur noch 
fertig bestücken. Dann schau ich mal ob ich daten aus dem SST bekomme. 
Wenn das alles kein Problem ist, sollte das Dumpen(der version für 
Jungs, habe leider keine frauen version) des flashes kein Problem mehr 
sein.

Pic von der Flash Platiene.

gruß
Angehängte Dateien:
#1373510
Lesenswert?

Andreas Jakob schrieb:
> Zum erzeugen von Sprites und Bitmaps :
>
> http://tilestudio.sourceforge.net/
>
> Spuckt die Daten in einem frei definierbaren Format aus,
> Vorlagen für die gängigsten Programmiersprachen sind schon dabei.
> Das Ergebnis kann dann einfach in den Quelltext kopiert werden.


Andreas, Dank dir!
Das Programm sieht ja echt nett aus!
Hab mich aber noch nicht großartig damit beschäftigt, nur mal 
reingeschaut.
Ist aber wohl echt aufwändig so eine schöne Animation zu erzeugen wie 
die von Phil S.

@ Phil S.:

Ist es möglich einen Pseudo-Code zu sehen, der mal beschreibt/aufzeigt 
wie die Daten berechnet wurden, bzw. wie so eine Animation abläuft?
#1373521
Lesenswert?

Phil S. schrieb:

>
> Zum Serial Flash. Ich hab ein board geätzt, muss es jetzt nur noch
> fertig bestücken. Dann schau ich mal ob ich daten aus dem SST bekomme.
> Wenn das alles kein Problem ist, sollte das Dumpen(der version für
> Jungs, habe leider keine frauen version) des flashes kein Problem mehr
> sein.

Du Phil,

kann es sein, dass du in Eagle die Orphans noch angeschaltet hast?
Auf deinem Bild sieht das nämlich so aus.
Orphans sind diese kleinen übrigbleibenden Kupferinseln, die sich beim 
Polygon zwischen den Leiterbahnen befinden.

Kleine Frage zu deinem Platinen-Equipment:
Welchen Entwickler verwendest du, bzw. was für eine Vorlage nimmst du? 
Folie oder Pergamnentparpier?

Die Platine ist um den Serial-Flash sehr sauber! Feiner Pitch mit 
0,5mm?!

Ich versuche momentan nämlich meine Ätzerei zu optimieren.


Schönen Abend!

Gruß,
Michel
#1373554
Lesenswert?

Q9 a.k.a. Gast schrieb:
> @bjoern: Danke.
>
> Anbei der Kandidat zum Ätzen. Einseitig mit GND Plane und 6 Vias, zwei

> Display liegt mit dem Rücken auf den Bauteilen und verdeckt etwa die
> Hälfte der Komponenten.

Sicher dass du da keinen Denkfehler drin hast ?
Meiner Meinung nach liegt das Display mit der Vorderseite auf den 
Bauteilen ;)
#1373653
Lesenswert?

@Mi Mo
Wegen dem Code für die Animation frage ich mal meinen Kollegen ob ich 
den hier posten darf.
Nur so zur Info, der Code läuft zurzeit auf einer 32bit mcu. Ist aber 
kein Problem auch auf einem 8bit hinzubekommen.

Zum ätzen, die Polygone waren eigentlich nicht aktive, doch ich hatte 
Probleme mit dem setzen der Masse Fläche, und dann hat der mir die da 
rein gemacht. Finde das aber nicht schlimm, ganz im Gegenteil je weniger 
er weg ätzt desto weniger säure verbrauch ich.

Wie ich ätze:
Also ich drücke mit einem Tintenstrahldrucker(Canon Pixma iP2600) auf 
Folie, die kommt dann mit der Platine in einen Belichtungs- Abtrat mit 
UV röhren ca. 2-3min (das gerät ist aus den 80er Jahren).
Und dann ganznormal kurz entwickeln ca. 5 sec und dann sofort in kaltes 
Wasser um den Vorgang zu Stoppen. Dann hab ich eine Plastikschüssel mit 
der Säure, welche in einer Wassertopf auf dem Herd steht. Dann schön 
ätzen und fertig.
Geht bis 0,2mm ganz gut.

@Q9
Sieht ganz gut aus das board. Wieviel Mhz hat die mcu eigentlich intern?
Gast #1373677
Lesenswert?

ATtiny2313 läuft jetzt mit 8 MHz int. Osc. Wenn man einen FT232R anbaut, 
kann der auch einen höheren Takt ausspucken. Quarz kann man natürlich 
auch drantüddeln.
Das Programm hat jetzt 1134 bytes, viel Platz ist da also nicht mehr. 
Zum Durchreichen der Daten vom PC vielleicht brauchbar.

Vielleicht reicht's noch für einen Proportionalfont?
Gast #1373706
Lesenswert?

Gibt's irgendwo ne allgemeine Einführung zu Grafikdisplays/-controllern? 
Ohne zu Wissen, was Pages, Frames, etc. sind, macht das Datenblatt nicht 
so viel Spaß.

LoadPaint setzt für vier Frames jeweils 16 Farbwerte.
Der Demo-Code stellt den Controller anscheinend auf 65K Farben im 8 Bit 
Modus (siehe Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro")

D.h. es werden zwei mal 8 Bit geschrieben, 5 Bit R, 6 Bit G, 5 Bit Blau.

Wie passt das mit den 16 Werten aus LoadPaint zusammen?

Zweites Problem: Muss immer das ganze Display beschrieben werden oder 
immer ein 4-Zeilen-Block der durch Page und Column Address eingestellt 
wird?
#1373776
Lesenswert?

Q9 a.k.a. Gast schrieb:
> LoadPaint setzt für vier Frames jeweils 16 Farbwerte.

Ergibt 64 Graustufen also 6bit pro Farbe.

> D.h. es werden zwei mal 8 Bit geschrieben, 5 Bit R, 6 Bit G, 5 Bit Blau.
>
> Wie passt das mit den 16 Werten aus LoadPaint zusammen?

6bit -> 6bit. Passt. Da RGB gleich behandelt werden, werden im 
Controller für R und B halt nur 32 Graustufen davon verwendet.

> Zweites Problem: Muss immer das ganze Display beschrieben werden oder
> immer ein 4-Zeilen-Block der durch Page und Column Address eingestellt
> wird?

Man kann das Display theoretisch auch Pixelweise beschreiben:
Beitrag "Re: Mini-Farbdisplay (+mehr) für 1 Euro"
Hier gibt es Start X/Y und Ende X/Y
Man kann also ein Rechteck definieren, dass man beschreiben möchte.
Weiterhin ist man nicht gezwungen das komplette Rechteck zu beschreiben, 
man kann jederzeit einfach aufhören.
Gast #1373942
Lesenswert?

Danke soweit.
Das Beschreiben eines Rechtecks leuchtet ein - aber ich verstehe immer 
noch nicht, wie die ins DisplayRam geschriebenen Pixeldaten/Farbbits mit 
der Farbtabelle zusammenhängen.
Gilt die Tabelle für jede Farbe? Und was bedeutet Frame?

Entschuldige die wahrscheinlich doofen Fragen, aber ich kann mir den 
Zusammenhang nicht alleine erschließen. Ist allerdings auch mein erstes 
Grafikdisplay..

PS:
Für eine Textausgabe nimmt man dann z.B. einen 6x8 Font (-> 6 Bytes pro 
Zeichen) und schreibt die dann einfach rechteckweise..?
#1374022
Lesenswert?

Q9 a.k.a. Gast schrieb:
> Danke soweit.
> Das Beschreiben eines Rechtecks leuchtet ein - aber ich verstehe immer
> noch nicht, wie die ins DisplayRam geschriebenen Pixeldaten/Farbbits mit
> der Farbtabelle zusammenhängen.
> Gilt die Tabelle für jede Farbe?
Ja.

>Und was bedeutet Frame?
Ist sozusagen der Übertragungsrahmen, also z.B. Coloum und Page Addresse 
setzen , Write Mode aktivieren und Daten(Farbe senden).

> PS:
> Für eine Textausgabe nimmt man dann z.B. einen 6x8 Font (-> 6 Bytes pro
> Zeichen) und schreibt die dann einfach rechteckweise..?
Jein. Rechteck beschreiben stimmt. Allerdings 6 x 8 Font bedeutet 6 
Pixel breit und 8 Pixel hoch. Also müsstest du wie oben beschrieben 
erstaml die Commandos senden und dann die Daten.
In Falle von 65K Farbmode wäre die Datengrösse also 6x8x2 = 96byte.

gruß
#1374047
Lesenswert?

Jean Player schrieb:

>> PS:
>> Für eine Textausgabe nimmt man dann z.B. einen 6x8 Font (-> 6 Bytes pro
>> Zeichen) und schreibt die dann einfach rechteckweise..?
> Jein. Rechteck beschreiben stimmt. Allerdings 6 x 8 Font bedeutet 6
> Pixel breit und 8 Pixel hoch. Also müsstest du wie oben beschrieben
> erstaml die Commandos senden und dann die Daten.
> In Falle von 65K Farbmode wäre die Datengrösse also 6x8x2 = 96byte.
>
> gruß

Naja 96byte wären es nur wenn ein zeichen als bild direct speichern 
würdest. Wenn du aber das Zeichen aber nur in Bits speicherst, dann sind 
es 6Byte pro Zeichen.

Ich hab hier mal einen 5x7 Font. Der lässt sich auch sehr gut lesen.
Die brauch insegsamt ca. 510byte flash.
Du musst dann nur noch die Ausgabe schreiben.
Angehängte Dateien:
Gast #1374137
Lesenswert?

Ok, aber was genau macht diese Tabelle?

An den Textmalroutinen bin ich dran - danke für den Font, kommt mir sehr 
gelegen...aber lässt mein Programm abstürzen.

global:
1
const char standard_font[510] = {
1
avrdude: 1746 bytes of flash verified

Brauch ich da noch irgendwelche includes? Was läuft da mit dem Speicher 
schief?
#1374154
Lesenswert?

Die Tabelle ist quasi die Zuordnung Helligkeit -> PWM Wert in der 
Displayansteuerung, denn die Kennlinie des LCDs ist alles andere als 
linear. Lass dir z.B. mal einen Grau oder RGB Balken anzeigen: Links ist 
schwarz, rechts ist weiß bzw. rot/grün/blau.
Und dann schau dir das ganze mal mit linearen Werten in der Tabelle 
(also 0,2,4,6,8...30 an, und einmal mit der Tabelle von mir. Ich denke 
der Unterschied ist deutlich sichtbar.
Gast #1374194
Lesenswert?

Moin, hab mich auch gerade mit der Text Routine beschäftigt hier mal ein 
Code schnipsel der oben links ein Ascii Zeichen ins Display malt.
1
for(y=0;y<68;y++){
2
    for(x=0;x<98;x++){
3

4
      
5
      if((x<=4) && (y<=6) && (standard_font[(('B'-32)*5)+x]&(1<<y))){
6
      
7
        color1=0x00;
8
        color2=0x00;
9
      
10
      }else{
11
        color1=0xff;
12
        color2=0xff;      
13
      }
14

15
    
16
      Write(DATA, color1);
17
      Write(DATA, color2);    
18
    }
19
  }
#1374409
Lesenswert?

Sieht schonmal gut aus.

Natürlich kann man das auch gedreht speicher, dann musst du nur alles 
peer Hand umschreiben ;). Viel Spaß...

Aber wenn du es anders herum machst dann brauchst du für jedes Zeichen 
40% mehr flash. Also 7byte pro Zeichen = 714 byte.
Und ob das wirklich schneller ist weiß ich nicht. Da du ja nur auf den 
Speicher zugreifen musst und es nicht zwischen laden musst.

gruß
#1374682
Lesenswert?

Hallo,

das Display hat 98 x 67 Pixels (und nicht 98 x 68 Pixels, wie es in 
einem Posting geschrieben wurde).

Anbei der Schlüssel, wie das Display nummeriert wurde. Quelle : POWERTIP 
Herstellerseite http://www.powertip.com.tw/products1_1.php

J P H 9867 C    -  001 - I - P1
J =  bedeutungslos
P  = es ist ein Powertip Produkt
H  = Color Display
98 = horizontal 98 pixel
67 = vertikal 67 pixel
C = es ist kein TFT, sondern ein CSTN Display
    Color Super Twist Nematic (CSTN) ist eine von Sharp
    entwickelte Flüssigkristall-Technologie für Farbdisplays.

001 = Serien Nummer (001 - 999 ist möglich)
I = durchsichtige Displaytype (statt reflektiv)
P1 = Version
Angehängte Dateien:
#1374764
Lesenswert?

Hallo,

das PDF File vom Display "LCM-19-PH9867C-001" gibt es hier (91 kB):

http://www.google.de/search?q=5002308367.htm
(Bitte den Link "Im Cache" anklicken, denn die Seite stammt vom 29. Mai 
2009, und existiert nur noch im Google-Cache)

Pin-Belegung:
*************************************************************
Pin     Funktion
1       + LED circuit
2       - LED circuit
3       /CS
4       /Reset
5       A0
6       /WR
7       /RD
8       D7
9       D6
10      D5
11      D4
12      D3
13      D2
14      D1
15      D0
16      GND for logic circuit (Vss)
17      Power supply for logic circuit (2.8V)
18      3.3V (siehe Wahrheitstabelle)
19      GND  (siehe Wahrheitstabelle)
20      LCD driver supply voltages
*************************************************************


Wahrheitstabelle für Pin18 und Pin19 gemäß PDF-File:

Pin18    Pin19     MPU Interface Type:
3.3V     0V        8080-series 8-bit MPU interface
0V       3.3V      6800-series 8-bit MPU interface
Angehängte Dateien:
#1374924
Lesenswert?

slime schrieb:
> Ich hab da mal was angefangen.
> Wird zwar eng, aber ich hoffe das lässt sich noch von hand ätzen.
> Bin grad auf der suche nach passenden Buttons, bzw. die Leiterbahnen
> dafür.

Hi wenn du schon welche hast dann ist ok, Sonst hab ich hier mal was für 
dich.
Das sind quasi die Taster für das board. Habe sie mal selber gebaut.

gruß
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren