【物联网】基于树莓派的物联网开发【16】——树莓派GPIO控制LED灯实验

发布于:2025-08-01 ⋅ 阅读:(22) ⋅ 点赞:(0)

场景介绍

掌握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灯闪烁变色,每隔几秒切换灯光颜色。
在这里插入图片描述
在这里插入图片描述