news 2026/4/24 21:28:41

树莓派5 GPIO引脚配置:手把手新手教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
树莓派5 GPIO引脚配置:手把手新手教程

树莓派5 GPIO从零开始:新手也能轻松上手的实战指南

你是不是也曾在拿到树莓派5后,盯着那40个密密麻麻的小针脚发愣?“哪个是电源?”、“GPIO18到底对应第几个孔?”、“接错了会不会烧板子?”——这些疑问几乎是每个初学者必经的坎。

别担心。本文不讲晦涩术语堆砌,也不搞复杂理论推导,而是带你一步一步、安全稳妥地掌握树莓派5的GPIO使用方法。无论你是学生、创客,还是刚转行嵌入式的新手工程师,只要跟着做,半小时内就能点亮第一颗LED,并理解背后的逻辑。


为什么GPIO是树莓派的灵魂?

树莓派再强大,如果不能和外部世界互动,它也只是台“迷你电脑”。而GPIO(通用输入输出)引脚,正是连接数字世界与物理世界的桥梁

你可以用它:
- 检测按钮是否被按下;
- 控制LED灯闪烁节奏;
- 驱动继电器开关家电;
- 读取温湿度传感器数据;
- 连接OLED屏幕显示信息。

在树莓派5上,这组接口不仅保留了前代兼容性,还优化了电源管理与信号稳定性,让控制更可靠。但对新手来说,真正的难点从来不是功能多强,而是——怎么安全又正确地用起来?

我们先来破除三个常见误解:

❌ “随便插一根线试试看” → 可能短路烧毁SoC
❌ “编号1就是GPIO1” → 实际是电源引脚!
❌ “5V和3.3V可以混接” → 直接接入5V可能永久损坏芯片

别急,接下来我们就把这些问题一个个拆开讲清楚。


看懂你的40个引脚:一张图胜过千言万语

树莓派5背面的40针排布遵循标准2×20布局,看起来很规整,但功能却五花八门。要安全使用,第一步就是分清哪些能编程、哪些是固定电源、哪些有特殊用途

先记住这几个关键位置(建议收藏)

引脚位置功能说明
第1针(左上角)3.3V电源(红色常用来标记)
第6针接地GND(最常用的地线之一)
第2/4针5V电源(最大输出约3A)
第3/5针I²C通信:SDA(数据)、SCL(时钟)
第8/10针UART串口:TXD(发送)、RXD(接收)
第19/21/23/24针SPI总线:MOSI、MISO、SCLK、CE0
第12/13/18/19针支持PWM输出(可用于调光、调速)

其中,真正可编程的GPIO共有28个(BCM0–BCM27),其余为专用或电源引脚。

🔍 小贴士:面对主板时,40针Header的“第1针”通常靠近SD卡槽一侧,且有一个白色圆点或缺口标识。


到底该用 BCM 还是 Board 编号?

这是新手最容易混淆的地方。树莓派有两种编号方式:

✅ 推荐使用:BCM编号

  • 基于Broadcom芯片内部通道命名;
  • Python库如RPi.GPIOgpiozero默认采用;
  • 跨项目一致性好,避免因物理位置变化出错。

例如:你想用的是物理第12脚,它的BCM编号是GPIO18

⚠️ 不推荐:Board编号

  • 按从1到40的物理顺序编号;
  • 看起来直观,但一旦换板子或查资料容易搞混;
  • 特别是在代码中混合使用时极易出错。

📌 所以记住一句话:写代码一律用BCM编号,接线时对照表格确认物理位置。


安全第一课:电压、电流与保护措施

再强大的功能,用错了也会变“事故”。以下是必须牢记的三大电气原则:

1. 所有GPIO都是3.3V逻辑电平

  • 输出高电平 ≈ 3.3V,低电平 = 0V;
  • 绝对不要直接接入5V信号!
  • 若需连接5V设备(如Arduino、某些传感器),必须加电平转换模块或光耦隔离。

2. 单个引脚驱动能力有限

  • 最大输出电流约16mA
  • 建议工作在8–12mA更安全;
  • 驱动普通LED需串联220Ω–330Ω限流电阻

3. 总电流不能超标

  • 所有GPIO合计不超过50mA(官方建议控制在30mA以内);
  • 多个LED同时亮起?最好外接电源驱动;
  • 控制电机、蜂鸣器等大功率负载?请通过三极管、MOSFET或继电器模块间接控制。

实战第一步:点亮一颗LED

现在我们来动手做一个最经典的入门实验——用Python控制LED闪烁

所需材料

  • 树莓派5 + 电源
  • 面包板 ×1
  • 杜邦线若干(公对母)
  • LED ×1
  • 220Ω电阻 ×1

接线步骤(务必断电操作!)

  1. 将LED长脚(阳极)接GPIO18(BCM编号)→ 物理第12针;
  2. 短脚(阴极)接220Ω电阻一端
  3. 电阻另一端接GND(建议选第6针)
  4. 检查无误后再通电。

✅ 提醒:接线前关闭树莓派电源,防止误短路!

编写控制程序

# blink.py - 控制LED闪烁 import RPi.GPIO as GPIO import time # 设置为BCM编号模式 GPIO.setmode(GPIO.BCM) # 定义使用的引脚 LED_PIN = 18 # 配置为输出模式 GPIO.setup(LED_PIN, GPIO.OUT) try: while True: GPIO.output(LED_PIN, GPIO.HIGH) # 亮 time.sleep(1) GPIO.output(LED_PIN, GPIO.LOW) # 灭 time.sleep(1) except KeyboardInterrupt: pass finally: GPIO.cleanup() # 释放资源,恢复默认状态

如何运行?

  1. 将文件保存为blink.py
  2. 打开终端,进入目录;
  3. 执行命令:
    bash python3 blink.py
  4. Ctrl+C停止程序。

💡 成功了吗?看到LED一秒一闪,恭喜你迈出了GPIO的第一步!

🛠️ 如果没反应,请检查:
- 是否以sudo运行?或者用户是否已加入gpio组;
- 引脚编号是否正确(BCM18 ≠ Board18);
- 接线是否松动或反接。


快速查看引脚状态:一个命令拯救小白

每次都要翻图表太麻烦?树莓派自带神器——pinout命令!

安装并使用

# 安装 gpiozero(包含 pinout 工具) sudo apt update sudo apt install python3-gpiozero # 查看当前引脚图 pinout

执行后你会看到一个彩色ASCII图示,清晰标注每个引脚的编号、功能、当前模式,甚至支持触摸屏旋转提示。

比如输入pinout 18,会直接告诉你物理第18针的信息:

Pin 18 GPIO: 24 Function: OUTPUT State: Low

这个工具简直是调试救星,强烈建议收藏。


加点挑战:按键控制LED

学会了输出,再来试试输入——让一个按钮控制LED开关。

硬件连接

  • 按键一脚接GPIO17(物理第11针)
  • 另一脚接GND(第9针)
  • 同时启用GPIO17的内置上拉电阻,确保未按下时为高电平。

💡 上拉电阻的作用:防止引脚浮空导致误读。树莓派多数GPIO都支持软件启用50kΩ上拉/下拉。

代码实现

# button_led.py - 按键控制LED import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) BUTTON_PIN = 17 LED_PIN = 18 # 按键设为输入,启用内部上拉 GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(LED_PIN, GPIO.OUT) try: while True: if GPIO.input(BUTTON_PIN) == GPIO.LOW: # 按下时接地,电平拉低 GPIO.output(LED_PIN, GPIO.HIGH) else: GPIO.output(LED_PIN, GPIO.LOW) except KeyboardInterrupt: pass finally: GPIO.cleanup()

运行后,按下按键,LED应立即点亮;松开即灭。


遇到问题怎么办?常见坑点与解决秘籍

❗ 问题1:程序报错 “Permission denied”

  • 原因:普通用户无权访问GPIO硬件。
  • 解决方案
    bash sudo usermod -aG gpio pi
    重启后生效,之后无需每次都用sudo运行脚本。

❗ 问题2:引脚没反应,但别人同样代码能用

  • 排查方向
  • 使用pinout查看该引脚是否已被其他服务占用(如摄像头启用会锁定部分引脚);
  • 检查是否启用了I²C/SPI等外设冲突;
  • /boot/config.txt中是否有禁用GPIO的设置。

❗ 问题3:多个I²C设备地址冲突

  • 使用命令扫描设备:
    bash i2cdetect -y 1
  • 若发现重复地址,尝试更换模块跳线或使用I²C多路复用器。

更进一步:选择合适的开发工具链

随着项目复杂度提升,你可以根据需求选择不同层级的库:

工具适用人群特点
gpiozero新手首选语法简洁,一行代码控LED,内置常用组件抽象
RPi.GPIO中级开发者控制精细,支持中断、PWM等高级功能
libgpiod高阶应用更底层、线程安全,适合工业级实时控制

例如,用gpiozero实现相同功能只需两行:

from gpiozero import LED, Button from signal import pause led = LED(18) btn = Button(17) btn.when_pressed = led.on btn.when_released = led.off pause() # 保持运行

简洁到令人发指,特别适合教学和快速原型验证。


让它开机自动运行:systemd来帮忙

想让你的灯光系统、监控脚本随系统启动自动运行?可以用systemd注册服务。

创建文件/etc/systemd/system/gpio-led.service

[Unit] Description=LED Control via GPIO After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/python3 /home/pi/button_led.py User=pi [Install] WantedBy=multi-user.target

然后启用服务:

sudo systemctl enable gpio-led.service sudo systemctl start gpio-led.service

下次开机,你的程序就会默默运行,像一个真正的嵌入式系统。


写在最后:从点亮LED到创造无限可能

当你第一次亲手让一颗小小的LED按你设定的节奏闪烁时,那种成就感是无可替代的。而这只是开始。

掌握了树莓派5引脚定义和基本配置方法后,你可以继续探索:
- 用PWM调节LED亮度;
- 接DHT11读取温湿度;
- 驱动SG90舵机做机械臂;
- 搭建智能家居节点,联动WiFi远程控制。

每一个复杂的项目,都是由这样简单的一步起步的。

正如一位资深创客所说:“所有伟大的发明,最初都不过是一块面包板上的两个元件。”

所以,别再犹豫了——插上电源,打开终端,写下你的第一行GPIO代码吧。

如果你在实践中遇到任何问题,欢迎留言交流。我们一起把想法变成现实。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 19:12:35

OpCore Simplify完全指南:自动化构建完美Hackintosh EFI

OpCore Simplify完全指南:自动化构建完美Hackintosh EFI 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore Simplify是一款革命性的跨…

作者头像 李华
网站建设 2026/4/20 10:17:03

如何快速掌握NickelMenu:Kobo阅读器的终极自定义指南

如何快速掌握NickelMenu:Kobo阅读器的终极自定义指南 【免费下载链接】NickelMenu The easiest way to launch scripts, change settings, and run actions on Kobo e-readers. 项目地址: https://gitcode.com/gh_mirrors/ni/NickelMenu NickelMenu是一款专为…

作者头像 李华
网站建设 2026/4/23 14:30:05

SeedVR2-7B终极教程:快速上手AI视频修复神器

SeedVR2-7B终极教程:快速上手AI视频修复神器 【免费下载链接】SeedVR2-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR2-7B 想要在几分钟内掌握业界领先的AI视频修复技术吗?SeedVR2-7B作为字节跳动推出的开源视频修复模…

作者头像 李华
网站建设 2026/4/18 1:17:16

FlashAI通义千问大模型本地部署终极指南:零基础快速上手

FlashAI通义千问大模型本地部署终极指南:零基础快速上手 【免费下载链接】通义千问 FlashAI一键本地部署通义千问大模型整合包 项目地址: https://ai.gitcode.com/FlashAI/qwen 还在为AI大模型的复杂安装流程而烦恼吗?FlashAI通义千问大模型整合包…

作者头像 李华
网站建设 2026/4/17 11:32:11

Emby Server终极部署指南:10分钟打造专业级家庭媒体中心

Emby Server终极部署指南:10分钟打造专业级家庭媒体中心 【免费下载链接】Emby Emby Server is a personal media server with apps on just about every device. 项目地址: https://gitcode.com/gh_mirrors/emby3/Emby 想要将散落在硬盘各处的电影、电视剧和…

作者头像 李华
网站建设 2026/4/23 17:10:37

艺术二维码创作终极指南:用qrbtf重塑视觉表达新范式

艺术二维码创作终极指南:用qrbtf重塑视觉表达新范式 【免费下载链接】qrbtf An art QR code (qrcode) beautifier. 艺术二维码生成器。https://qrbtf.com 项目地址: https://gitcode.com/gh_mirrors/qr/qrbtf 在数字化浪潮席卷各行各业的今天,二维…

作者头像 李华