Die Anleitungen in diesem Block beziehen sich auf die Ansteuerung des Grove 4-Digit Display v1.0 von SEEED, das für wenige Euro im Versandhandel zu finden ist.
Die Anzeige muss mit dem Anschluss A1 (rechts) verbunden werden! Danach muss die Anzeige in der Roboterkonfiguration aktiviert werden.
So soll es nicht sein!
Damit die Zahlen korrekt rechtsbündig dargestellt werden, muss die Variable position in je nach Stellenanzahl der Zahl verändert werden.
Stellenanzahl | Position |
---|---|
1 (z.B. 7) | 3 |
2 (z.B. 34) | 2 |
3 (z.B 745) | 1 |
4 z.B. 4529) | 0 |
Im Programmbeispiel wird jetzt recht zügig von 0 bis 1999 gezählt.
Wenn auch noch negative Zahlen angezeigt werden sollen, muss vor dem Festlegen der position in einer weiteren Entscheidung eine Variable vorzeichen gesetzt werden: Ist die Zahl kleiner als 0, dann wahr, ansonsten falsch. Damit wird bei negativen Zahlen der Doppelpunkt angezeigt.
Damit die Entscheidung für die position auch bei negativen Zahlen funktioniert, muss von der Variablen zahl der Absolutwert gebildet werden.
Im Programm wird von -2000 (20:00) bis +1999 (1999) hochgezählt.
Die Funktion mit den Entscheidungen zur Bestimmung der Position ist nicht besonders elegant. Für eine vierstellige Anzeige mag es gehen, aber wenn mehr Stellen angezeigt werden sollen, wird die Liste der Entscheidungen immer länger.
Besser wäre es, wenn die Stellenzahl der anzuzeigenden Zahl mathematisch bestimmt wird.
Das geht über den dekadischen Logarithmus. Von der Zahl, die angezeigt werden soll, wird der Logarithmus zur Basis 10 gebildet. Das Ergebnis ist der Wert, der als Exponent von 10 wieder die Zahl ergibt.
Wenn man die Logarithmen abrundet und diesen Wert von 3 abzieht, erhält man die für die Zahl benötigte Position. Natürlich muss man die 0 beachten!!
Zahl | log10 | abgerundet | 3-abger. Wert |
---|---|---|---|
7 | 0,845 | 0 | 3 |
34 | 1,53 | 1 | 2 |
745 | 2,87 | 2 | 1 |
4529 | 3,66 | 3 | 0 |