4*4薄膜键盘的电路连接和驱动(树莓派)获取密码发生错误,怎么解决了?

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!”)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值