树莓派 GPIO

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 GPIOGPIO.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 GPIOimport 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]

你可能感兴趣的:(单片机,嵌入式硬件)