Forum: Mikrocontroller und Digitale Elektronik Zeichenkette per I2C an LCD-Display senden


von Jojo (Gast)


Lesenswert?

Hallo,

ich versuche derzeit ein EA eDIP240J-7LW Display mit Eval Board über I2C 
anzusteuern. Leider finde ich dafür keine Bibliothek, daher habe ich es 
auf die herkömmliche Art und Weise versucht und wollte das Display über 
I2C ansteuern.

Mein Code ist derzeit wwie folgt:
1
#include <Wire.h>
2
3
void setup() {
4
  // put your setup code here, to run once:
5
  Wire.begin ();
6
7
}
8
9
void loop() {
10
  // put your main code here, to run repeatedly:
11
  int bcc;
12
  delay (200);
13
int x1 = 4;
14
int y1 = 7;
15
int x2 = 29;
16
int y2 = 70;
17
18
19
 bcc = 0x68 + 0x07 + 0x1b + 'G' + 'D' + x1 +y1 + x2 +y2 ;
20
  
21
  
22
  Wire.beginTransmission (0x68);
23
  Wire.write(0x68); //DC1
24
  Wire.write(0x07); //Len
25
  Wire.write(0x1b); //ESC
26
  Wire.write('G');
27
  Wire.write('D');
28
  Wire.write(x1);
29
  Wire.write(y1);
30
  Wire.write(x2);
31
  Wire.write(y2);
32
  Wire.write(bcc);  //Prüfsumme
33
  Wire.endTransmission();
34
35
    }
Allerdings sehe ich auf dem Display keine Veränderung, sprich es 
funktioniert nicht und im Netz finde ich leider auch nichtswas mir 
weiterhelfen würde.

Danke schonmal im vorraus für hilfreiche antworten

Mit freundlichen Grüßen

Jojo

(Nutze einen ATmega328 und programmiere dann natürlich über die Arduino 
IDE)

von Schlaumeier (Gast)


Lesenswert?

Bitte das Datenblatt lesen. Das Display muss zunächst initialisiert 
werden.

von Jojo (Gast)


Lesenswert?

Achso, stimmt, die Initialisierung erfolgt über ein simples Programm, 
welches ich vorher per USB draufgespielt habe:
1
Macro: MnAutoStart
2
;--- Place ELECTRONIC ASSEMBLY logo ---
3
  #TA      ; Terminal off
4
  #ZF CHICAGO14
5
  
6
  #GR 9,9,106,54
7
  #GR 118,9,226,54
8
  #GR 9,66,106,111
9
  #GR 118,66,226,111
10
11
12
  #ZL 33,25,1, "Spiel 1"   ;Hauptmenü
13
  ;#X 10
14
  #ZL 148,25,1, "Spiel 2"
15
16
  #ZL 33,80,1, "Spiel 3"
17
18
  #ZL 148,80,1, "Spiel 4"
19
20
21
22
Macro: 40
23
24
  #ZL 33,25,1, "Spielen"   ;Spiel 1  
25
  #ZL 148,25,1, "Regeln"
26
  #ZL 33,80,1, "Zurück"
27
  #RL 148,80,200,100,

von Michael U. (amiga)


Lesenswert?

Hallo,

war DC1 nicht 0x11 zumindest früher mal?

Gruß aus Berlin
Michael

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo,

laut Datenblatt Seite 7 ist die I2C Adresse wenn alles offen ist, 0xDE 
und nicht 0x68, diese Kombination habe ich nicht gesehen.

BCC ist wie auf Seite 8 beschrieben 0x11 dort findest Du auch den 
Beispielcode.

Gruß
Frank

von Jojo (Gast)


Lesenswert?

Okay, Modulo hab ich wohl übersehen, dennoch ohne erfolg.

Die Adressierung sollte soweit korrejkt sein, da ich vorher über den 
Seriellen Monitor die Adresse rausgelesen habe.

von Dieter F. (Gast)


Lesenswert?

Jojo schrieb:
> int x1

Wie viele Byte belegt der Datentyp "int" - und was bedeutet das für die 
Länge der im Block übergebenen Daten?

Jojo schrieb:
> Wire.write(0x07); //Len

Als Hinweis :)

https://www.arduino-tutorial.de/variablen/

von Michael U. (amiga)


Lesenswert?

Hallo,

wenn man ein unsigned byte oder unsignned char oder ein unit8_t draus 
macht würde auch alles passen.
Ob er DC1 nun korrigiert hat?

Gruß aus Berlin
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.