Raspberry Pi GPIO之旅

09年01月

Raspberry Pi的引脚介绍

树莓派GPIO。 理查德萨维尔

术语'GPIO'(通用输入输出)不是Raspberry Pi独有的。 输入和输出引脚可以在大多数微控制器上找到,比如Arduino,Beaglebone等等。

当我们与Raspberry Pi谈论GPIO时,我们指的是电路板左上角的长引脚。 老款车型有26个引脚,但是我们大多数人将使用40的当前车型。

您可以将组件和其他硬件设备连接到这些引脚,并使用代码来控制它们的功能。 这是Raspberry Pi的重要组成部分,也是学习电子学的绝佳方式。

经过几个软件项目之后,您可能会发现自己正在尝试使用这些引脚,渴望将您的代码与硬件混合在一起,使事情在“现实生活”中发生。

如果你是新手,这个过程可能会令人感到恐惧,并且考虑到一次错误的行为会损坏你的树莓派,这对于初学者来说是一个紧张的领域是可以理解的。

本文将解释每种GPIO引脚的作用及其局限性。

09年02月

GPIO

GPIO引脚编号为1到40,可以分为不同的功能。 理查德萨维尔

首先,我们来看看整个GPIO。 这些引脚可能看起来相同,但它们都有不同的功能。 上面的图像以不同的颜色显示了这些功能,我们将在以下步骤中解释这些功能。

每个引脚从左下方开始编号从1到40。 这些是物理引脚号,但是,还有编号/标签惯例,例如在编写代码时使用的'BCM'。

09年3月

电源和接地

树莓派提供多个电源和接地引脚。 理查德萨维尔

突出显示为红色,3.3V或5V电源引脚标记为“3”或“5”。

这些引脚允许您直接向设备发送电源,而无需任何代码。 也无法将这些关闭。

有2个电源轨 - 3.3伏和5伏。 根据这篇文章,3.3V电源轨限制为50mA电流消耗,而5V电源轨可以在电源满足需求后提供电源剩余的电流容量。

突出显示的棕色是接地引脚(GND)。 这些引脚正是他们所说的 - 接地引脚 - 这是任何电子项目的重要组成部分。

(5V GPIO引脚是物理编号2和4. 3.3V GPIO引脚是物理编号1和17.接地GPIO引脚是物理编号6,9,14,20,25,30,34和39)

09年9月4日

输入/输出引脚

输入和输出引脚允许您连接传感器和开关等硬件。 理查德萨维尔

绿色引脚就是我所说的'通用'输入/输出引脚。 这些可以很容易地用作输入或输出,而不用担心与其他功能(如I2C,SPI或UART)发生冲突。

这些是可以向LED,蜂鸣器或其他组件供电的引脚,或者可以用作读取传感器,开关或其他输入设备的输入。

这些引脚的输出功率为3.3V。 每个引脚的电流不应超过16mA,无论是灌电流还是源电流,并且整个GPIO引脚在任何时候都不应超过50mA。 这可能是限制性的,因此您可能必须在某些项目中获得创意。

(通用GPIO引脚是物理编号7,11,12,13,15,16,18,22,29,31,32,33,35,36,37,38和40)

09年05月05日

I2C引脚

I2C允许您通过几个引脚将其他设备连接到您的Pi。 理查德萨维尔

黄色,我们有I2C引脚。 I2C是一种简单的通信协议,允许设备与Raspberry Pi进行通信。 这些引脚也可以用作'通用'GPIO引脚。

使用I2C的一个很好的例子是非常流行的MCP23017端口扩展器芯片,它可以通过这个I2C协议为您提供更多的输入/输出引脚。

(I2C GPIO引脚是物理引脚号3和5)

09年06月

UART(串行)引脚

通过与UART引脚的串行连接连接到您的Pi。 理查德萨维尔

灰色的是UART引脚。 这些引脚是另一种提供串行连接的通信协议,也可以用作'通用'GPIO输入/输出。

我最喜欢使用的UART是通过USB从我的Pi到笔记本电脑的串行连接。 这可以通过使用附加板或简单电缆来实现,并且不需要通过屏幕或互联网连接来访问您的Pi。

(UART GPIO引脚是物理引脚号8和10)

09年7月

SPI引脚

SPI引脚 - 另一个有用的通信协议。 理查德萨维尔

粉红色我们有SPI引脚。 SPI是在Pi和其他硬件/外设之间发送数据的接口总线。 它通常用于链接诸如LED矩阵或显示器之类的设备。

像其他一样,这些引脚也可以用作'通用'GPIO输入/输出。

(SPI GPIO引脚是物理引脚号19,21,23,24和26)

09年08月08日

DNC引脚

这里没有什么可看的 - DNC引脚不起作用。 理查德萨维尔

最后是蓝色的两个引脚,目前标记为代表'不连接'的DNC。 如果Raspberry Pi Foundation改变了电路板/软件,未来可能会发生变化。

(DNC GPIO引脚是物理引脚号27和28)

09年9月9日

GPIO编号约定

Portsplus是用于检查GPIO管脚编号的便捷工具。 理查德萨维尔

使用GPIO进行编码时,可以选择以两种方式之一导入GPIO库 - BCM或BOARD。

我更喜欢的选择是GPIO BCM。 这是Broadcom编号惯例,我发现它更常用于各种项目和硬件附件。

第二个选项是GPIO板。 此方法使用实际引脚编号,这在计数引脚时非常方便,但您会发现它在项目示例中使用较少。

导入GPIO库时设置GPIO模式:

作为BCM导入:

将RPi.GPIO导入为GPIO GPIO.setmode(GPIO.BCM)

要导入为BOARD:

将RPi.GPIO导入为GPIO GPIO.setmode(GPIO.BOARD)

这两种方法都完成相同的工作,这只是编号偏好的问题。

我经常使用方便的GPIO标签板,例如RasPiO Portsplus(如图)来检查我连接电线的针脚。 一面显示BCM编号约定,另一面显示BOARD - 因此您可以找到任何项目。