Forum: Mikrocontroller und Digitale Elektronik verstehe das Koordinatensystem nicht so ganz (xx1, yy1, xx2, yy2)


von Christian B. (christian_buchner)


Lesenswert?

Hallo,

ich habe hier ein Display. In dieses kann ich Bargraphen flashen und 
anzeigen lassen. Allerdings sehen diese ziemlich "komisch" aus.

Also, die Bargraphen programmiert man so:

Nach Oben

BO XX1 YY1 XX2 YY2

Nach Unten

BU XX1 YY1 XX2 YY2

Nach Links

BL XX1 YY1 XX2 YY2

Nach Rechts

BR XX1 YY1 XX2 YY2

Ich verstehe die Koordinaten nicht so ganz.

Also wenn ich mich recht erinnere geht X von Links nach Rechts und Y von 
oben nach unten. Ok

Wie aber verhält sich das nun mit xx1 xx2 und yy1 yy2?

Entweder kriege ich einen völlig deformierten Bargraphen oder aber ich 
bekomme erst garkeinen angezeigt.

Das Compiler Programm für das Display spuckt mir leider keine Fehler 
aus. Entweder ist das Bargraph da oder eben nicht.

Kann mir zu den Koordinaten jemand etwas sagen?

Ich danke euch.

von STK500-Besitzer (Gast)


Lesenswert?

Das dürfte weniger das Problem des Compilers als das des unbenannten 
Displays sein.
Ich würde jetzt vermuten, dass du für das Display eine Library hast.
Damit schickst du Daten über eine ungenannte Schnittstelle zum Display, 
wobei dem Compiler die Display-Daten ziemlich egal sind.

von Christian B. (christian_buchner)


Lesenswert?

Es handelt sich um das eDIPTFT70-ATP von LCD-Module.

Das Display wird über I2C angesteuert und verwendet ein "Smart 
Protokoll".

Im Datenblatt steht:

Bargraph definieren ESC B
R
L
O
U
n1 xx1 yy1 xx2 yy2 aw ew typ
Bar nach L(inks),R(echts),O(ben),U(nten) als Nr. n1=1..20 definieren
xx1,yy1,xx2,yy2 umschließendes Rechteck.
aw, ew (0..254) sind die Werte für 0% und 100%.
typ: 0=Balkenmuster; 1=Balkenmuster im Rechteck;
typ: 2=Strichmuster; 3=Strichmuster im Rechteck;
typ: 4=Balkenrahmen; 5=Balkenrahmen im Rechteck;
typ: 6=Strichrahmen; 7=Strichrahmen im Rechteck;

Hier das Datenblatt. Das steht z.b. auf Seite 15:

http://www.lcd-module.de/fileadmin/pdf/grafik/ediptft70-a.pdf

von Joe F. (easylife)


Lesenswert?

Hat vermutlich weniger etwas mit dem Koordinantensystem zu tun (gibt ja 
im Prinzip auch nur 4 Möglichkeiten), sondern mit deiner Ansteuerung.

"BO XX1 YY1 XX2 YY2" ist vermutlich falsch.
Da fehlen Parameter, wie z.B. n1, aw, ew und typ.

Welchen Modus verwendest du? ASCII, binär?
Wenn ASCII, ESC = '#' beachtet? (S.12)
Komma zwischen den Parametern gesetzt? (S.12)
Komma auch nach letztem Parameter? (S.12)

von Wolfgang (Gast)


Lesenswert?

Christian B. schrieb:
> Also, die Bargraphen programmiert man so:
>
> Nach Oben
>
> BO XX1 YY1 XX2 YY2
> ...
> Ich verstehe die Koordinaten nicht so ganz.

Woher hast du diese Information? Da sollte auch die Bedeutung der 
Parameter beschrieben sein. Eine Möglichkeit wäre, dass mit den 
Koordinaten ein rechteckiger Bereich definiert wird, in dem das 
Balkendiagramm angezeigt wird. Bx könnte die Richtung der Balken sein - 
nur mal so geraten.

von Christian B. (christian_buchner)


Lesenswert?

Also ich steuere das Display schon richtig an.

Also z.b. eine Zeichenkette:

#ZL100,100,"Hier steht die Zeichenkette\r"

# - das Escape zeichen
Z - zeichenkette
L - linksbündig
100 - X Koordination
100 - Y Koordination
Die Zeichenkette
\r - abschluß

Das klappt auch so prima. Hier habe ich halt das "normale" 
koordinatensystem aber bei Bargraphen z.b. habe ich zweimal X und 
zweimal Y

Deswegen verstehe ich das nicht so ganz. Die angaben danach sind mir 
schon klar. Mir geht es aber hier um die koordinaten.

von Max M. (jens2001)


Lesenswert?

Christian B. schrieb:
> XX1 YY1 XX2 YY2

Ich verstehe nicht was dir daran unklar ist.
So wie ich das verstehe wird durch die Koordinaten ein Rechteck 
definiert in dem der Bargraph angezeigt wird.

von johnny (Gast)


Lesenswert?

naja, vermutlich hängt das aber eher an dir...

rechteck:

__________  y2
|           |
|           |
|           | y1
___________
x1          x2

dieser fall wäre dann BR BO/BU müsstest du mal testen.

von Joe F. (easylife)


Lesenswert?

Datenblatt:
- Die Parameter werden im Klartext (mehrere ASCII Ziffern) mit einem 
nachfolgenden Trennzeichen
(z.B. das Komma ',') gesendet, auch *hinter* dem *letzten* 
Parameter z.B.: #GD0,0,799,479,
- Zeichenketten (Texte) werden direkt ohne *Anführungsstrichen* 
geschrieben und mit CR (hex: $0D),
oder LF (hex: $0A) abgeschlossen.

Müsste also für einen Text eher so aussehen:

#ZL100,100,Hier steht die Zeichenkette\r,

Was schickst du denn für deinen Bargraph?
Wäre sinnvoller, diesen Befehl zu sehen, anstatt einen für eine 
Zeichenkette.

: Bearbeitet durch User
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.