python 树莓派 button demo(记得要把中文注释删除掉)
2021年5月14日
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#!/usr/bin/env python """ * @par Copyright (C): 2010-2020, hunan CLB Tech * @file button * @version V2.0 * @details * @par History @author: zhulin """ import RPi.GPIO as GPIO import time BtnPin = 19 #设置按钮引脚 Gpin = 50 #设置绿灯引脚 Rpin = 6 #设置红灯引脚 ## # 定义一个方法 # def setup(): GPIO.setwarnings(False) #警告关闭 GPIO.setmode(GPIO.BCM) #按物理位置对GPIO编号 GPIO.setup(Gpin, GPIO.OUT) #将绿色Led引脚模式设置为输出 GPIO.setup(Rpin, GPIO.OUT) #将红色Led引脚模式设置为输出 GPIO.setup(BtnPin, GPIO.IN,pull_up_down=GPIO.PUD_UP) #设置BtnPin的模式为输入,并向上拉至高电平(3.3V) if __name__ == '__main__': #程序从这里开始 setup() try: while True: if GPIO.input(BtnPin) == True: #如果按钮按下 time.sleep(0.01) if GPIO.input(BtnPin) == True: #如果按钮还是按下 GPIO.output(Rpin, 1) GPIO.output(Gpin, 0) elif GPIO.input(BtnPin) == False: #如果按钮抬起 time.sleep(0.01) if GPIO.input(BtnPin) == False: #如果按钮还是抬起 while GPIO.input(BtnPin) == True: #这个注释掉也是可以的 pass #跳出循环 GPIO.output(Rpin, 0) GPIO.output(Gpin, 1) except KeyboardInterrupt: # 'Ctrl+C' 停止退出 GPIO.cleanup() |