Kontrollera en 7 segment 4 siffrig display med en Raspberry Pi (2 / 3 steg)
Steg 2: Koden!
Nu måste vi att koda den till verk, jag använder python, för detta behöver vi time modulen ochRPI. GPIOmodul.
Koden visar tiden och uppdaterar den.
Här är koden:
importera RPi.GPIO som GPIO
Importera tid
GPIO.setmode (GPIO. STYRELSEN)
GPIO.setwarnings(False)
GPIO.setup (7, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)
segment = (24,12,19,21,23,22,15,11)
för segmentet i segment:
GPIO.setup (segment, GPIO. OUT)
GPIO.output (segment, 0)
siffror = (26,18,16,13)
för siffra i siffror:
GPIO.setup (siffra, GPIO. OUT)
GPIO.output (siffra, 1)
NUM = {' ': (0,0,0,0,0,0,0),
' 0':(1,1,1,1,1,1,0),
' 1':(0,1,1,0,0,0,0),
' 2':(1,1,0,1,1,0,1),
' 3':(1,1,1,1,0,0,1),
' 4':(0,1,1,0,0,1,1),
' 5':(1,0,1,1,0,1,1),
' 6':(1,0,1,1,1,1,1),
' 7':(1,1,1,0,0,0,0),
' 8':(1,1,1,1,1,1,1),
'9': (1,1,1,1,0,1,1)}
försök:
samtidigt sant:
n = time.ctime()[11:13]+time.ctime() [14:16]
s = str(n).rjust(4)
för siffra i range(4):
for-loop i range(0,7):
GPIO.output (segment [loop], num[s[digit]][loop])
om (int(time.ctime() [18:19]) %2 == 0) och (siffran == 1):
GPIO.output (11, 1)
annat:
GPIO.output (11, 0)
GPIO.output (siffror [siffra], 0)
Time.Sleep(0.001)
GPIO.output (siffror [siffra], 1)
Förutom KeyboardInterrupt:
GPIO.cleanup()
Det är koden :-)