Calliope mini - Spaß durch Programmieren

Entwicklungsumgebungen

Anzeigefunktion für das 4-Digit Display

Ziel: Es wird eine Funktion entwickelt, der eine ganze Zahl übergeben wird und die diese Zahl immer rechtsbündig auf dem Display darstellt. Ist die übergebene Zahl negativ, leuchtet der Doppelpunkt auf.

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.

Calliope mini-4-Digit

Calliope mini-4-Digit

Rechtsbündige Anzeige durch Entscheidungen

In einer Zählschleife werden die Zahlen von 0 bis 20 hochgezählt und zur Anzeige gebracht. In der Anzeigefunktion wird zuerst die Anzeige gelöscht und dann die Zahl ab der Position 0 angezeigt.
Damit erscheinen die einstelligen Zahlen am linken Rand. Beim Wechsel von der 9 zur 10 wandert die Anzeige um eine Stelle nach rechts.
Das soll aber so nicht sein.
Setzt man für die Position die Stelle 3 ein, beginnt das Zählen zwar am rechten Rand, ab der 10 werden aber die Einerstellen nicht mehr angezeigt. Auch nicht gut.
Calliope mini-4-digit

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.

Calliope mini-4-digit

Positive und negative Zahlen werden angezeigt

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.

Position automatisch bestimmen

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!!

Calliope mini-4-digit
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

zurück