我有一个 8 位 LED 显示板,但我得到了奇怪的结果。第 21 行定义了哪些段被点亮以及哪些显示器被使用。所以 [1,0,0,0,1,0,0,0] 关闭第 1 和第 5 段并点亮第 4 和第 8 显示(显示的顺序为 4、3、2、1、8、7, 6、5)。所以第 24 行列表中的第一个 1 会关闭小数点并点亮第四个显示屏。第 5 个 1 关闭底部段并点亮第 8 个显示屏。
我想要的是能够指定使用哪个显示器以及该显示器的哪些部分点亮/熄灭。
这是 Python 3 代码:
import RPi.GPIO as IO
import time
# Ignore warnings
IO.setwarnings(False)
# Set pinouts
dataPin = 11
latchPin = 15
clockPin = 13
IO.setmode (IO.BOARD)
IO.setup(dataPin, IO.OUT)
IO.setup(clockPin, IO.OUT)
IO.setup(latchPin, IO.OUT)
# 7-segment displays are in the following
# order: 4 3 2 1 8 7 6 5
# Segments to light (0 = on / 1 = off)
segsLit = [1,0,0,0,1,0,0,0] # Line 21
# Iterate through 7-seg displays
for j in range(8):
IO.output(latchPin, 0)
# Iterate through list1 to light segments
for i in range(8):
IO.output(clockPin, 0)
IO.output(dataPin, segsLit[i])
IO.output(clockPin, 1)
IO.output(latchPin, 1)
IO.cleanup()
print("Done")
我找到了一些指南,但它们仅用于驱动单个显示器或仅驱动 8 个 LED。有很多关于 Arduino 的指南,我尝试过对其进行转换,但我总是遇到类似的问题,显示错误的数字。