news 2026/2/14 7:30:45

从零开始学树莓派:4B插针定义小白指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零开始学树莓派:4B插针定义小白指南

从零开始学树莓派:4B插针定义,新手也能轻松上手

你有没有过这样的经历?刚拿到一块闪闪发亮的树莓派4B,满怀期待地插上电源、接好显示器,准备大干一场。可当你要把传感器连上去时,看着那一排密密麻麻的40个金属小针脚,瞬间懵了——哪个是电源?哪个能控制LED?GPIO18到底在哪儿?

别慌,这几乎是每个初学者都会遇到的“第一道坎”。而跨过去之后,你会发现:原来硬件交互并没有想象中那么神秘。

今天我们就来彻底拆解树莓派4B的40针插针布局,用最直白的语言告诉你每一类引脚的作用、怎么安全使用、常见坑点在哪,还会配上实用代码和连接建议。读完这篇,你不仅能看懂引脚图,还能自信地说:“我知道该怎么接!”


一、先搞清楚:这40个针到底是干嘛的?

树莓派4B主板一侧有一组长方形的金属引脚,共40个(20×2),官方称为GPIO Header。它不是装饰,而是你与外部世界沟通的“物理接口”。

你可以把它想象成树莓派的“手脚”——
- 手:输出信号去控制灯、电机、屏幕;
- 脚:接收来自按钮、温度计、摄像头的数据。

这些引脚大致分为三类:
1.通用输入输出(GPIO)
2.电源引脚(3.3V / 5V / GND)
3.专用通信接口(I²C、SPI、UART)

我们一个一个来看。


二、GPIO引脚:你的数字开关控制器

什么是GPIO?

GPIO = General Purpose Input/Output,中文叫“通用输入输出”。简单说,就是你可以通过编程让它变成“输入”或“输出”的数字引脚。

比如:
- 设为输出→ 控制LED亮灭;
- 设为输入→ 检测按钮是否被按下。

树莓派4B有28个可用GPIO引脚(编号从GPIO0到GPIO27),但并不是所有都推荐日常使用——有些被系统占用了,有些功能特殊。

⚠️重要提醒:树莓派GPIO是3.3V逻辑电平,不能直接接受5V信号!否则可能烧毁芯片!

它们长什么样?怎么编号?

这里有两大命名体系,新手最容易混淆:

编号方式说明
Physical Pin Number实际物理位置编号(1~40),按顺序数就行
BCM GPIO NumberBroadcom芯片内部编号(如GPIO18),编程常用

📌重点:Python里几乎都用BCM编号!所以看到别人写GPIO.setmode(GPIO.BCM)就明白了——这是告诉程序:“我要用芯片编号,不是插针序号”。

举个例子:
- 物理第12根针 → BCM编号是GPIO18
- 如果你想控制这个脚,就得在代码里写18,而不是12

💡 建议打印一张【引脚对照图】贴在桌边,或者买带标注的GPIO扩展板,省心又防错。

能干啥?举个最简单的例子:点亮LED

import RPi.GPIO as GPIO import time # 使用BCM编号模式 GPIO.setmode(GPIO.BCM) led_pin = 18 # 对应物理Pin 12 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() # 释放资源,避免下次出问题

这段代码实现了经典的“LED闪烁”,也是嵌入式界的“Hello World”。

🔍 注意事项:
- 每个GPIO最大输出电流约16mA,只能驱动小型LED、蜂鸣器等低功耗设备;
- 总电流不要超过50mA,否则可能导致树莓派重启;
- 推荐串联一个220Ω电阻再接到LED,保护电路。


三、电源引脚:给外设“喂饭”的地方

除了数据脚,还有一些是用来供电的。它们就像是插座上的“火线”和“零线”,让你可以不额外接电池,直接给模块供电。

常见的电源引脚包括:

引脚类型物理编号数量输出电压可用电流
3.3VPin 1, 1723.3V总计约50mA
5VPin 2, 425V取决于电源适配器(建议≥3A)
GND(地)多达8个80V无严格限制(走线决定)

📍 分布如下(部分):
- Pin 1: 3.3V
- Pin 2: 5V
- Pin 6: GND
- Pin 17: 3.3V
- Pin 39: GND

实际怎么用?

  • 给DHT11温湿度传感器?→ 接3.3V + GND
  • 驱动继电器模块?→ 接5V + GND(因为很多继电器需要5V才能吸合)
  • 多个GND怎么选?→ 哪个近就用哪个,方便布线

⚠️绝对禁止的操作
- ❌ 把外部5V接到3.3V引脚反向供电 → 主板可能永久损坏!
- ❌ 用树莓派直接驱动大功率电机 → 过载会重启甚至烧保险丝

✅ 正确做法:
- 大功率设备(如步进电机、风扇阵列)请使用独立电源,并通过光耦或驱动模块隔离控制。


四、三大通信接口:让传感器“说话”的语言

如果说GPIO是“单兵作战”,那 I²C、SPI 和 UART 就是“团队协作协议”。它们让你能高效、稳定地和多个复杂设备通信。

我们一个个讲清楚。


1. I²C:轻量级多设备总线

适合谁?
  • 温度传感器(DS18B20)
  • 实时时钟(DS3231)
  • OLED显示屏(SSD1306)
为什么选它?
  • 只需两根线就能挂多个设备
  • 自动寻址,不怕冲突
  • 协议简单,开发快
引脚对应关系:
信号BCM GPIO物理引脚
SDA(数据)GPIO2Pin 3
SCL(时钟)GPIO3Pin 5

🎯 默认启用上拉电阻,一般不需要外接。

如何启用?
sudo raspi-config # → Interfacing Options → I2C → Yes

然后安装工具检查设备是否存在:

sudo apt install i2c-tools i2cdetect -y 1

如果看到类似683C的地址,说明设备已识别成功!

Python读取RTC时间示例:
import smbus bus = smbus.SMBus(1) address = 0x68 # DS3231默认地址 # 读秒寄存器(地址0) seconds = bus.read_byte_data(address, 0) print(f"当前秒数: {seconds & 0x7F}") # &0x7F清除高位使能位

📌 提示:I²C设备都有唯一地址,查手册确认即可。


2. SPI:高速传输之王

适合谁?
  • 高速ADC(模数转换器)
  • TFT彩色屏
  • SD卡模块
  • 无线收发模块(nRF24L01)
优点:
  • 全双工通信(一边发一边收)
  • 速率高(可达几十MHz)
  • 支持多设备(靠片选线区分)
关键引脚:
功能BCM GPIO物理引脚
MOSI(主出从入)GPIO10Pin 19
MISO(主入从出)GPIO9Pin 21
SCLK(时钟)GPIO11Pin 23
CE0(片选0)GPIO8Pin 24
CE1(片选1)GPIO7Pin 26

💡 一个SPI控制器最多支持两个设备(CE0和CE1)。更多设备需手动模拟片选。

启用方法:
sudo raspi-config # → Interfacing Options → SPI → Enable
Python示例(读取MCP3008 ADC):
import spidev spi = spidev.SpiDev() spi.open(0, 0) # bus=0, device=0 (CE0) spi.max_speed_hz = 1_000_000 # 发送3字节命令读通道0 resp = spi.xfer([1, (8 << 4), 0]) adc_value = ((resp[1] & 3) << 8) + resp[2] print(f"ADC值: {adc_value}") spi.close()

📌 注意:不同设备协议差异大,务必参考数据手册构造发送指令。


3. UART(串口):经典可靠的异步通信

适合谁?
  • GPS模块
  • 蓝牙串口(HC-05)
  • 工业PLC通信
  • 调试输出(早期树莓派日志)
特点:
  • 异步通信(无需共享时钟)
  • 波特率必须双方一致(常见9600、115200)
  • 仅需两根线:TX(发)、RX(收)
引脚映射:
功能BCM GPIO物理引脚
TXD(发送)GPIO14Pin 8
RXD(接收)GPIO15Pin 10

🔔 树莓派默认将串口用于系统控制台登录(Serial Console),如果你要用它接GPS模块,必须先关闭这个功能!

设置步骤:
sudo raspi-config # → Interface Options → Serial Port # → 是否登录shell?选 No # → 是否启用硬件串口?选 Yes

完成后,串口设备路径通常是/dev/ttyS0

Python接收GPS数据:
import serial ser = serial.Serial('/dev/ttyS0', baudrate=9600, timeout=1) while True: if ser.in_waiting > 0: line = ser.readline().decode('utf-8', errors='ignore') if line.startswith('$GPGGA'): print("定位信息:", line.strip())

⚠️ 若连接的是5V串口设备(如某些老款GPS),一定要加电平转换模块,否则会损坏树莓派!


五、实战案例:做一个环境监测站

现在我们把这些知识串起来,做个真实项目练练手。

🎯 目标:搭建一个小型环境监测终端,实时显示温湿度、光照强度,并可通过串口上传数据。

🔧 硬件清单:
- 树莓派4B ×1
- DHT11温湿度传感器 ×1
- BH1750光照传感器(I²C) ×1
- SSD1306 OLED屏(I²C) ×1
- 杜邦线若干 + 面包板

🔌 连接方案:

设备供电数据线备注
DHT113.3V + GNDGPIO4单总线协议
BH17503.3V + GNDSDA/SCL地址通常为0x23
OLED3.3V + GNDSDA/SCL共享I²C总线

📝 软件实现要点:
1. 初始化I²C总线,加载OLED库(如luma.oled
2. 用Adafruit_DHT库读取DHT11数据
3. 用smbus读取BH1750光照值
4. 将数据显示在屏幕上
5. (可选)通过UART发送到网关

💡 优化建议:
- 使用cron定时每分钟采集一次;
- 加外壳防尘防静电;
- 添加WiFi自动重连机制保障联网。


六、避坑指南:那些没人告诉你却总会踩的雷

❗问题1:I²C设备找不到?

  • ✅ 检查接线是否松动(SDA/SCL不能接反)
  • ✅ 确认已启用I²C(raspi-config
  • ✅ 查电源是否正常(3.3V够不够压)

运行i2cdetect -y 1是第一步诊断手段。

❗问题2:SPI没反应?

  • ✅ 确保spidev模块已加载:ls /dev/spidev*
  • ✅ 检查片选线(CE0/CE1)是否正确选择
  • ✅ 查看设备是否需要特定启动时序

❗问题3:串口一直收不到数据?

  • ✅ 确认关闭了串口登录功能
  • ✅ 波特率设置一致(别一边9600一边115200)
  • ✅ 电平匹配(3.3V vs 5V)

❗问题4:树莓派莫名其妙重启?

  • 很可能是电源不足或外设过载
  • 换个高质量USB-C电源(至少3A)
  • 大功率设备独立供电,只用GPIO做控制信号

最后一句话:动手才是最好的学习

你看完这篇文章,可能会觉得:“哇,东西好多,记不住。”

没关系。

真正重要的从来不是记住每一个引脚编号,而是建立一种思维方式:

“我想让某个设备工作 → 它需要什么供电?什么通信方式?有没有现成库?怎么安全连接?”

只要你掌握了这个思考框架,再复杂的项目也不怕。

所以,别再犹豫了。
找一根杜邦线,插上一个LED,运行那段闪烁代码。

当你亲眼看到那颗小小的灯按照你的意志亮起又熄灭时,你就已经是一名合格的树莓派玩家了。


👋 如果你在连接过程中遇到了具体问题,欢迎留言交流。我们一起解决,一起进步。

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

PaddlePaddle镜像在政务智能化审批系统中的应用设想

PaddlePaddle镜像在政务智能化审批系统中的应用设想 在政务服务不断迈向“一网通办”“秒批秒办”的今天&#xff0c;一个现实难题摆在面前&#xff1a;每天涌入政务大厅的成千上万份材料——身份证复印件、营业执照照片、申请表扫描件——如何快速、准确地转化为结构化数据&am…

作者头像 李华
网站建设 2026/2/4 6:33:15

系统文件d3d10warp.dll缺少无法启动应用程序 下载修复方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/2/10 10:56:57

PaddlePaddle镜像在智慧农业病虫害识别中的落地案例

PaddlePaddle镜像在智慧农业病虫害识别中的落地实践 在一片广袤的水稻田边缘&#xff0c;一台搭载AI芯片的“智能盒子”正静静地接收着来自田间摄像头的画面。不到两秒&#xff0c;系统就识别出某块区域的稻叶出现了早期斑点——这是稻瘟病的典型特征。告警信息随即推送到农户…

作者头像 李华
网站建设 2026/2/13 9:46:30

PaddlePaddle镜像在自动驾驶感知模块中的潜在应用

PaddlePaddle镜像在自动驾驶感知模块中的潜在应用 在自动驾驶系统的研发浪潮中&#xff0c;感知模块正面临前所未有的挑战&#xff1a;不仅要应对复杂多变的道路环境&#xff0c;还要在毫秒级延迟内完成高精度的目标识别与语义理解。尤其是在中国城市密集、交通标识多样、行人行…

作者头像 李华
网站建设 2026/2/7 10:09:15

【无标题】人工智能通识

实验6 体验图像生成大模型目的和要求&#xff08;1&#xff09;了解图像嵌入的概念和优势。&#xff08;2&#xff09;了解图像生成大模型的基本工作流程。&#xff08;3&#xff09;了解海内外主流图像生成大模型的基本情况。&#xff08;4&#xff09;练习体验海内外主流图像…

作者头像 李华