在您的 Raspberry Pi 3 上使用 Python 访问 GPIO

在您的 Raspberry Pi 3 上使用 Python 访问 GPIO

在您的 Raspberry Pi 3 上使用 Python 访问 GPIO

Raspberry Pi 主要设计为教育专用,使年轻人能够使用便宜的 Linux 计算机走出编程的第一步。但随着电子工业日益强大且 Raspberry Pi 3 增加了蓝牙 4.1 和 WIFI,此设备现在可满足专业要求。

标准 PC 未提供对处理器针脚的访问权限 - 例如,无法将通过 I2C 总线通信的新传感器连接到 PC。但是,Raspberry Pi 提供了对 GPIO 的访问权限。此种功能一般是为微控制器保留的。但此功能需要一些嵌入编程知识,此类知识对于非专业人士来说可能十分沉闷。通过利用 Python 编写几行代码,Raspberry Pi 实现了对 GPIO 编程的可能性。Python 是学起来最简单的语言之一,具有非常大的社区,此社区内不乏计算机科学工程师以外的人员。

Raspberry Pi 在标准 PC 和微控制器之间创建了其自己的市场。让我们看看要在 Raspberry 上切换 GPIO 必须遵循的流程。

Raspberry Pi 的默认操作系统为 Raspbian,此操作系统中已加载 Python 库 RPi.GPIO。它当前使用的是 0.6.2 版,该版本可在 pypi.python.org 处下载。

打开源网站上提供了介绍如何使用此库的示例。

由于它是一个 Python 程序,因此必须导入这些库。需要以下 2 个库:RPI.GPIO 库(用于驱动针脚)和时间库(允许用户在两次针脚切换之间创建计时)。

然后,需要声明编码系统的类型。BOARD 选配件严格按照针脚在 Pi 上的排列方式使用针脚。各版本不会更改此连接器和编码。BCM 选配件使用因 Raspberry 针脚版本而异的 Broadcom SoC 编码。下表显示了两个编码系统之间的差异。

编码系统之间的差异

在我们的程序中,通过命令 GPIO.setmode 功能使用和选择电路板编号。

然后,将针脚 12 配置为输出,我们将切换此针脚。在无限循环中,将此针脚处于高压 (3V) 状态 1 秒钟的时间,然后接地 (0V) 1 秒钟的时间。

 

在您的 Raspberry Pi 3 上使用 Python 访问 GPIO

Raspberry Pi 的体积大小使得能够轻松物理接触到 GPIO,并且一台示波器连接到接地针脚(针脚 25)和针脚 12。

 

在您的 Raspberry Pi 3 上使用 Python 访问 GPIO

随着示波器的屏幕截图确认,针脚 12 将在 0 到 3V 之间以 0.5Hz 频率切换,如 Python 脚本中所编程的那样。

 

在您的 Raspberry Pi 3 上使用 Python 访问 GPIO

Python 脚本无法在实时系统中使用,因为 Linux 操作系统不保证在完全正确的时间驱动针脚。由于驱动 GPIO 不属于高优先级,其他优先级可能延迟此操作。但是,它是快速、高效且简单的与外部世界通信的方式,传统 PC 无法与之媲美。