树莓派GPIO引脚配置详解:pi-gpio物理引脚与BCM映射对照表
【免费下载链接】pi-gpioA simple node.js-based GPIO helper for the Raspberry Pi项目地址: https://gitcode.com/gh_mirrors/pi/pi-gpio
pi-gpio是一款基于node.js的简单GPIO辅助工具,专为树莓派设计,能帮助开发者轻松访问和控制树莓派的GPIO引脚。本文将详细介绍pi-gpio库中的物理引脚与BCM引脚映射关系,让你快速掌握树莓派GPIO的配置方法。
为什么需要引脚映射?
树莓派的物理引脚布局与底层Broadcom(BCM)芯片的引脚编号并不一致,这给开发带来了一定的困扰。pi-gpio库通过内部的引脚映射机制,让开发者只需关注物理引脚编号,无需深入了解BCM芯片的复杂细节。这种设计大大降低了GPIO编程的门槛,使新手也能快速上手。
物理引脚与BCM映射表
以下是pi-gpio库中定义的物理引脚与BCM引脚的映射关系,适用于不同型号的树莓派:
基础型号(A、B及B+ revision 2)
| 物理引脚 | BCM编号 | 物理引脚 | BCM编号 |
|---|---|---|---|
| 3 | 0 | 5 | 1 |
| 7 | 4 | 8 | 14 |
| 10 | 15 | 11 | 17 |
| 12 | 18 | 13 | 21 |
| 15 | 22 | 16 | 23 |
| 18 | 24 | 19 | 10 |
| 21 | 9 | 22 | 25 |
| 23 | 11 | 24 | 8 |
| 26 | 7 |
Model A+ 和 Model B+ 额外引脚
| 物理引脚 | BCM编号 | 物理引脚 | BCM编号 |
|---|---|---|---|
| 29 | 5 | 31 | 6 |
| 32 | 12 | 33 | 13 |
| 35 | 19 | 36 | 16 |
| 37 | 26 | 38 | 20 |
| 40 | 21 |
修订版2(rev == 2)的特殊映射
对于修订版2的树莓派,以下引脚的BCM编号有所不同:
| 物理引脚 | BCM编号(修订版2) |
|---|---|
| 3 | 2 |
| 5 | 3 |
| 13 | 27 |
如何使用映射表?
在使用pi-gpio库时,你只需传入物理引脚编号,库会自动根据上述映射关系转换为对应的BCM编号。例如,如果你想控制物理引脚16,只需在代码中使用16作为引脚参数,pi-gpio会自动将其映射到BCM 23引脚。
以下是一个简单的示例:
var gpio = require("pi-gpio"); gpio.open(16, "output", function(err) { // 打开物理引脚16,设置为输出模式 gpio.write(16, 1, function() { // 将物理引脚16设置为高电平(1) gpio.close(16); // 关闭物理引脚16 }); });安装与准备
要使用pi-gpio库,你需要先进行以下准备工作:
安装node.js和npm:
sudo apt-get install nodejs npm安装gpio-admin工具,以安全地访问GPIO引脚:
git clone git://github.com/quick2wire/quick2wire-gpio-admin.git cd quick2wire-gpio-admin make sudo make install sudo adduser $USER gpio注意:安装完成后需要注销并重新登录,以使权限生效。
在你的项目目录中安装pi-gpio:
npm install pi-gpio
常见问题解答
Q: 如何确定我的树莓派型号和修订版?
A: pi-gpio库会自动检测树莓派的修订版,并应用相应的引脚映射。你也可以通过读取/proc/cpuinfo文件来查看修订版信息。
Q: 我可以使用哪些物理引脚?
A: 对于基础型号,可用的GPIO引脚包括:7, 11, 12, 13, 15, 16, 18和22。对于A+和B+型号,还额外提供29, 31, 32, 33, 35, 37, 38和40引脚。
Q: 如何获取引脚的当前方向(输入/输出)?
A: 可以使用getDirection方法来获取引脚的当前方向:
gpio.getDirection(16, function(err, direction) { if(err) throw err; console.log(direction); // 输出 "in" 或 "out" });总结
pi-gpio库通过提供清晰的物理引脚与BCM引脚映射,大大简化了树莓派的GPIO编程。希望本文提供的映射表和使用指南能帮助你快速上手树莓派的GPIO开发。无论是LED控制、传感器读取还是其他GPIO应用,pi-gpio都能为你提供简单而强大的支持。
如果你在使用过程中遇到任何问题,欢迎查阅项目的官方文档或提交issue寻求帮助。祝你在树莓派开发之路上取得成功!
【免费下载链接】pi-gpioA simple node.js-based GPIO helper for the Raspberry Pi项目地址: https://gitcode.com/gh_mirrors/pi/pi-gpio
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考