共陽
共陰

七段顯示器每顆長條形 LED 名稱如下:
  


加上限流電阻的方式
      

下面限流電阻的方式會使得 LED 亮的數量影響亮度。(少電阻較亮)
     
樹莓派控制 共陰七段顯示器實體圖與電路圖





寫一程式,亮出 3 這個阿拉伯數字。
共陽
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
for x in range(len(pin)):
     GPIO.setup(pin[x], GPIO.OUT)
GPIO.output( 8,False) #a
GPIO.output(10,False) #b
GPIO.output(12,False) #c
GPIO.output(16,False) #d
GPIO.output(18,True) #e
GPIO.output(22,True) #f
GPIO.output(24,False) #g
共陰
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
for x in range(len(pin)):
     GPIO.setup(pin[x], GPIO.OUT)
GPIO.output(8,True) #a
GPIO.output(10,True) #b
GPIO.output(12,True) #c
GPIO.output(16,True) #d
GPIO.output(18,False) #e
GPIO.output(22,False) #f
GPIO.output(24,True) #g

寫一程式,分別亮出 a,b,c,d,e,f,g 7 顆 led 循環,每顆 led 間隔 0.5 秒。
共陽
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
pin = [8,10,12,16,18,22,24]
for x in range(len(pin)):
     GPIO.setup(pin[x], GPIO.OUT)
while(True):
     for x in range(7):
           GPIO.output(pin[x],False)
           time.sleep(0.5)
           GPIO.output(pin[x],True)
GPIO.cleanup
共陰
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
pin = [8,10,12,16,18,22,24]
for x in range(len(pin)):
     GPIO.setup(pin[x], GPIO.OUT)
while(True):
     for x in range(7):
           GPIO.output(pin[x],True)
           time.sleep(0.5)
           GPIO.output(pin[x],False)
GPIO.cleanup

寫一程式,分別亮出阿拉伯數字 0 1 2 3 4 5 6 7 8 9 循環,每個數字間隔 1 秒。

共陽
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
pin = [8,10,12,16,18,22,24]
Led7 = [
              [1,1,1,1,1,1,0],#0
              [0,1,1,0,0,0,0],#1
              [1,1,0,1,1,0,1],#2
              [1,1,1,1,0,0,1],#3
              [0,1,1,0,0,1,1],#4
              [1,0,1,1,0,1,1],#5
              [0,0,1,1,1,1,1],#6
              [1,1,1,0,0,0,0],#7
              [1,1,1,1,1,1,1],#8
              [1,1,1,0,0,1,1] #9
             ]
for x in range(len(pin)):
     GPIO.setup(pin[x], GPIO.OUT)
while(True):
     for x in range(10):#0~9
           for y in range(7):#a~g
                 GPIO.output(pin[y],Led7[x][y])
           time.sleep(1)
共陰
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
pin = [8,10,12,16,18,22,24]
Led7 = [
              [0,0,0,0,0,0,1],#0
              [1,0,0,1,1,1,1],#1
              [0,0,1,0,0,1,0],#2
              [0,0,0,0,1,1,0],#3
              [1,0,0,1,1,0,0],#4
              [0,1,0,0,1,0,0],#5
              [1,1,0,0,0,0,0],#6
              [0,0,0,1,1,1,1],#7
              [0,0,0,0,0,0,0],#8
              [0,0,0,1,1,0,0] #9
             ]
for x in range(len(pin)):
     GPIO.setup(pin[x], GPIO.OUT)
while(True):
     for x in range(10):#0~9
           for y in range(7):#a~g
                 GPIO.output(pin[y],Led7[x][y])
           time.sleep(1)