在树莓派上使用 GPIO Zero 控制 GPIO
树莓派的 40 针 GPIO 引脚功能丰富,任何 GPIO 引脚都可以在软件中指定为输入或输出,可适用广泛的用途。
注意,GPIO 引脚的编号不按数字顺序排列,板上存在 GPIO 引脚 0 和 1,对应物理引脚 27 和 28,但进行了保留用于高级用途。

先来说电压。树莓派上有两个 5V 引脚、两个 3.3V 引脚,以及一些不可配置的接地引脚。输出设置为 3.3V,输入也是 3.3V 容差。

GPIO 作为输出,可以设为高电瓶 3.3V 或者低电瓶 0V。
GPIO 作为输入,可以读取为高电瓶或者低电瓶。使用上拉或下拉电阻可以更轻松地实现。GPIO2 和 GPIO3 固定上拉电阻,其他引脚可以在软件中配置。

除了简单的输入和输出设备,GPIO 引脚还可以用于各种替代功能。软 PWM 适用于所有端口,硬 PWM 只适用于 GPIO12、13、18、19。SPI0 使用 GPIO10、9、11、8、7。I2C 使用 GPIO2 和 GPIO3。串口使用 GPIO14 和 GPIO15。
可以在终端运行 pinout 命令查看参考信息。Raspberry Pi OS 默认已安装 GPIO Zero Python 库。

要使用 GPIO 端口,需要将用户加到 gpio 组。pi 用户默认已在 gpio 组中。
现在来看 Python 编程。使用 GPIO17 控制 LED,只需要 from gpiozero import LED,然后 led 等于 LED 17,就可以用 on 和 off 方法控制开关了。LED 还支持 toggle 翻转和 blink 闪烁函数。
使用 GPIO2 读取按键状态,from gpiozero import Button,button 等于 Button 2,通过 is_pressed 属性判断是否按下。还支持 when_pressed 和 when_released 回调函数。
按键和 LED 组合使用,最优雅的方式是用回调。button 点 when_pressed 等于 led 点 on,when_released 等于 led 点 off,一行回调搞定。
更多树莓派教程和配件,欢迎访问跑跑啦航模官网,或淘宝店跑跑啦航模。

微信联系
淘宝联系