跳到主要内容

树莓派GPIO引脚:什么每个引脚不上皮4,早期型号

任何的最好的事情覆盆子π,包括新的覆盆子PI 4.是,你可以用它来建立各种真棒玩意儿,从机器人到复古游戏控制台和屁探测器。大多数的传感器,电机,灯和其他外围设备,使这些项目能够连接到PI的组GPIO(通用输入输出)引脚。这些引脚提供在Pi的心脏的直接连接到片上系统(SoC)的,使pi到与外部组件进行通信。由于树莓裨B +每裨模型已40个GPIO引脚,尽管在零皮和零W,你有40个孔,其可以焊接销或导线插入。

本指南已经更新,以反映Raspberry Pi 4的新功能,它仍然带有40个GPIO引脚,但有一些额外的I2C, SPI和UART连接可用。

无论您在建造什么,您都需要了解Raspberry PI GPIO引脚,地图和每个PIN都能做的解释。虽然一些别针提供电,但其他别处是地面,其他人仍然连接到不同种类的接口,所有这些都在下面解释。

GPIO引脚用于树莓派4和更早版本。 (图片信用:les pounder)

通用输入输出(GPIO)引脚

GPIO是树莓派最基本、最容易使用的部分。GPIO管脚是数字的,这意味着它们可以有两种状态,关或开。它们可以有接收或发送电流的方向(分别为输入、输出),我们可以使用Python、JavaScript、node-RED等编程语言控制引脚的状态和方向。

GPIO引脚的工作电压为3.3V与16毫安的最大电流消耗。这意味着我们可以安全地功率的一个或从单个GPIO引脚的两个LED(发光二极管),通过一个电阻。但是,对于任何需要更多的电流,直流电动机为例,我们将需要使用外部组件,以确保我们不损坏GPIO。

使用Python控制GPIO引脚需要首先导入预先编写的代码库。最常见的库是RPi。GPIO (https://pypi.org/project/RPi.GPIO/),自树莓派早期以来,它已经被用于创建数千个项目。最近还引入了一个名为GPIO Zero的新库(https://pypi.org/project/gpiozero/)has),为Python和基本电子产品的新手提供了一个更容易的入口。这两个库都预装在了Raspbian操作系统中。

GPIO管脚有多个名称;第一个最明显的参考是他们在GPIO上的“物理”位置。从GPIO的左上角开始,这里我们指的是离micro SD卡插入位置最近的引脚,我们有物理引脚1,它提供3v3电源。在该引脚的右边是物理引脚2,它提供5v电源。引脚数字然后随着我们向下移动每一列增加,引脚1将引脚3,5,7等,直到我们到达引脚39。您将很快看到,在这一列中,从1到39的每个引脚都遵循奇数序列。对于引脚2开始的那一列,它将会是4,6,8等等,直到它达到40。在偶数序列之后。物理引脚编号是定位引脚的最基本方法,但许多为树莓派编写的教程遵循不同的编号顺序。

Broadcom(BCM)PIN编号(AKA GPIO引脚编号)似乎混乱到普通用户。与GPIO17,22和27相互关注,几乎没有想到逻辑编号。BCM引脚映射是指已直接连接到覆盆子PI的芯片(SOC)上的系统的GPIO引脚。实质上,我们有直接链接到PI的大脑,以连接我们的项目中的传感器和组件。

你会看到大多数使用该参考树莓派的教程,这是因为它是由树莓派基金会正式支持的针编号方案。所以这是开始使用和学习BCM引脚编号方案,因为它会随着时间的推移成为你的第二天性的最佳实践。还要注意的是BCM和GPIO管脚编号是指相同的方案。因此,例如GPIO17是一样的BCM17。

某些GPIO引脚还具有备用功能,允许它们与使用I2C,SPI或UART协议的不同种类的设备接口。例如,GPIO3和GPIO 4也是用于使用I2C协议连接设备的SDA和SCL I2C引脚。使用这些引脚使用这些协议,我们需要使用Raspbian OS中找到的Raspberry PI配置应用程序来启用接口。

I2C,SPI和UART:哪些您使用?

我们将进入下面的I2C,SPI和UART之间的特定差异,但如果您想知道您需要使用哪一个连接到给定设备,则短答案是检查规范表。例如,一个微小的LED屏幕可能需要SPI,另一个可能会使用I2C(几乎没有使用UART)。如果您阅读产品附带的文档(提供有一些),通常会告诉您使用哪种PI引脚。

对于Raspberry Pi 4用户,请注意,您现在可以使用更多I2C,SPI和UART引脚。这些额外的接口是使用设备树覆盖激活的,可以提供四个额外的SPI,I2C和UART连接。

I2C - 集成电路

I2C为低速两线串行协议来使用I2C标准连接的设备。使用I2C标准设备具有主从关系。可以有一个以上的主,但是每个从设备需要一个唯一的地址,通过从NXP生产商,前身为飞利浦半导体获得。这意味着我们可以跟多个设备的单个I2C连接为每个设备上由用户唯一且可发现和使用计算机Linux命令如i2cdetect。

如前所述,I2C有两个连接:SDA和SCL。它们通过发送数据到SDA连接和从SDA连接,速度通过SCL引脚控制。I2C是一个快速和简单的方式添加许多不同的组件,如LCD / OLED屏幕,温度传感器和模拟到数字转换器与光敏电阻等使用到您的项目。虽然与标准的GPIO引脚相比,理解I2C有点困难,但从学习I2C中获得的知识将很好地为您服务,因为您将理解如何在现场使用更高精度的传感器。

树莓裨具有GPIO 2和3(SDA和SCL)是用于I2C0(主)和物理引脚27和28是I2C引脚,使将Pi交谈兼容HAT(硬件附接在顶部)两个I2C连接添加上板。

SPI - 串行外围接口

SPI是将兼容设备连接到树莓派的另一个协议。与I2C类似,树莓派和连接到它的设备之间存在主从关系。

通常,SPI用于在微控制器和诸如Shift寄存器,传感器甚至SD卡等微控制器和组件之间的短距离上发送数据。数据使用来自主设备(我们的PI)使用时钟(GPIO11的SCLK)同步,并且使用MOSI(GPIO GPIO10)引脚从PI从PI发送数据。MOSI代表掌握奴隶。如果组件需要回复我们的PI,那么它将使用MISO PIN(GPIO9)发送数据,该码引脚(GPIO9)代表奴隶中的主站。

UART - 通用异步接收器/发送器

通常称为“串行”的UART引脚(发送GPIO14,接收GPIO15)提供一种用于无头设置控制台/终端登录装置,该装置连接到PI没有键盘或指示设备。通常情况下,做一个无头树莓派设置的最简单方法就是通过网络或直接USB连接(淠零的情况下),以控制皮。

但是,如果没有网络连接,您还可以使用串行电缆或USB运行终端控制台计算机串行板控制无头皮。UART是非常可靠的,并提供了访问皮,而不需要额外的设备。请记住,以使串行控制台的树莓派配置应用程序。有机会,你会不会想这样做,但UART支持是存在的,如果你需要它。

接地(GND)

地面通常被称为GND,GND或 - 但它们都是相同的。GND是可以从所有电压测量的地方,并且它也完成了电路。它是我们的零点,并且通过将诸如LED的组件连接到电源,接地部件成为电路的一部分,电流将流过LED并产生光线并产生光线。

在构建电路时,在应用任何电源之前,首先使接地连接总是明智的,因为它会阻止敏感组件的任何问题。覆盆子PI沿着GPIO有八个接地连接,这些接地销中的每一个连接到一个接地连接。因此,使用哪个接地销使用的接地销是通过个人偏好或连接组件时的便利性确定的。

5伏

5v引脚提供直接访问来自您的电源适配器的5v电源,比树莓派本身使用的功率更少。A Pi可以直接从这些引脚供电,它也可以为其他5v设备供电。当直接使用这些引脚时,要小心并在连接之前检查您的电压,因为它们绕过了任何安全功能,如电压调节器和保险丝,这是为了保护您的Pi。绕过这些较高的电压,你可以使你的Pi无法操作。

3 v3

3V的脚是有提供一个稳定的3.3V电源功率器件和测试的LED。在现实中,这将是罕见的,你不会考虑此因素销到一个构建,但它确实有一个特殊的用途。当连接一个LED的GPIO,我们首先需要确保的是,LED是正确之亮灯接线。通过连接LED的长腿,阳极通过电阻3.3V的引脚,短的腿,阴极到任何的接地(GND)引脚,我们可以检查我们的LED补光灯和工作。这就消除了该项目的硬件故障,使我们能够开始建立我们的项目有信心。


更多:覆盆子pi怎么样


更多:为什么每个技术宅都应该拥有一个树莓派


更多:如何设置一个无头覆盆子pi


更多:树莓派用户需要知道的25+ Linux命令

3评论 论坛评论
  • dotnetmaster777.
    非常好,有用的文章!
    回复
  • MatsK
    它有一个严重的错误。

    GPIO引脚的工作电压为3.3V与16毫安的最大电流消耗。这意味着我们可以安全地功率的一个或从单个GPIO引脚的两个LED(发光二极管),通过一个电阻。
    3或5mm LED的典型值是1,8-3Volt,根据颜色,仅一个LED超过GPIO的最大值。因此,文章中的陈述可能会燃烧GPIO引脚!

    请修改这篇文章。
    回复
  • seamusdemora
    SCL4(I2C时钟)出现在两个不同的针脚上:
    销26(GPIO 7)
    引脚21 (GPIO 9)

    还有其他错误 - 你困惑 - 还是我?
    回复