Hallo,
versuche an einem LCD-Display in der 2. Zeile ein Balkendiagramm laufen
zu lassen.
Grund ist ich möchte eine Sinuskurve messen und am Display soll dann
sowas herauskommen links oben der Wert im Klartext
______________________________________
|________________________________________|
|________________________________________|
-1 0 +1
Ich würde jetzt gerne die schwarzen Blöcke auftauchen lassen, weiß zwar
das es der Wert 255 oder 0xFF bei dem Display ist, weiß aber nicht wie
ich es bei dem Display anzeigen lasse.
Benutze die Micro-SPS und habe dort das normale 2x16 Zeilen Display.
danke
docsneider
Kannst du normalen Text ausgeben? Was ist wenn du anstelle der Blöcke deinen Balken erst mal mit * malst, kriegst du es dann hin? (Sooo schwer ist das doch gar nicht. Ausgehend vom auszugebenden Wert, der im Bereich -1.0 bis +1.0 liegt, errechnet man sich, wieviele * man benötigt und wo, relativ gesehen zum linken Rand man mit der Ausgabe anfangen muss. Dann positioniert man am LCD den Cursor in diese Spalte und gibt die entsprechende Anzahl an Zeichen aus. Etwas Überlegung muss man noch in das Problem stecken, dass einmal auf das LCD ausgegebene * ja auch wieder verschwinden müssen, aber auch das ist eigentlich nicht so schwer wenn man das Problem einmal erkannt hat. Auf jeden Fall bewegt sich alles in einem Mathe-Bereich, der nicht mehr als den allgegenwärtigen Drei-Satz erfordert. Du weißt schon: 3 Äpfel kosten 2 Euro, wieviel kosten 7 Äpfel)
mein Vorschlag dazu:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
(die lcd-Funktionen entsprechend durch deine eigenen ersetzen...)
Dann noch eine Idee dazu: Man könnte sich einen Zeichensatz definieren, in dem ein Zeichen die linke Pixelspalte gesetzt hat, das zweite Zeichen die linken beiden etc.; dadurch könnte man den Balken feiner auflösen.
das ist ja ne ausführliche Antwort, Danke.
Nun das Prinzip verstehe ich schon, nur ich benutze die lib_sps Libary
und habe dort habe ich " printf("%6d", irgendeine Zahl) " befehle. Da
hatte ich jetzt versucht 0xFF oder 255 einzugeben um ein Klotz
erscheinen zu lassen.
Sorry wenn ich mich zu ungenau ausgedrückt habe !!
Hab noch kaum Erfahrung mit MC, will es aber ändern. ;-)
Gast
#1385768
Dessen http://www.gb97816.homepage.t-online.de/ Projekt KT88 macht so was, Sourcecode konnte ich aber auf die Schnelle nicht finden, Hab ich aber auch schon woanders gesehen. Man bracht halt 5 von den 8 frei definierbaren Bitmuster-zeichen.
Klaus Wachtler schrieb: > Dann noch eine Idee dazu: > Man könnte sich einen Zeichensatz definieren, in dem ein Zeichen die > linke Pixelspalte gesetzt hat, das zweite Zeichen die linken beiden > etc.; > dadurch könnte man den Balken feiner auflösen. Das finde ich eine gute Idee !!
MaWin schrieb: > Dessen > http://www.gb97816.homepage.t-online.de/ > Projekt KT88 macht so was, > Sourcecode konnte ich aber auf die Schnelle nicht finden, > > Hab ich aber auch schon woanders gesehen. > Man bracht halt 5 von den 8 frei definierbaren Bitmuster-zeichen. du brauchst 8. da er die balken in beide richtung will (wenn ich sein diagram richtig interpretiert hab Edit: Ich hab mal ein video gesehen, da haben welche ein text-display ion ihren PC eingebaut und da irre Effekte drauf gezeigt.
Gast
#1385901
Man kann auf einem 2×16-Display mit einem geeigneten Zeichensatz auch vier Bargraphs übereinander mit jeweils bis zu 33 Abstufungen zeichnen (s. Bild). Da die horizontalen Zwischenräume zwischen den Zeichen bei den meisten Displays gerade 1 Pixel breit sind, haben die einzelnen Kästchen alle den gleichen Abstand zueinander, was ein homogenes Erscheinungsbild ergibt. Das sieht besonders gut aus, wenn man die einzelnen Balken schnell zappeln lässt, wie es bspw. bei einer Aussteuerungsanzeige der Fall ist. Der verwendete Zeichensatz belegt alle der acht frei definierbaren Zeichen des Display-Controllers. Im Bild ist zur Verdeutlichung eines dieser Spezialzeichen rot eingerahmt. Man kann natürlich wahlweise statt der vier Bargraphs nur zwei anzeigen und hat dann noch eine Zeile für Textinformationen frei. Leider können die Balken nur in eine Richtung (im Bild nach rechts) wachsen, da man sonst mit den acht Zeichen nicht auskommt. Wenn aber 17 horizontale Abstufungen ausreichen, kann man mit sieben Spezialzeichen sogar sechs Bargraphs (jeweils 2 Pixel hoch) übereinander darstellen und jeweils in beide Richtungen wachsen lassen.
Wenn die 8 frei definierbaren Zeichen nicht reichen, kann man auch das aktuell benötigte neu definieren; man braucht ja nie alle gleichzeitig :-)
Daniel Schneider schrieb: > das ist ja ne ausführliche Antwort, Danke. > > Nun das Prinzip verstehe ich schon, nur ich benutze die lib_sps Libary > und habe dort habe ich " printf("%6d", irgendeine Zahl) " befehle. Da > hatte ich jetzt versucht 0xFF oder 255 einzugeben um ein Klotz > erscheinen zu lassen. dann mal printf( "%c", 0xff ) und putchar( 0xff ) probieren > ...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
