PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD kaufberatung



damaltor
11.02.2007, 15:59
Moin moin,

ich liebäugele mit diesem Display hier:
http://www.roboter-teile.de/Shop/themes/kategorie/detail.php?artikelid=40&source=2
zum einen, weil es recht groß ist, zum anderen, weil man eine matrixtastatur anschlissen kann, und zu dritten weil die ansteuerung extrem einfach zu sein scheint. meine frage: ist das wirklich so einfahc, dass nur die entsprechende zahl per i2c an das display gesendet werden muss, also zB. i2c_send(1) für cursor_home, und i2c_send (6) für show blinkingh corsur und so weiter?
hier ist ein link auf das datenbaltt, was man bei roboter-teile einsehen kann.
http://www.roboter-teile.de/datasheets/lcd03.pdf
wenn das ding wirklich so einfach ist, dann ist das ja kaum auszuhalten =)
aber:
wie komme ich an die werte der tastatur dran?
wie sieht der zeichensatz aus?
hat jemand ein umfangreicheres datenblatt mit mehr infos, zeichensatz und beispielen?
hat jemand erfahrung mit diesem gerät?
was ist eure allgemeine meinung?

m.a.r.v.i.n
11.02.2007, 16:14
Hi,

wie wäre es statt einer Tastatur, einfach eine Infrarot Fernbedienung zu benutzen. Damit hat man jede Menge Tasten und man brauchst sich dabei nicht zu bücken. Der IR Empfänger versteht sich mit Fernbedienungen, die RC5 Code senden ganz prima, eine kleine Softwareroutine reicht dafür aus.

raid_ox
11.02.2007, 16:14
Ich empfehle immer noch normales LCD mit pcf8574. hehe. Den tastatur kann man ja mit 2.pcf machen. ^^. Ich will jetzt lernen wie man ATmega als i2c slave machen kann, damit kann man ja viel mehr machen ^^

damaltor
11.02.2007, 16:16
nja.. mir gefällt dieses display ganz gut, einfach weil es (scheinbar?) so einfach anzusteuern ist, und es wäre 100%ig konform mit anderen umbauten. das mit der ir-fernbedienung ist ne feine idee, werd ich mal testen.

damaltor
11.02.2007, 16:43
hat noch irgend jemand ne idee, woher ich mehr infos zu dem ding bekommen könnte?

inka
11.02.2007, 17:07
Der IR Empfänger versteht sich mit Fernbedienungen, die RC5 Code senden ganz prima, eine kleine Softwareroutine reicht dafür aus.
heisst das ich könnte den asuro mit der fernbedienung stoppen, sprich den programmablauf unterbrechen und evtl. wieder starten?

damaltor
11.02.2007, 17:30
du könntest eine programmierbare fernbedienung nutzen, ihr mit dem transceiver zB "S" auf die taste 0 einprogrammieren und dann den asuro darauf programmieren, wenn er ein S empfängt, anzuhalten. die fernbedienung sendet einfach nur zeichen, und was du mit den zeichen machst musst du dem asuro erzählen. =)

m.a.r.v.i.n
11.02.2007, 17:36
Hi,

naja, man könnte den Asuro mit der Fernbedienung steuern. Motoren stop, vorwärts, rückwärts rechts links usw.
Im Asuro SelfTest ist ja die Datei IRDemo.c dabei. Dort wird ja ganau so etwas gemacht. Leider funktioniert dieses Beispiel nicht mit jeder Fernbedienung. Deshalb habe ich das Programm geändert, damit es mit einer RC5 kompatiblen Fernbedienung funkioniert.

Den Programmablauf selbst unterbrechen, so wie das ein Incircuit Debugger macht, sicher nicht.

Für ein LCD Modul wäre es zum Beispiel, wenn man zwischen mehreren Seiten blättern könnte und einzelne Einstellungen im Betrieb vornehmen könnte (Kontrast, Backlight, sonstige Parameter) .

damaltor
11.02.2007, 21:37
ich möchte doch nur wissen ob man zur aqnsteuerung nur die zahlen aus der tabelle des datenblattes per i2c senden muss, oder ob es doch komplizierter ist. hier nochmal meine fragen von oben:
muss man nur die zahlen aus dem doku senden, oder ist es doch komplexer?
wie komme ich an die werte der tastatur dran?
wie sieht der zeichensatz aus?
hat jemand ein umfangreicheres datenblatt mit mehr infos, zeichensatz und beispielen?
hat jemand erfahrung mit diesem gerät?
was ist eure allgemeine meinung?

raid_ox
11.02.2007, 21:41
Hmm, ich weis nicht, die ansteuerung ist nicht standard, dazu kann ich nicht sagen. Ich habe mit diesem art von LCD steuerung noch nicht beschäftigt.

raid_ox
11.02.2007, 21:51
Außerdem 35€ ist auch nicht gerade billig. Von preis/leistung her ist auch nicht besonders toll, außer das keypad, aber dann hast du auch wieder probleme mit dem anschließen. Eigene Erweiterungsplatine selbst zu zusammenlöten wäre viel billiger. (Vierzeihe mir, dass ich immer das sage ^^).

Ronny10
11.02.2007, 22:21
In der Beschreibung (PDF) ist doch alles genau erklärt! Wenn du Register 0 liest, bekommst du die Anzahl der aktuell noch freien Bytes im Puffer. Über einen Schreibvorgang des Register 0 kannst du entweder einen Steuerbefehl 0-27 oder ein ASCII-Zeichen in den Puffer schreiben. Über Register 1 (LSB) und 2 (MSB) kannst du den Tastencode der Tastatur auslesen. Register 3 liefert dir die Versionsnummer des Display. I2C-Adresse von dem Teil ist 0xc6. Das ist alles, wozu benötigst du noch zusätzliche Informationen?

Peter (Ronny10)

damaltor
11.02.2007, 22:28
wahrscheinlich eine recht komische frage... ich öffne den i2c-bus, und schreibe die adresse des geräts, wie üblich bei jeder i2c-komunikation, so wie ich es bei meinem PCF8574 auhc mache. aber das display ist schon etwas anderes: wie sage ich ihm, aus welchem register ich lesen will? bzw in welches register ich schreiben will (wobei man wohl ohnehin nur ins erste register schreiben kann, also wird das nicht das problem sein)?

raid_ox
12.02.2007, 06:37
Hi,

Ich glaube mit dem Register geht es so:


i2c_start_wait(0xC6+I2C_WRITE);
i2c_write(0x00); // Command Register
i2c_write(12); // Clear Screen
i2c_stop();


Weiß selber aber nicht genau...

Ronny10
12.02.2007, 07:35
Genau so wird's gemacht (siehe Antwort raid_ox). Nur muss du immer vorher den Pufferstatus (Anzahl freier Bytes) aus Register 0 auslesen und evtl. bei einem vollen Puffer etwas warten, bis die Anzahl der Bytes die du schreiben willst in den Puffer passen. So einfach ist das!

Peter (Ronny10)

damaltor
12.02.2007, 19:01
alles klar. und um das erste register (also den puffer) auszulesen, muss ich dann eine 0 schreiben und dann lesen? oder ist das dann i2c_read(0) oder wie?

Ronny10
12.02.2007, 19:19
Den Zeichenpuffer kannst du nicht auslesen. Beim Lesen von Register 0 erhällts du nur die Anzahl der freien Pufferbytes. Dann schreibst du deine Steuerzeichen oder ASCII-Zeichen über Register 0 ins Display. So langsam solltest du das aber jetzt verstanden haben!

Peter (Ronny10)

damaltor
12.02.2007, 19:24
ja das meine ich ja. wenn ich register 0 lesen will, um herauszufeinden wie viele zeichen im puffer noch frei sind, muss ich dann erst eine null schreiben und dann lesen? oder muss ich i2c_read(0) schreiben? oder mal angenommen ich will register 3 lesen (versionsnummer). was muss ich dann tun?

wie das schreiben geht ist mir schon klar. ich öffne den i2c-bus, schreibe die adresse (in der i2cmaster bibliothek ist das ja ein schritt), schreibe dann zuerst das register und dann den befehl den ich schreiben will.

raid_ox
12.02.2007, 20:55
nicht wie bei pcf8574 muss du hier mehrere male i2c_write schreiben. so ist die reihenfolge:

Start|SlaveAddress+Mode|A|Register|A|Data|A|Stop

damaltor
12.02.2007, 21:41
aber ich will doch wissen wie ich einen bestimmten register LESEN kann...

raid_ox
12.02.2007, 22:24
Achso...

Start|SlaveAddress+Write|A|Register|A|RepeatedStar t|A|Read|A|Stop

So ist es glaube ich, ich habe es hier nachgelesen: http://www.robot-electronics.co.uk/htm/using_the_i2c_bus.htm

damaltor
12.02.2007, 22:26
alles klar, vielen dank.