1、GPIO简介
树莓派(GPIO)是一种数字输入/输出接口,可用于控制和监测电子元件。输入引脚可用于读取传感器或按键等外部设备输入的信号;输出引脚可用于通过外部设备火车、LED灯等输出电压或电流。在树莓派上,GPIO用于与外部世界进行通讯,进而实现更高级别的小型计算机和电子项目,应用广泛。
树莓派3B+中有40个GPIO引脚,它们被分成2排,并从编号1到40进行标号。第一排包含了1到26号引脚,可以用作输入输出,另外有5个地引脚。第二排的引脚,则主要是对一些较为复杂的外设进行控制,同时也可以配置为输入输出使用。
树莓派GPIO功能丰富、扩展性好,并且可以与各种电子元件结合使用,因此在物联网、嵌入式开发、机器人领域中应用广泛,用户可以通过编程来控制其相应的操作。
树莓派的GPIO引脚编号分为两种:物理编号(Physical Pin)和BCM编号(Broadcom SOC Channel)。其中,物理编号表示每个GPIO引脚在扩展版上的物理位置,BCM编号则是SOC芯片上GPIO控制器内部使用的编号。
2、连接GPIO
要连接树莓派(GPIO),需要一些基本的硬件:
-
树莓派主板:确保树莓派已经成功启动,并且具有GPIO接口。
-
电子元件:这可以是LED、按钮、传感器等电子设备。
-
连接线:通常使用面包板或杜邦线来连接树莓派和外部电子设备。
-
电源供应:确保外部电子设备有足够的电力来源,以便它们能准确地执行您的命令。
在连接树莓派GPIO之前,您需要知道每个引脚的功能和编号。您可以在官方文档或互联网上找到相关信息。
连接GPIO的步骤如下:
-
确定所需的GPIO引脚。根据您的需求,选择一个适当的GPIO引脚作为输入或输出端口。
-
连接电子制品。将所选元件正确地插入面包板或直接使用连线拼接方法。注意使用正确类型的连线,并避免交叉连接导致的损坏。
-
连接至树莓派。通过正确连接的连线连接到树莓派的相应GPIO号码。对于数字输入,必须连接到树莓派的线性脚针,在某些情况下必须使用固定电阻。
-
测试和编程。您可以使用Python等编程语言来测试和控制所连接的计算设备。在运行任何代码之前,请确保您在程序中设置了正确的GPIO引脚,避免不必要的损坏和风险。
注意,在进行连接并测试过程中,必须注意电流、电压以及PN电阻电路设计等因素,以避免烧毁树莓派或外部电子设备。
3、使用RPI.GPIO模块
RPI.GPIO模块是连接树莓派(GPIO)的Python库,可以帮助您使用Python编程控制外围设备。以下是一些基本使用方法:
-
引入模块。在您的Python程序中引入RPI.GPIO库:import RPi.GPIO as GPIO。
-
设置GPIO模式。在代码中设置GPIO为三种不同模式之一:输入(Input)、输出(Output)或板上定义(Board)。通常,在开始时将模式设置为板上定义(Board)模式:GPIO.setmode(GPIO.BOARD)。
-
配置GPIO引脚。配置需要使用的GPIO引脚以及相应的方向(输入或输出):GPIO.setup(channel, GPIO.IN/OUT)。这里的channel可以是物理编号(Physical Pin)或 BCM板上引脚编号。
-
控制GPIO引脚。用适当的值来使GPIO引脚转换到所需状态,如果是输出状态则为High(高电平)或Low(低电平);如果是输入状态,则检测当前的状态:GPIO.output(channel, state)和GPIO.input(channel)
-
清除引脚设置。完成所有任务之后,必须释放GPIO引脚,清除之前的设置以便它们能够还原为其初始状态:GPIO.cleanup()
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
while True:
GPIO.output(11, GPIO.HIGH)
print("LED ON")
sleep(1)
GPIO.output(11, GPIO.LOW)
print("LED OFF")
sleep(1)
GPIO.cleanup()
4、点亮LED
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
try:
while True:
GPIO.output(11, True) # 将 GPIO11 引脚设置为高电平
time.sleep(1) # 持续一秒
GPIO.output(11, False) # 将 GPIO11 引脚设置为低电平
time.sleep(1) # 持续一秒
except KeyboardInterrupt:
GPIO.cleanup() # 清除 GPIO 引脚并退出应用
python GPIO:
raspberry-gpio-python / Code / [be8e4d]