## 脚本编码
GPIO Zero库使用Broadcom(BCM)引脚编码,而不是物理编码(BOARD)。与```RPi.GPIO```库不同的是,GPIO Zero不允许配置引脚编码方式。
但是如果你想用其他编码方式,可以通过给引脚序号提供不同的前缀实现(下面会提到)。
>译注:不允许配置是为了降低复杂度,对于新手来说直接用就好了,除非是已经有一定的树莓派经验,直接用默认的BCM编码就好了。
下图中任意前面有GPIO的引脚都可以用做引脚的编号。比如,如果一个LED等连接到了```GPIO17```,那么这个LED的引脚编号就应该是**17**而不是11。
![](https://img.kancloud.cn/80/89/80894eab4635a599e221b25bb12af673_208x733.png)
如果你倾向于使用物理编号(BOARD),你可以把引脚编号设定为```BOARD11```。如果对wiringPi的引脚编码(另外一种物理编码布局),你可以在编号前面使用“WPIO”前缀。你可以用"header:编号"的方式设定引脚,比如"J8:11""表示headerJ8(现代pi上的GPIOheader)上的11号物理引脚。所以,下面这些控制连接到11号引脚上的方式都是等效的:
~~~
>>> led = LED(17)
>>> led = LED("GPIO17")
>>> led = LED("BCM17")
>>> led = LED("BOARD11")
>>> led = LED("WPI0")
>>> led = LED("J8:11")
~~~
>译注:header:number, J8:11的方式我也不懂,待研究。最简单的方法就是用GPIO编号```led = LED(17) ```,其他的比较复杂。
需要注意的是,上述引脚编码方式仅仅是一种翻译,最后都会转换为BCM编码,不过是为了熟悉其他引脚编码模式的人用起来更方便。所以,如果你通过命令行来获取设备的状态,返回相关元器件的引脚一定是BCM模式的编码。
~~~
>>> led = LED("BOARD11")
>>> led
<gpiozero.LED object on pin GPIO17, active_high=True, is_active=False>
~~~
在这个手册里使用上面介绍的BCM模式引脚编码,默认引脚编号都是整数。
- 简介
- 更新树莓派源
- GPIO Zero基础案例
- 导入GPIO Zero库
- 引脚编码
- 树莓派代码编辑器
- LED
- 电磁继电器
- 呼吸灯
- LED条形图
- led条
- 交通灯
- 按钮
- 按钮控制LED灯
- 用按钮控制摄像头
- 舵机
- 关机按钮
- 按钮拍照
- 反应速度游戏
- 音乐盒子
- 单个按钮控制多个元件
- 全彩灯
- 人体红外传感器
- 亮度传感器
- 距离传感器
- 马达控制
- 机器人
- 按钮控制机器人
- 键盘控制机器人
- 红外感应机器人
- 电位器
- 用数模转换器测量温度
- 通过3个电位器控制全彩灯
- 时控加热灯
- 联网状态指示
- CPU温度条形图
- 更多
- OLED屏幕
- GPIO Zero基础案例2
- 古德微树莓派案例
- ws2812灯带python案例
- ads1115
- 高级秘籍
- 4 配置远程GPIO
- 5 远程GPIO案例
- 5.1 LED和按钮
- 6 树莓派Zero OTG USB数据线
- 7.数据源和值
- 微信发送疫情
- 8. 命令行工具
- 9. 常见问题
- 10. 从RPi.GPIO库迁移到GPIO Zero
- 公众号文章
- Python绘制疫情图表
- 百度人工智能案例
- vscode配置树莓派远程开发环境
- Jupyter Notebook相关
- 树莓派拍摄定格动画
- oled
- 创客与音乐
- 如何入门Python
- 交通标志