Instructions
42
16. Tag
Heute im Adventskalender
•1 Widerstand 220 Ohm
Digitaluhr
Im Experiment des 16. Tags bauen wir eine funktionsfähige Digitaluhr,
die die aktuelle Zeit auf der Sieben-Segment-Anzeige anzeigt. Die Digital-
uhr kann automatisch auf dem RaspberryPi laufen, ohne dass Monitor
und Tastatur angeschlossen sind.
Der RaspberryPi verfügt im Gegensatz zu einem PC über keine einge-
baute batteriegepufferte Uhr, sondern holt seine Zeit immer von einem
Zeitserver im Internet, der die aktuelle Zeit für jede Zeitzone der Welt
jederzeit in höchster Präzision liefert.
Bauteile: 1 Steckbrett SYB-46, 1 Sieben-Segment-Amzeige, 8 220-Ohm-
Widerstände (rot-rot-braun), 12 GPIO-Verbindungskabel
Anschlussschema der Sieben-Segment-Anzeige
Die folgende Tabelle zeigt, welche Pins der Sieben-Segment-Anzeige mit
welchen GPIO-Pins verbunden sind. Diesmal werden alle Segmente,
auch der Dezimalpunkt, verwendet.
Pin Sieben-Segment-
Anzeige
Steckbrett Segment / Ziffer GPIO-Pin
1 5 F-J E 19
2 6 F-J D 26
3 7 F-J DP 5
4 8 F-J C 11
5 9 F-J G 13
6 10 F-J 4 6
7 10 A-E B 8
8 9 A-E 3 7
9 8 A-E 2 12
10 7 A-E F 20
11 6 A-E A 21
12 5 A-E 1 16
Das Programm
Das Programm 16uhr.py basiert auf den Python-Programmen der letzten
Tage mit ein paar Ergänzungen.
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
seg={'a':21, 'b':8, 'c':11, 'd':26, 'e':19, 'f':20, 'g':13}
for s in "abcdefg":
GPIO.setup(seg[s], GPIO.OUT, initial=0)
zif=[16, 12, 7, 6]
for z in zif:
GPIO.setup(z, GPIO.OUT, initial=1)
dp = 5
GPIO.setup(dp, GPIO.OUT, initial=0)
zahl=[
"abcdef", #0
"bc", #1
"abdeg", #2
"abcdg", #3
Alle sieben Segmente und der Dezimalpunkt der Sieben-Segment-Anzeige sind
angeschlossen. Die Ziffern sind einzeln mit GPIO-Pins verbunden.
16. Tag










