基本說明:
5101BS由8個LED所組成的8字顯示器與一個小數點,透過10跟針腳來控制顯示。由於網路上搜尋不到5101BS的技術文件,這邊我參照ref.1中1.3 Common Anode 0.56 Inch的腳位說明來作相關的接線,透過74HC595控制。
接線:
74HC595晶片
QB | pin 6 | VCC | 3.3V | |
QC | pin 4 | QA | pin 7 | |
QD | pin 2 | SER | GPIO#16 | |
QE | pin 1 | OE | GND | |
QF | pin 9 | RCLK | GPIO#20 | |
QG | pin 10 | SRCLK | GPIO#21 | |
QH | pin 5 | SRCLR | 3.3V | |
GND | GND | QH' |
5101BS顯示器
pin 1 | QE | pin 10 | QG | |
pin 2 | QD | pin 9 | QF | |
pin 3 | pin 8 | 3.3V | ||
pin 4 | QC | pin 7 | QA | |
pin 5 | QH | pin 6 | QB |
注意5101BS各節點LED二極體是有方向性的,所以pin 3與pin 8擇一接電源就好
當pin為低電壓時,所對應的LED二極體就會發光
Python程式:
import RPi.GPIO as GPIO
import time
SRCLK = 21
RCLK = 20
SER = 16
def init():
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
GPIO.setup(SRCLK, GPIO.OUT)
GPIO.setup(RCLK, GPIO.OUT)
GPIO.setup(SER, GPIO.OUT)
GPIO.output(SER, GPIO.LOW)
GPIO.output(SRCLK, GPIO.LOW)
GPIO.output(RCLK, GPIO.LOW)
def display(frag):
for v in frag:
if v:
GPIO.output(SER, GPIO.HIGH)
else:
GPIO.output(SER, GPIO.LOW)
GPIO.output(SRCLK, GPIO.HIGH)
GPIO.output(SRCLK, GPIO.LOW)
GPIO.output(RCLK, GPIO.HIGH)
GPIO.output(RCLK, GPIO.LOW)
init()
# H G F E D C B A
display([1, 0, 1, 0, 0, 1, 0, 0]) # display 2
數字2顯示節點為ABDEG,所以對應的點設定為低電壓形成通路。
沒有留言:
張貼留言