IPS-Nano-Terminal

OK,
jetzt habe ich verstanden.

Evtl. bestelle ich heute Abend noch eins, mal zum Testen. Ich suche immer noch das passende Display zur UP-Montage. Verwende selber das Programm Gira Fläche, das bietet einen recht großen Ausschnitt. Evtl. lässt sich da eine Abdeckung aus Glas herstellen, die in bestimmten Bereichen satiniert ist, ist aber nur so eine Idee. Als Taster schwebt mir noch immer der Druck auf die Glasfläche vor (Mircotaster dahinter).
Testen klappt aber erst in 3 Wochen, jetzt am WE geht es erst mal nach Kuba in die Sonne. Das Wetter hier ist ja nicht mehr zu ertragen.:frowning:
Hast du schon andere Controller ausser den HD44780 getestet oder Erfahrung mit anderen Schalterprogrammen u. Rahmen gemacht?

Doc

… leider habe ich noch keine anderen Kontroller getestet.
Schönen Urlaub! Ich bleibe zu Haus: http://www.scharbeutz.de/webcams.html

MST

So,

das Display EA DOGM162 mit ST7036 ist da und scheint auch mech. in das Schalterprogramm vom Gira hinein zu passen.
Nur leider kann ich dem Display kein einziges Zeichen entlocken. Das Display wird im 4bit 5V Modus betrieben das ich mit folgender Initalisierung betreibe.


$id = 52493;
TMEX_F29_SetStrobe($id, TRUE);
IPS_Sleep(100);
TMEX_F29_WriteBytes($id, chr(03).chr(03).chr(03).chr(02).chr(02).chr(09).chr(01).chr(12).chr(05).chr(02));
TMEX_F29_WriteBytes($id, chr(06).chr(09).chr(07).chr(04).chr(00).chr(15).chr(00).chr(01).chr(00).chr(06));

Hat vielleicht schon jemand damit Erfahrung sammeln können oder eine Idee, was mit dem Init-String nicht stimmen könnte?
Bei den anderen Displays mit dem HD44780 o. KS0073 Controller kann man bei der Initalisierung schon eine Reaktion der Displaymatrix erkennen, bei dem ST7036 passiert leider rein gar nichts.

Jemand noch eine Idee, was ich noch probieren könnte oder kann sich jemand den String mal anschauen, ob ich vielleicht was übersehen habe?

Danke u. Gruß,

Doc

Hallo Doc,

mit welcher Spannung betreibst Du Dein „EA DOGM162“?
Am einfachsten ist der Betrieb an 5V.

Hast Du Dich genau an die im Datenblatt angeführte Beschaltung gehalten?
Die unbenutzten Datenleitungen müssen mit der Betriebsspannug verbunden sein.

Dann versuche es mal (nur) mit folgender Initialisierung:

„0x03,0x03,0x03,0x02,0x00,0x02,0x09,0x01,0x0c,0x05,0x02,0x06,0x09,0x07,0x04,0x00,0x0f,0x00,0x01,0x00,0x06“
(natürlich müssen die Hex-Werte in „chr(…)“ verpackt werden, Du kennst das ja inzwischen;))

Der ST7036 benötigt einige zusätzliche Einstellungen, da er auch eine Kontrasteinstellung über Software beherrscht.

Gruß
HJH

Hallo HJH,

danke für die Info.

Betriebsspannung hatte ich oben schon geschrieben, sind die 5 Volt.
Die Beschaltung habe ich schon x-mal gescheckt. Die restlichen Datenleitungen sowie einige andere Leitungen liegen auf 5 Volt bzw. Masse.
Das die Initalisierung hier doch recht stark von den anderen Kontrollern abweicht, ist mir schon aufgefallen. Hatte mir auch schon ein paar aus dem Mikrokontrollerforum zum testen geholt, leider ohne Erfolg.
Ich würde gerne dieses bzw. evtl. auch das 3 zeilige DOG Display zum Einsatz bekommen, da ich immer noch ein einer kabelgebundenen Lösung einer FHT arbeite und dieses Display dann schön UP verbaut werden könnte, ohne das weitere Gehäuseproblem.
Ich werde dein Init-String morgen gleich mal testen, mal sehen ob ich dem Display vielleicht doch noch etwas entlocken kann und mich dann nochmal melden.
Was mir aber noch aufgefallen ist, das in den von Steiner veröffentlichten Schaltplänen zum Display der P4 vom DS2408 einmal zum R/W und einmal zum RS des Displays geht. Ich denke RS wird wohl richtig sein und R/W bleibt unbeschaltet, oder?

Danke erstmal und eine gute Nacht,

Doc

Hallo Doc,

der offizielle Schaltplan für LCD-Anschluss ist der für das NanoTerminal.
Dort ist auch ersichtlich, dass der R/W-Pin keineswegs unbeschaltet, sondern dauerhaft mit GND verbunden ist. In unserer einfachen Schaltung wird auf das Display nur geschrieben, daher die feste Verbindung.

Die Schaltung für die Demo-Platine ermöglicht auch das Lesen vom Display. Diese wird jedoch nicht vom Skript unterstützt.

Also halte Dich bitte an die Informationen zum NanoTerminal.:slight_smile:

Gruß
HJH

Hallo HJH,

mit unbeschaltet hatte ich mich falsch ausgedrückt. Meinte R/W auf Masse.
Habe mich an die Beschaltung des Nanoterminals gehalten, funktioniert mit dem eDip auch problemlos.
Habe heute mal dein Init getestet, leider ohne Erfolg. Es rührt sich rein gar nichts. Die Beschaltung habe ich auch nochmal überprüft und jeden Ausgang des DS2408 am Display direkt geschaltet und gemessen, ohne Probleme.
Die restliche Beschaltung ist wie von Hersteller für den 5Volt 4bit Modus vorgeschrieben.
Entweder habe ich immer noch nicht den richtigen Init-String gefunden oder der Controller kommt mit dem Timing des DS2408 nicht klar :confused: .

Evtl. noch eine Idee?

Gruß,

Doc

Hallo Doc,

lass bitte mal die ersten drei Werte (die 0x03er) weg und beginne gleich mit 0x02.

Wenn es dann immer noch nicht geht, dann lass die nächsten beiden auch noch weg.

Gruß
HJH

Hallo HJH,

hat leider auch nichts gebracht.
Vielleicht habe ich auch einen Denkfehler in der Beschaltung :confused: .
Habe nochmal die Belegung direkt aus der Verdrahtung angefügt, vielleicht kannst du da nochmal drübersehen, vielleicht fällt dir was auf?

21 > n/a
22 > n/a
23 > 5V
24 > 5V
25 > 5V
26 > 5V
27 > Masse
28 > P3 (DS2408)
29 > P2
30 > P1
31 > P0
32,33,34,35 > 5V
36 > RSTZ
37 > Masse
38 > Masse
39 > P4
40 > 5V

Alle Datenleitungen zum Display vom DS2408 über 10k Pullup (P0-4, RSTZ).

Danke und Gruß,

Doc

Hallo Doc,

die Beschaltung ist OK. Natürlich müssen die Masse- bzw. GND-Anschlüsse aller beteiligten Komponenten zusammengeführt sein. Aber das hast Du sicher schon so gemacht.

In dem Init-String war möglicherweise ein 0x00 zu viel drin.
Dadurch sind die darauf folgenden Nibbles nicht an die richtige Stelle gelangt.

Hier die korrigierte Version:
„0x03,0x03,0x03,0x02,0x02,0x09,0x01,0x0c,0x05,0x02,0x06,0x09,0x07,0x04,0x00,0x0f,0x00,0x01,0x00,0x06“

Nach dem ersten 0x02 befindet sich das Modul im 4-bit Modus. Alle nachfolgenden Bytes sind folglich in „Nibble-Paare“ aufgeteilt.

Probier es bitte noch einmal.

Gruß
HJH

Hallo HJH,

suuuppperrrr, es funktioniert. Danke für die Hilfe.

Jetzt muss ich erstmal aufschlüsseln, was du mir da geschickt hast, um evtl. den Contrast usw. einzustellen, oder weisst du noch auswendig, welches Byte das war.
Das Display zeigt einen sehr guten S/W Kontrast, mal sehen, wie weit man die Glasscheibe davor mattieren kann, um es noch gut bei Tageslicht lesen zu können.
Hast du evtl. eine Bezugsadresse, welche das 3zeilige Display DOG-M 163 liefern kann. Bei Reichelt habe ich es nicht gefunden, andere Lieferanten wollen gleich fast 20€ nur für den Displayteil ohne Beleuchtung, oder kann man das bei Reichelt auch anfragen, wenn es nicht im Katalog steht?
Auf jeden Fall kann man nun schon mal den ST7036 mit in die Liste der funktionierenden Controller aufnehmen.

Gruß,
Doc

Hallo Doc,

na das war eine schwere Geburt. Aber es freut mich, dass es jetzt endlich läuft.:slight_smile:

Zu den Bezugsadressen kann ich leider nichts sagen.

Aber die Kontrasteinstellung sollte mit folgendem Script zu erledigen sein:

// der Kontrast-Wert liegt zwischen 0...63
$contrast=36;
$byte1=($contrast >> 4) + 0x50;
$byte2=($contrast & 0x0f) + 0x70;
// Kontrastwert setzen
TMEX_F29_WriteBytes($InstID, chr($byte1 >> 4).chr($byte1 & 0x0f).chr($byte2 >> 4).chr($byte2 & 0x0f));

Gruß
HJH

Hallo HJH,

funktioniert prima mit dem Kontrast.

Allerdings waren schon die Werte im Init-String optimal.
Aber so lassen sich dann kleine Spielereien wie z.B. den Text langsam einfaden usw. realisieren.

Danke nochmals,

Doc

Hi Spezies,

ich weiss ja das Sonderzeichen im 1-Wire Display tabu sind, aber gibt es evtl. eine Möglichkeit dem Display das „Grad“ Symbol zu entlocken?
Hab’ es mal mit diversen ASCI-Zeichen versucht, allerdings ohne Erfolg.

Gruß,
Doc

Hallo Doc,

der beschränkte Zeichensatz des LC-Displays kennt leider kein „Grad“-Symbol.
Aus dem Datenblatt geht das eindeutig hervor.

Ich bin auch schon darauf hereingefallen.:frowning:

Gruß
HJH

Hallo HJH,

bei meinem DOG-M (ST7036) scheint das aber im Zeichensatz enthalten zu sein :confused:

Müßte das ASCI 223 sein. Nur was muss ich senden, damit ich das darstellen kann?

Gruß,
Doc

Hallo Doc,

in diesem Falle ist es ganz einfach:

$TemperaturString = "Temperatur: " .$tmp .chr(223) .„C“;

Gruß
HJH

Hallo HJH,

so funktionierts.

Habe inzwischen auch das Sonderzeichen gefunden, ist das „ß“ dann für das Grad Symbol.

Aber kann man nicht auch eigene Zeichen im Display hinterlegen?
Vermutlich sind die dann aber ohne Versorgungsspannung wieder weg oder gibt es da ein Eeprom im Display?

Ich bin übrigens begeistert von der Kontrastschärfe vom DOG-M. Sehr hell und klar.
Jetzt muss ich nur noch einen günstigen Anbieter für das 3zeilige Display finden.

Gruß,
Doc

Hello Doc,

HJH ist zur Zeit in der Sommerfrische.
Sende mir bitte mal Dein DOG-Skript. Ich möchte einige Farbkombinationen testen.

MST

PS: „(natürlich müssen die Hex-Werte in „chr(…)“ verpackt werden“
ich bin tippfaul :rolleyes:

oder mal die bessere schreibweise &H0A nutzen. Weis jeder woruber ihr es habt :wink: (wer’s nicht gewusst hat &H (hex) 0A (10 decimal) also immer per chr(0A) senden)