ESP32 电路接线图拆解

I2C / GPIO / VCC / GND -- 逐模块讲清楚每一根线的意义
01这张图整体是干什么的? 02I2C 通信协议 -- 两根线搞定一切 03GPIO 引脚 -- 可编程的万能接口 04VCC 与 GND -- 供电的基本常识 05逐模块拆解接线 06完整工作流程 07接线避坑规则 08我的零件清单 & 电路对应 09扩展项目:用这些零件搭完整系统
1这张图整体是干什么的?
先看全局,再拆细节。
ESP32 电路接线图
ESP32 + OLED + 传感器 + 驱动模块 完整接线图
一句话总结

这是一个基于 ESP32 的「传感器检测 + 屏幕显示 + 驱动输出」系统。ESP32 是大脑,读取传感器的信号,在 OLED 屏幕上显示出来,同时控制外部模块做出响应。

STEP 1
传感器检测
感知振动/信号
STEP 2
ESP32 读取
处理数据
STEP 3
OLED 显示
波形/柱状图
STEP 4
驱动输出
马达/蜂鸣器

图中有几类东西?

一个核心 -- ESP32 开发板(中间的大黑板子),所有模块都以它为中心连接。
一个显示 -- OLED 屏幕(上方小屏幕),用 I2C 协议通信。
两个输入 -- 传感器模块(右侧),给 ESP32 提供检测信号。
一个输出 -- 驱动模块(右下),ESP32 控制它来驱动马达/蜂鸣器。

2I2C 通信协议 -- 两根线搞定一切
I2C 读作 "I 方平方 C",全称 Inter-Integrated Circuit,由飞利浦(现 NXP)开发的一种简单、双向、两线制同步串行总线协议。
核心概念

什么是 SDA / SCL?

I2C 只需要两根线就能让设备之间交换数据。这两根线各有分工:

缩写全称作用
SDA Serial Data Line 串行数据线 -- 传输实际数据(比如要显示的内容、命令字节)
SCL Serial Clock Line 串行时钟线 -- 同步通信节奏,保证收发不乱套
生活类比:SDA = 说话的内容("屏幕上画个柱子,高度 50")。SCL = 打节拍的信号("1、2、3,我说完一句,你就听一句")。没有节拍,接收方就不知道什么时候该听。

为什么 OLED 要用 I2C?

如果不用 I2C,控制一块屏幕可能要接 10+ 根线(并行接口),既麻烦又占引脚。I2C 的好处:

省引脚 -- 只需要 SDA + SCL 两根线,就能挂载多个设备(屏幕、传感器都接同一组线上)。
通用标准 -- 几乎所有小型 OLED、传感器都支持 I2C,接线逻辑固定。
接线简单 -- SDA/SCL 接到 ESP32 指定引脚,再加 VCC (3.3V) 和 GND 就行。

接线对应关系

线色信号接 ESP32 引脚作用
绿色SDAGPIO8数据线,传显示内容
紫色SCLGPIO9时钟线,同步节奏
红色VCC3.3V供电正极
黑色GNDGND公共地线

对应的代码

代码里必须和接线一致,否则屏幕不会亮:

// 初始化 I2C,指定 SDA=GPIO8,SCL=GPIO9 Wire.begin(/*SDA=*/8, /*SCL=*/9);

这句代码告诉 ESP32:"GPIO8 当数据线,GPIO9 当时钟线"。

3GPIO 引脚 -- 可编程的万能接口
理解了 GPIO,就知道 ESP32 怎么和外部世界打交道。
定义

GPIO = General Purpose Input/Output

翻译过来就是「通用输入/输出引脚」。它是 ESP32 开发板上的一个个可编程接口,功能由你写的代码决定。

两种工作模式

输出模式 ESP32 通过它输出高电平 (3.3V) 或低电平 (0V),用来控制 LED 亮灭、马达启停。

输入模式 ESP32 读取外部电压信号(比如按键按下、传感器变化),来感知外部世界。

生活类比:把 ESP32 想象成一个公司,GPIO 引脚就是一个个员工。每个员工都有编号(GPIO8、GPIO9...),公司(你的代码)给员工分配任务:让 8 号员工当「快递员 SDA」,传递数据文件;让 9 号员工当「闹钟 SCL」,提醒大家同步节奏。

GPIO8 为什么接 SDA?

GPIO 引脚的功能不是固定的。你可以让 GPIO8 做普通数字输出(控制 LED),也可以让它做 I2C 通信的数据线(接 SDA),甚至让它做模拟输入(读电压)。在这张图里,GPIO8 被代码定义为 I2C 的 SDA 引脚。

为什么是 GPIO8/9,不能用别的吗?

理论上 ESP32 的大部分 GPIO 都可以当 I2C 引脚(这叫「软件模拟 I2C」)。选 GPIO8/9 通常因为:

开发板设计 -- 很多 ESP32 开发板把这俩引脚作为默认 I2C 接口预留,接线方便。
避免冲突 -- 有些引脚有特殊用途(GPIO0 是下载模式引脚,GPIO2 常接板载 LED),用 8/9 更稳定。
教程通用 -- 网上大量示例代码用这组引脚,照着接就能跑通。

这张图里 GPIO 的分配

GPIO 编号连接的模块模式作用
GPIO5驱动模块输出发信号控制马达/蜂鸣器
GPIO7振动传感器输入读取振动检测信号
GPIO8OLED SDAI2C 数据I2C 通信的数据线
GPIO9OLED SCLI2C 时钟I2C 通信的时钟线
GPIO10压电传感器输入读取压电片振动信号
4VCC 与 GND -- 供电的基本常识
每一根电源线都不是随便接的,有严格规则。
VCC

Voltage Common Collector -- 电源正极

给模块供电,有电才能工作。这块电路统一接 3.3V,不能接 5V,会烧坏零件。
切记:OLED 屏幕等模块的 VCC 只接 3.3V,接错可能直接烧毁。

GND

Ground -- 公共地线

电流必须走一圈才通(从正极出发,经过负载,回到负极)。GND 就是电流回家的路。所有模块的 GND 必须连在一起,信号才不乱、设备才正常。

生活类比:VCC = 水管进水口(水从这来)。GND = 水管出水口(水从这走)。缺一个,水就不通,设备不干活。

固定接法(背下来)

信号线色习惯接到 ESP32 哪里说明
VCC 红色线3.3V 引脚供电正极
GND 黑色线GND 引脚公共地线
5逐模块拆解接线
点击每个模块展开详细接线说明。
OLED 显示屏
I2C 接口,显示波形/柱状图,让振动信号可视化

0.96 寸 OLED 屏幕(SSD1306 驱动),分辨率 128x64,I2C 接口。把振动强度用柱状图或波形显示出来,让你直观看到传感器数据。

线色引脚名接 ESP32全称 & 作用
绿SDAGPIO8数据线,传显示内容给屏幕
SCLGPIO9时钟线,同步通信节奏
VCC3.3V供电正极(不可接 5V)
GNDGND公共地线
一句话:OLED 就是机器人的「脸」,通过 I2C 两根线(SDA/SCL)从 ESP32 拿到要显示的数据,再配上电(VCC/GND)就能亮起来。
压电陶瓷片 / 传感器
振动检测输入,被敲击时产生微弱电信号

压电陶瓷片就像一个微型发电机 -- 被振动或敲击时,OUT 引脚会输出随振动变化的电压信号,ESP32 读取这个电压就能判断振动强度。

线色引脚名接 ESP32作用
OUTGPIO10输出振动信号给 ESP32 读取
GNDGND公共地线
一句话:它就是个「感受器」,感受到振动就通过 OUT 线告诉 ESP32 "有东西在动"。
振动传感器模块(蓝色板子)
另一种振动检测方式,输出标准高低电平

这是一个标准振动/敲击检测模块,和压电片是两种不同的输入方式。它输出的是数字信号(高低电平),更容易读取。图中同时接了两种传感器,实际使用选一个就够了。

线色引脚名接 ESP32作用
OUTGPIO7输出检测信号
VCC3.3V供电
GNDGND公共地线
驱动模块 + 马达/蜂鸣器
ESP32 控制的输出端,给用户触觉/听觉反馈

ESP32 通过 GPIO5 输出高低电平信号,驱动模块收到后启动马达或蜂鸣器。比如检测到敲击就震动一下,给出触觉反馈。

线色引脚名接 ESP32作用
INGPIO5接收 ESP32 的控制信号
VCC3.3V供电
GNDGND公共地线
一句话:ESP32 是大脑,这个模块是「手脚」。大脑下指令(GPIO5 发信号),手脚就动起来(马达转、蜂鸣器响)。
ESP32 开发板(核心大脑)
所有模块的中心枢纽,负责供电、读取、控制

ESP32 是整个系统的核心。它做的事情:

职责说明
供电通过 3.3V 和 GND 引脚给所有模块提供电源
读取输入通过 GPIO7/10 读取传感器信号,判断振动强度
驱动显示通过 GPIO8/9 (I2C) 把数据发送给 OLED 屏幕显示
控制输出通过 GPIO5 发信号给驱动模块,控制马达/蜂鸣器
6完整工作流程
从通电到响应,一步一步走。
1
上电 -- ESP32 通电启动,通过 3.3V 和 GND 给所有模块供电。此时各模块进入待命状态。
2
检测输入 -- 压电片或振动传感器被触发,产生电压信号,通过 OUT 引脚传到 ESP32 的 GPIO7 或 GPIO10。
3
数据处理 -- ESP32 读取 GPIO 上的电压值,计算出振动强度。这是代码中的核心逻辑。
4
屏幕显示 -- ESP32 通过 I2C (GPIO8 SDA + GPIO9 SCL) 把数据发送给 OLED,显示成柱状图或波形。
5
反馈输出 -- 如果振动强度超过设定值,ESP32 给 GPIO5 输出高电平,驱动模块收到信号后启动马达或蜂鸣器。
7接线避坑规则
四条铁律,违反任何一条都可能烧零件或跑不通。

规则 1:电压统一

所有模块的 VCC 都接 3.3V,不能接 5V。ESP32 和大部分外设模块都是 3.3V 逻辑,接 5V 可能直接烧毁。

规则 2:共地原则

所有模块的 GND 必须和 ESP32 的 GND 接在一起。如果某个模块的 GND 没接,信号会乱飘,设备表现异常甚至完全不工作。

规则 3:接线与代码必须对应

比如 OLED 的 SDA 接了 GPIO8,代码里就要写 Wire.begin(8, 9)。接线换了但代码没改(或反过来),屏幕不会亮。

规则 4:传感器二选一

压电片和蓝色振动模块都是检测输入,图里同时画了两种接法,但实际使用时选一个就够。同时接两个没有意义,还会增加接线复杂度。

速查表:所有引脚接线一览
ESP32 引脚线色目标模块目标引脚信号类型
GPIO5驱动模块IN数字输出
GPIO7振动传感器OUT数字输入
GPIO8 绿OLEDSDAI2C 数据
GPIO9OLEDSCLI2C 时钟
GPIO10压电传感器OUT模拟输入
3.3V所有模块VCC电源
GND所有模块GND地线
8我的零件清单 & 电路对应
我实际买的零件,和电路图里每个模块一一对应。
我的零件清单截图
淘宝订单截图 -- 20 多块钱搞定全部零件
有源蜂鸣器 x2 -- 0.4 元/个
对应电路图:反馈输出设备(和振动马达同级)

是什么:通电就响的圆形发声器件,"滴-滴-滴" 声音输出。3V/5V/12V 都能工作,这里用 3.3V 供电。

在项目里的角色:声音版的「触觉反馈」。检测到振动/敲击时,除了马达震动,蜂鸣器还能响一声,双重提醒。

接线方式:和马达类似 -- 正极接 VCC (3.3V),控制脚接 ESP32 的 GPIO 引脚,用高低电平控制响不响。

生活类比:蜂鸣器 = 汽车喇叭。ESP32 按一下喇叭(GPIO 输出高电平),它就叫一声。
震动马达电机模块 x1 -- 1.6 元
对应电路图:振动马达模块(右下黑色模块)

是什么:扁平振动马达 + 驱动电路的小模块。收到信号就震动,手机震动就是它。

在项目里的角色:就是电路图里那个驱动模块。给你触觉反馈,检测到敲击就震动一下。

接线方式:和电路图完全一致 -- VCC 接 3.3V,GND 接 GND,IN 脚接 ESP32 的 GPIO5。

引脚名接到哪里作用
INESP32 GPIO5接收控制信号
VCC3.3V供电
GNDGND公共地线
ESP32-C3 开发板 + 扩展板 -- 9.3 + 7 = 16.3 元
对应电路图:中间的核心大脑 ESP32

是什么:ESP32-C3 SuperMini 开发板,自带 WiFi/BLE,是整个项目的控制中心。扩展板把引脚都引出来,方便接线。

在项目里的角色:就是电路图中间那块核心板子。读取传感器信号、控制屏幕显示、驱动蜂鸣器和马达,全靠它。

扩展板的好处:开发板本身引脚很密,扩展板把每个引脚都「翻译」成排针座,像电路图里那样用杜邦线直接插就行,不用自己焊接。

注意:这个是 ESP32-C3,和电路图里的 ESP32-S3 是不同型号。C3 引脚数量少一些,但核心功能(GPIO、I2C)完全一样,这个入门项目完全够用。

触摸按键模块 (TTP223) x2 -- 0.7 元/个
对应电路图:额外的输入模块(振动传感器同级)

是什么:电容式触摸开关模块,手指碰一下就触发。比机械按键灵敏,不需要按下去,碰到就行。

在项目里的角色:额外的输入模块,和振动传感器是同一类东西。可以加到项目里实现更多交互:

  • 触摸一下,开启振动检测;再摸一下,关闭检测
  • 触摸时马达震动 + 蜂鸣器响,做一个「触摸反馈」效果
  • 把两个按键分别接不同 GPIO,做模式切换

接线方式:和振动传感器完全一样的模式 -- VCC 接 3.3V,GND 接 GND,OUT 接 ESP32 的任意 GPIO。

引脚名接到哪里作用
OUTESP32 任意 GPIO输出触摸信号
VCC3.3V供电
GNDGND公共地线
生活类比:触摸按键 = 电梯门的感应器。手一靠近就触发,不需要用力按。

花费总览

零件单价数量小计
有源蜂鸣器0.4 元20.8 元
震动马达模块1.6 元11.6 元
ESP32-C3 开发板9.3 元19.3 元
ESP32-C3 扩展板7 元17 元
触摸按键模块0.7 元21.4 元
合计20.1 元
9扩展项目:用这些零件搭一个完整系统
比原始电路图更丰富的版本 -- 三重反馈 + 触摸控制。

系统架构

用你手里的零件,可以搭一个比原始电路图更完整的系统:

INPUT
输入层
触摸按键 (TTP223)
振动传感器(可选)
PROCESS
处理层
ESP32-C3
读取 + 判断 + 决策
OUTPUT
反馈层
OLED 显示
马达震动
蜂鸣器发声

完整接线方案

ESP32 GPIO连接设备功能类型
GPIO5震动马达模块 IN控制马达震动输出
GPIO6蜂鸣器控制脚控制蜂鸣器发声输出
GPIO7触摸按键 1 OUT读取按键 1 信号输入
GPIO8OLED SDAI2C 数据线I2C
GPIO9OLED SCLI2C 时钟线I2C
GPIO10触摸按键 2 OUT读取按键 2 信号输入
所有模块 VCC → 3.3V   |   所有模块 GND → GND

交互设计思路

1
触摸按键 1 = 系统开关 -- 摸一下开启振动检测模式,OLED 显示 "ON";再摸一下关闭,显示 "OFF"。
2
触摸按键 2 = 模式切换 -- 在不同反馈模式间切换:只震动 / 只响铃 / 震动+响铃。
3
振动触发 = 三重反馈 -- 检测到振动时,OLED 显示波形 + 马达震动 + 蜂鸣器响,同时从三个维度给出提醒。