场景介绍
掌握GPIO引脚连接双色LED模块,编写Python程序代码,实现GPIO控制点亮双色LED灯!
窗口查看引脚编号
1、在终端输入指令:pinout
2、使用树莓派输入gpio readall命令查看pin状态
输入以下命令安装Git
sudo apt install git-core
安装树莓派的Wiring Pi库函数
树莓派要操作GPIO口也是需要借用库函数来实现的,名称叫做Wiring Pi,它使用C和C++开发并且可以被python、ruby或者PHP等其他语言包转。
树莓派的官方系统是没有自带Wiring Pi库的,需要我们自行安装
输入以下命令,将 WiringPi 文件下载到树莓派系统的当前目录
sudo git clone https://github.com/WiringPi/WiringPi
耐心等待其安装完成。下载完成后,我们可以在当前目录下看到一个WiringPi文件夹。
● 输入以下命令进入 WiringPi 文件夹目录。
cd WiringPi
● 输入以下命令安装 WiringPi。
sudo ./build
耐心等待安装完成,当我们看到下面的界面没有任何错误时候,就意味着安装完成。
3、查看gpio版本,控制台输入如下命令:
gpio -v
最后,我们可以看到树莓派各个管脚的状态,输入指令:
gpio readall
4、使用RPi.GPIO模块
RPi.GPIO是Python的一个模块,树莓派默认已经安装了该模块。下面介绍如何使用Python的RPi.GPIO模块控制GPIO。
1、导入RPi.GPIO模块
import RPi.GPIO as GPIO
2、设置指定模式(强制)管脚编号
GPIO.setmode(GPIO.BOARD) #物理引脚编码
3、设置禁用警告
如果GRIO检测到一个引脚已经被设置成了非默认值,可以使用setwarnings()关闭警告信息。
GPIO.setwarnings(False)
4、设置引脚输入和输出
要将通道配置为输入:
GPIO.setup(channel, GPIO.IN)
要将通道设置为输出,请调用:
GPIO.setup(channel, GPIO.OUT)
为输出通道指定一个初始值:
GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
将通道设置为输出时,同时设置多个通道:
channels = [18, 12, 13]
要读取通道的值:
GPIO.input(channel) #返回 GPIO.LOW 或 GPIO.HIGH。
要设置配置为输出的引脚的值:
GPIO.output(channel, state)
其中状态可以是 GPIO.LOW 或 GPIO.HIGH。
还可以输出到通道列表或元组:
channels = [18, 12, 13]
5、清理所有使用的通道
在程序结束时,最好清理通道,以便将所有引脚设置为默认状态。
GPIO.cleanup()
控制双色IED灯实验
硬件材料
1、树莓派4B
2、双色LED灯模块
3、GPIOT型扩展
4、面包板
5、杜邦线
6、Python程序
双色LED灯原理图
双色IED灯接线图
安装FileZilla软件
打开mu编辑器,编写python控制LED代码
Python控制GPIO的几个主要操作:
导入RPi.GPIO模块:
import RPi.GPIO as GPIO
设置引脚编码模式:
GPIO.setmode(GPIO.BOARD)/GPIO.setmode(GPIO.BCM)
设置引脚的操作模式(即输出还是输入) :
GPIO.setup(2, GPIO.OUT)/GPIO.setup(2, GPIO.IN)
设置引脚的高低电平:
GPIO.output(2, GPIO.HIGH)/GPIO.output(2, GPIO.LOW)
运行Python程序
点击运行按钮后,会看到LED灯闪烁变色,每隔几秒切换灯光颜色。