TigerJython4Kids
HomeTurtlegrafikRobotikDatenbanken
siebensegment

23. SIEBENSEGMENTANZEIGE

 

 

DU LERNST HIER...

 

wie du eine 4-stellige Siebensegmentanzeige mit der Oxocard verwendest.

 

 

ANSCHLUSS

 

Die Anzeigeeinheit verwendet den Treiberbaustein TM1637 und eine 4-stellige Siebensegmentanzeige mit einem Doppelpunkt in der Mitte. Zur Ansteuerung sind neben der Stromversorgung mit 3.3V und GND lediglich 2 Leitungen mit den Bezeichnungen Clock (CLK) und Data (DIO) nötig. Der Anschluss an die Oxocard erfolgt über den GPIO-Stecker mit folgender Verdrahtung:

 

Beim Seed ist ein Modul mit einem Grove-Stecker erhältlich. Zum Anschliessen schneidet man ein Grove-Kabel entzwei und lötet eine 6-polige Steckerleiste an.

 

 

MUSTERBEISPIELE

 

Der Treiber oxo7seg mit der Klasse FourDigit hat folgende Methoden:

 erase()  löscht den Display
 show(text, pos = 0)  zeigt den Text beginnend an pos an. text kann auch ein Integer sein
 scroll(text)  zeigt den Text in Laufschrift an
 toRight()  verschiebt den Text um 1 Stelle nach rechts
 toLeft()  verschiebt den Text um 1 Stelle nach links
 toStart()  verschiebt den Text an die Startposition
 setLuminosity(lum)  setzt die Helligkeit (0..9, default: 4)
 setColon(enable)  schaltet den Doppelpunkt ein/aus


Eine Übersicht über die darstellbaren Zeichen findest du hier

Das folgende Programm schreibt einen Lauftextt aus.

Programm:

from oxo7seg import FourDigit
        
d = FourDigit()
d.scroll("HELLo PYthon")
► In Zwischenablage kopieren

Mit dem folgenden Programm schreibst du das Hundertfache der  aktuellen Beschleunigung in x-Richtung aus. Dabei verwendest du den Formatstring %4d.

Programm:

from oxo7seg import FourDigit
from time import sleep
from oxoaccelerometer import *

acc = Accelerometer.create()
 
d = FourDigit()
while True:
    ax = acc.getX()
    d.show("%4d" % int(100 * ax))
    sleep(0.1)
► In Zwischenablage kopieren

Schliesslich machst du einen Geschwindigkeitstest der Anzeige durch möglichst rasches Heraufzählen von ganzen Zahlen:

Programm:

from oxo7seg import FourDigit
from time import sleep

d = FourDigit()

while True:
    for n in range(10000):
        d.show(n)
► In Zwischenablage kopieren

 

 

MERKE DIR...

 

Auf der Siebensegmentanzeige kannst du nicht alle ASCII-Zeichen darstellen. Die Anzeige ist aber im Vergleich zum LED-Display flexibler und im Vergleich zu einem OLED-Display deutlicher lesbar.

 

 

ZUM SELBST LÖSEN

 

 

1.

Verwende die Siebsegmentanzeige, um die Messwerte irgendeiner deiner Sensoren anzuzeigen.

2a.

Baue eine Digitaluhr "OxoWatch" mit einer Siebensegmentanzeige, die laufend die aktuelle Uhrzeit in Stunden und Minuten anzeigt. Hole beim Start des Programms die aktuelle Uhrzeit von einem RTC-Modul oder einem NTP-Zeitserver (siehe Kapitel Echtzeit-Clock). Der Doppelpunkt soll ständig aktiviert sein.

2b.

Lasse den Doppelpunkt im Sekundentakt blinken.