学习目标
在上次的教程中我们已经成功的学会了怎么简单的控制LED模块的亮灭了。
本次教程我们将在上次教程的基础上学习树莓派按键,GPIO输入相关知识,这对于之后的项目非常重要。在这个过程中,你将接触新的Python程序,这些都是最基础的,不会很困难。
学习内容——按键控制LED
导读:在这个项目中我们将学习到按键模块的基础原理和巩固上项目中学到的Thonny
Python IDE基础使用和操作GPIO的基础Python代码。
所需元件
硬件连接
- 将树莓派IO扩展板安装在树莓派上并将LED发光模块接入扩展板12号数字端口,数字大按钮模块接入8号数字端口,然后开机
- 通过分析数字大按钮模块的原理图可以了解到,当按键没有按下的时候信号输出引脚为低电平,指示灯熄灭。当按键按下的时候信号引脚为高电平,指示灯亮起。这就可以对应LED发光模块的两种状态,通过树莓派简单的判断即可实现按键控制LED灯的亮灭了。
- 打开Thonny Python IDE将下面程序复制到其中
代码
import RPi.GPIO as GPIO #导入树莓派提供的python模块
import time #导入时间包,用于控制闪烁
LED=12 #定义LED接入的引脚号
Blue=8 #定义按钮接入的引脚号
GPIO.setmode(GPIO.BCM) #设置GPIO模式,BCM模式在所有数莓派通用
GPIO.setup(LED,GPIO.OUT) #设置GPIO12为输出模式
GPIO.setup(Blue,GPIO.IN) #设置GPIO8为输入模式
while True: #无限循环执行下面的指令
if GPIO.input(Blue): # GPIO.input(Blue)将返回GPIO8的状态然后判断,如果GPIO8为高电平(即按键按下)就执行下面的语句
GPIO.output(LED,GPIO.HIGH) #将LED信号脚置高(即点亮LED)
else : #如果GPIO8为低电平(即按键没按下)就执行下面的语句
GPIO.output(LED,GPIO.LOW) #将LED信号脚置低(即熄灭LED)
time.sleep(0.1) #延时0.1秒,在在这里的作用是控制查询按键的频率
- 点击运行当按下数字大按钮时灯亮。等松开数字大按钮时灯熄。
|