2019年6月6日 星期四

Raspberry Pi筆記:5101BS 7段數字顯示器

基本說明:

5101BS由8個LED所組成的8字顯示器與一個小數點,透過10跟針腳來控制顯示。
由於網路上搜尋不到5101BS的技術文件,這邊我參照ref.1中1.3 Common Anode 0.56 Inch的腳位說明來作相關的接線,透過74HC595控制

接線:

74HC595晶片
QBpin 6VCC3.3V
QCpin 4QApin 7
QDpin 2SERGPIO#16
QEpin 1OEGND
QFpin 9RCLKGPIO#20
QGpin 10SRCLKGPIO#21
QHpin 5SRCLR3.3V
GNDGNDQH'

5101BS顯示器
pin 1QEpin 10QG
pin 2QDpin 9QF
pin 3
pin 83.3V
pin 4QCpin 7QA
pin 5QHpin 6QB

注意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,所以對應的點設定為低電壓形成通路。

參考文件:

1. https://e-radionica.com/productdata/LD3361BS.pdf

沒有留言:

張貼留言