Hallo, ich schreibe gerade ein Programm (Java), das 7 Segment Anzeigen ansteuern soll. Zusätzlich zu den Ziffern will ich auch mal die Buchstaben vorhalten. Ich suche eine Lookup Table für Buchstaben und Zeichen, am besten für alle 128 ASCII Zeichen. Müsste es ja in einigen Programmen schon geben, habe aber keinen Sourcecode gefunden. Kennt jemand so was ? Achim
Alle Zeichen wirst Du nicht anzeigen können, da bei 7-Segmenten die "Schrägstriche" fehlen. Beispiel: "N" oder "Z" MfG Paul
AchimW schrieb: > alle 128 ASCII Zeichen Dann stell dir mal vor, was der Unterschied zwischen B und 8, zwischen 5, S und s und zwischen A und R usw. ist, wie du die verschiedenen Klammern darstellen und von I und l unterscheiden willst und schlussendlich wie Y,y,X,x,Q,q,p,<,>,%,",i,j,W,w,!, ,, ;, ., +, *, # usw. aussehen sollen.
Ich suche so eine Tabelle. Am besten ein OpenSource Projekt, wo so eine verwendet wird. Ich habe zwar ein Java-Projekt. Aber C würde wohl genauso gehen.
AchimW schrieb: > Ich suche so eine Tabelle. Am besten ein OpenSource Projekt, wo so Du musst zuerst einmal erklären, warum du das überhaupt brauchst. Viel besser ist, du kaufst dir ein LCD oder OLED weil die kosten ja nicht die Welt. Ausserdem warum programmierst du das in java, wie sollen wir dir helfen wenn wir nicht wissen ob die Sprache für das Projekt geeignet ist. Und ausserdem ist APL ohnehin viel besser. Bist du sicher, dass du nicht statt ASCII viel besser EBCDIC nimmst aber das kann man ja nicht wissen wenn du nicht dazusagst, welche Schuhnummer der Projektleiter hat und ob du die Zuleitungen zu den LEDs so isolierst, das niemand gefährdet wird weil Strom das ist nur etwas für die wirklichen Elektrikermeister und der Laie kann so viel flasch machen. Man könnte auch deine Frage einfach beantworten, aber das wäre dann nicht mikrocontroller.net, sondern nett: http://examples.digi.com/lights-motors-more/7-segment-number-display/ http://www.josepino.com/microcontroller/7-segment-ascii Es gab auch einmal in Zeiten von etwa TI59 einen Rechner, der Text auf diese Weise darstellen konnte. Ich kann mich aber nicht erinnern, von welcher Firma der war, ob der auch das "Sarg-Format" der TI* hatte oder eher microcomputerartig war. Habe den auch in der Suchmaschine nicht wiedergefunden.
Hallo, ja. die 2 Links kenne ich. Ich suche aber die Tabelle dazu. Also eine Tabelle mit 128 Einträge von 7 Bit breiten Werten. Achim
Hier eine Tabelle ist zwar keine Java oder C sondern Excel, macht aber dein Problem deutlich. Ach ja ist natürlich Open Source und darf erweitert und weiter gegeben werden.
so .. hab's inzwischen von Hand gemacht:
1 | private final static byte[] table ={ |
2 | 0b0111111, // 0 |
3 | 0b0000110, // 1 |
4 | 0b1011011, // 2 |
5 | 0b1001111, // 3 |
6 | 0b1100110, // 4 |
7 | 0b1101101, // 5 |
8 | 0b1111101, // 6 |
9 | 0b0000111, // 7 |
10 | 0b1111111, // 8 |
11 | 0b1101111, // 9 |
12 | 0b0000000, // 10 |
13 | 0b0000000, // 11 |
14 | 0b0000000, // 12 |
15 | 0b0000000, // 13 |
16 | 0b0000000, // 14 |
17 | 0b0000000, // 15 |
18 | 0b0000000, // 16 |
19 | 0b0000000, // 17 |
20 | 0b0000000, // 18 |
21 | 0b0000000, // 19 |
22 | 0b0000000, // 20 |
23 | 0b0000000, // 21 |
24 | 0b0000000, // 22 |
25 | 0b0000000, // 23 |
26 | 0b0000000, // 24 |
27 | 0b0000000, // 25 |
28 | 0b0000000, // 26 |
29 | 0b0000000, // 27 |
30 | 0b0000000, // 28 |
31 | 0b0000000, // 29 |
32 | 0b0000000, // 30 |
33 | 0b0000000, // 31 |
34 | 0b0000000, // Space |
35 | 0b0000110, // ! |
36 | 0b0100010, // " |
37 | 0b1100011, // # |
38 | 0b1101101, // $ |
39 | 0b0101101, // % |
40 | 0b1110000, // & |
41 | 0b0000010, // ' |
42 | 0b0111001, // ( |
43 | 0b0001111, // ) |
44 | 0b1011100, // * |
45 | 0b1110000, // + |
46 | 0b0001100, // , |
47 | 0b1000000, // - |
48 | 0b0000100, // . |
49 | 0b1010010, // / |
50 | 0b0111111, // 0 |
51 | 0b0000110, // 1 |
52 | 0b1011011, // 2 |
53 | 0b1001111, // 3 |
54 | 0b1100110, // 4 |
55 | 0b1101101, // 5 |
56 | 0b1111101, // 6 |
57 | 0b0000111, // 7 |
58 | 0b1111111, // 8 |
59 | 0b1101111, // 9 |
60 | 0b0001001, // : |
61 | 0b0001101, // ; |
62 | 0b0011000, // < |
63 | 0b1001000, // = |
64 | 0b0000011, // > |
65 | 0b1010011, // ? |
66 | 0b0000000, // @ |
67 | 0b1110111, // A |
68 | 0b1111100, // B |
69 | 0b0111001, // C |
70 | 0b1011110, // D |
71 | 0b1111001, // E |
72 | 0b1110001, // F |
73 | 0b0111101, // G |
74 | 0b1110110, // H |
75 | 0b0110000, // I |
76 | 0b0011110, // J |
77 | 0b1110101, // K |
78 | 0b0111000, // L |
79 | 0b0110111, // M |
80 | 0b1010100, // N |
81 | 0b0111111, // O |
82 | 0b1110011, // P |
83 | 0b1100111, // Q |
84 | 0b1010000, // R |
85 | 0b1101101, // S |
86 | 0b1111000, // T |
87 | 0b0111110, // U |
88 | 0b0011000, // V |
89 | 0b1111110, // W |
90 | 0b1110110, // X |
91 | 0b1101110, // Y |
92 | 0b1011011, // Z |
93 | 0b0111001, // [ |
94 | 0b1100100, // Backslash |
95 | 0b0001111, // ] |
96 | 0b0100001, // ^ |
97 | 0b0001000, // _ |
98 | 0b0000010, // ` |
99 | 0b1011111, // a |
100 | 0b1111100, // b |
101 | 0b1011000, // c |
102 | 0b1011110, // d |
103 | 0b1111011, // e |
104 | 0b1110001, // f |
105 | 0b1101111, // g |
106 | 0b1110100, // h |
107 | 0b0010000, // i |
108 | 0b0001100, // j |
109 | 0b1110101, // k |
110 | 0b0110000, // l |
111 | 0b0110111, // m |
112 | 0b1010100, // n |
113 | 0b1011100, // o |
114 | 0b1110011, // p |
115 | 0b1100111, // q |
116 | 0b1010000, // r |
117 | 0b1101101, // s |
118 | 0b1111000, // t |
119 | 0b0111110, // u |
120 | 0b0011000, // v |
121 | 0b1111110, // w |
122 | 0b1110110, // x |
123 | 0b1101110, // y |
124 | 0b1011011, // z |
125 | 0b0111001, // { |
126 | 0b0000110, // | |
127 | 0b0001111, // } |
128 | 0b1000000, // ~ |
129 | 0b0000000, // DEL |
130 | };
|
AchimW schrieb: > so .. hab's inzwischen von Hand gemacht Hab ich auch mal, vor langer Zeit, dazu einen Font für die Dokumentation, siehe Anlage. Georg
Du kannst auch für jedes Zeichen den ASCII-Code als zeitlich nacheinander aufleuchtende 2 Hex- oder 3 Dezimalziffern darstellen. Das ist ist im Gegensatz zu deiner Lösung wenigstens eindeutig und eher leichter zu lesen ;-) Zudem kann das Prinzip auf sämtliche Unicode-Zeichen erweitert werden.
Yalu X. schrieb: > Das ist ist im Gegensatz zu deiner Lösung wenigstens eindeutig und eher > leichter zu lesen ;-) Das ist ein Missverständnis: es geht nicht darum, EBooks auf 7 Segment zu lesen. Aber man kann durchaus die Bedienbarkeit von Geräten mit 7 Segment-Anzeigen sehr verbessern. Dazu eine Seite aus einem Bedienungshandbuch meiner Analysenautomaten. Ich bin der Meinung, mit der gezeigten Textanzeige ist das sehr viel angenehmer zu bedienen als mit den Zahlen 1..16 (und dem Handbuch daneben). Oder bist du da anderer Meinung? Vielleicht bist du ja als Linux-Fan ein Anhänger gewollter Kryptik. Georg
Ich halte das trotzdem für nicht mehr zeitgemäß und vollkommen unnötig kryptisch. Wenn es schon unbedingt LED sein müssen, dann würde ich wenigstens 7x5-Matrixanzeigen nehmen, ist WESENTLICH besser lesbar ... http://www.mikrocontroller.net/attachment/35584/chartable.png
Georg schrieb: > Das ist ein Missverständnis: Der Vorschlag von oben war ja auch nicht ganz ernst gemeint :) Georg schrieb: > Dazu eine Seite aus einem Bedienungshandbuch meiner Analysenautomaten. Manche der Meldungen darin sind ganz gut zu lesen, bei anderen musste ich schon eine Weile überlegen. Die Lesbarkeit könnte IMHO noch etwas gesteigert werden, wenn man die Symbole für N und M vertauschen würde (s. Anhang). Denn das kleinere von beiden sieht für mich ganz klar wie ein kleines n und überhaupt nicht wie ein m aus, während das größere wenigstens ein Bisschen mehr einem M als einem N gleicht.
Frank Esselbach schrieb: > Wenn es schon unbedingt LED sein müssen, dann würde ich > wenigstens 7x5-Matrixanzeigen nehmen Viel zu aufwendig wegen der Ansteuerung, ich würde heute eine 2 zeilige LCD-Anzeige nehmen (ist auch schon realisiert). Das beschriebene Konzept ist 25 Jahre alt, die Anwender waren aber viele Jahre lang durchaus zufrieden damit (vielleicht weil das Akademiker mit Niveau waren...). Ich glaube nicht, dass jedes Laborgerät unbedingt einen farbigen Touchscreen mit Wischgesten braucht, aber da bin ich wohl hoffnunglos altmodisch. Bei meinen Analysegeräten gibt es weder Bildschirmschoner mit bunten Fischen noch Ballerspiele. Georg
Hallo, noch eine grundsätzliche Ergänzung: das menschliche Gehirn ist sehr gut in der kontextabhängigen Interpretation. In einem Menü zur Auswahl von Testroutinen für ein Prozessorsystem gelingt es den meisten Menschen mühelos, das gezeigte als RAMTest zu lesen - und nicht als Test einer Sportsendung im Privatfernsehen. Deshalb funktioniert das Ganze überhaupt, obwohl 7 Segmente natürlich nicht ausreichen, auch nur alle ASCII-Zeiechen eindeutig darzustellen. Aber über Doppeldeutigkeiten liest man einfach hinweg, wennn der Bezug klar ist. Georg
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.