import RPi.GPIO as GPIO#导入GPIO库
import time#导入time库
L1 = 5 #GPIO5控制第一行
L2 = 6 #GPIO6控制第二行
L3 = 13 #GPIO13控制第三行
L4 = 19 #GPIO19控制第四行
C1 = 1 #GPIO1控制第一列
C2 = 12 #GPIO12控制第二列
C3 = 20 #GPIO20控制第三列
C4 = 21 #GPIO21 控制第四列
GPIO.setwarnings(False)#代码禁用警告
GPIO.setmode(GPIO.BCM)#设置模式
GPIO.setup(L1,GPIO.OUT)#L1设为输出口
GPIO.setup(L2,GPIO.OUT)#L2设为输出口
GPIO.setup(L3,GPIO.OUT)#L3设为输出口
GPIO.setup(L4,GPIO.OUT)#L4设为输出口
GPIO.setup(C1,GPIO.IN,pull_up_down = GPIO.PUD_DOWN)#设置某一瞬间的C1信号
GPIO.setup(C2,GPIO.IN,pull_up_down = GPIO.PUD_DOWN)#设置某一瞬间的C2信号
GPIO.setup(C3,GPIO.IN,pull_up_down = GPIO.PUD_DOWN)#设置某一瞬间的C3信号
GPIO.setup(C4,GPIO.IN,pull_up_down = GPIO.PUD_DOWN)#设置某一瞬间的C4信号
emptylist=[ ]
num=" "
def readLine(line,characters):
GPIO.output(line,GPIO.HIGH)
if(GPIO.input(C1) == True):
time.sleep(0.3)
print(characters[0])
emptylist.append(characters[0])
if(GPIO.input(C2) == True):
time.sleep(0.3)
print(characters[1])
emptylist.append(characters[1])
if(GPIO.input(C3) == True):
time.sleep(0.3)
print(characters[2])
emptylist.append(characters[2])
GPIO.output(line,GPIO.LOW)
c=len(emptylist)
#print(c)
while c:
num=emptylist[c-1]+num
c=c-1
try:
while true:
#读数
readLine(L2,[“1”,”2”,”3”,”A”])
readLine(L1,[“4”,”5”,”6”,”B”])
readLine(L3,[“7”,”8”,”9”,”C”])
readLine(L4,[“*”,”0”,”#”,”D”])
time.sleep(0.1)
except KeyboardInterrupt:
print(“\nAPP stopped!”)