我拿到一块 STM32、一个 OLED、两个按键和几颗 LED 时也很容易先拿杜邦线开始插。灯也许能亮屏幕也许能显示但线一多问题就开始出现哪根线是电源哪根线只是信号红色电源轨真的天然就是 3.3V 吗为什么有的模块必须共地接线就是连线。接线是把一组有电压、有电流、有信号要求的模块按照它们的资料接到一起。顺序弄反了后面每一根线都可能是在补救前面的误判。先数一遍要用哪些东西模块要完成的事情STM32 最小系统板运行程序提供 GPIO 和 3.3V 电源OLED显示数值和按键状态按键 A、B给程序两个输入信号三颗 LED显示三位二进制状态面包板和杜邦线临时搭建电路这张表看起来很简单却已经告诉我们很多事OLED 需要电源和两根通信线按键需要输入线和回路LED 需要输出线和回路是否还要外接电阻要看 LED 或模块本身的电路。没有列出来的线不会凭空出现没有确认过的电压也不能凭颜色猜出来。面包板里面到底连了什么常见面包板中间有一条凹槽。凹槽两侧的孔互不相通每一侧通常是“五个孔横向相通”中间凹槽 a b c d e | f g h i j o--o--o--o--o | o--o--o--o--o 第 5 行 o--o--o--o--o | o--o--o--o--o 第 6 行把芯片跨在凹槽上是为了让芯片两排引脚分别落在左右两组互不相通的孔里。要是芯片没有跨过凹槽某些相邻引脚反而会被面包板内部直接短接。面包板两侧的长条通常被叫作电源轨常见标记是红色和蓝色。这里有一件必须记住的事红色和蓝色只是印刷标记不是电压。红色电源轨只有在你用导线接到 3.3V 后才是 3.3V蓝色电源轨只有在你接到 GND 后才是 GND。它们断电时什么也不是接错时甚至可能变成危险的电源线。有些面包板的电源轨在中间断开左右两段并不相通。看到一条连续的红线也不要直接假定整条都导通。用万用表通断档测一下或者沿着面包板背面的铜箔确认几分钟能省掉后面很久的排查。最小系统板上的PB5、PB6是真实的 STM32 引脚。当前这套接线把它们分别接到 GND 和 3.3V我没有把 PB5、PB6 当成电源输出只是这块板子的插针位置、模块插头和走线方向刚好这样接最顺手。当前实验没有用到 PB5、PB6 的 GPIO 功能所以它们可以承担这两根方便的电源引线换成别的板子时仍要先看原理图和引脚是否被占用。先把电源关系画出来小车真正复杂的地方往往不是信号线而是供电。常见的电源关系可以先画成这样12V 电池 | ---- 电源开关 ---- 降压/电源分配模块 | ---- 12V 输出 ------------------ 电机驱动板的电机电源 ---- 5V 输出 ------------------- 需要 5V 的编码器/电机模块 ---- 3.3V 输出 ----------------- STM32、OLED、按键、LED 逻辑降压模块做的事是把较高的输入电压变成稳定的较低电压。12V 电池不能直接接到 STM32 的 3.3V 电源脚也不能因为“看起来只是多一点电压”就接到 OLED 上。电压过高会让芯片发热、损坏严重时还会把同一条电源网上的其他模块一起带走。有些电源模块的 12V 端子与输入端近似直通同时提供 5V、3.3V 等降压输出有些模块只有 5V 或 3.3V。12V 电池从输入端进入经过统一开关后12V 可以继续从模块的 12V 端子引出。这样做的价值不是“把 12V 降成 12V”而是让特殊电池插头只接一次并用一个开关统一控制后面的电源同时把电池输入和小车内部的杜邦线接口整理、隔离开。具体端子是否直通、开关能承受多大电流都要以模块说明书为准。下面这张表只给出常见用法最终数值仍要以手册和模块丝印为准电源常见连接需要核对的地方12V电源模块的 12V 输出再接 TB6612 的VM、L298N 的Vs等电机电源端端子是否为输入直通驱动板允许的电机电压和电流5V某些编码器、电机模块或 L298N 逻辑电源模块逻辑电平和输出电压3.3VSTM32、常见 OLED、按键上拉、LED 逻辑模块是否允许 3.3V信号是否 3.3V 容忍GND电池、降压模块、驱动板、STM32、OLED 全部共地是否真的连成同一个参考点TB6612 的VM是电机供电端逻辑电源通常另有VCCL298N 的Vs是电机供电端部分模块还有独立的逻辑电源脚。名称相似不代表可以互换接之前要在手册里确认每个脚的作用。所有逻辑模块共地是为了让“高电平”和“低电平”有同一个参考。STM32 输出 3.3VOLED 或驱动板要以同一条 GND 为基准来判断这个 3.3V没有共地信号线即使接上了也可能变成飘忽不定的电压。用当前实验走一遍接线流程现在把需求、资料和芯片资源接起来。第一步查每个模块的引脚先在模块丝印、数据手册或原理图中找到这些信息电源脚叫什么允许多少电压GND 在哪里是否必须与主控共地信号脚是输入还是输出是否需要上拉或下拉通信接口需要几根线是否有固定引脚电机或继电器等负载的电源是否与逻辑电源分开。当前 OLED 使用四针脚接口VCC、GND、SCL、SDA。按键是一个把输入脚接到 GND 的开关。LED 由 STM32 输出脚驱动再接回 GND是否需要额外电阻要看具体 LED 和模块结构。第二步分配 STM32 资源把模块需求写成一张资源表再决定用哪些引脚功能STM32 资源原因OLED SCLPB8软件 I2C可由 GPIO 主动翻转OLED SDAPB9软件 I2C 数据线按键 APB11GPIO 输入内部上拉按键 BPB1GPIO 输入内部上拉LED 0/1/2PC13/PC14/PC15GPIO 输出显示三位状态分配时要同时看后面的计划哪些定时器要留给 PWM哪些引脚以后要接编码器哪些脚有调试接口或特殊复用功能。现在能亮不代表以后资源不会冲突。把引脚表保存下来比把记忆寄托在一堆彩色线缆上可靠得多。STM32CubeMX可以做到图形化配置我暂时不开展HAL库可以自行探索一下把资源表再展开一层就是实际的连接清单模块引脚连接到说明OLED VCC3.3V 电源轨先核对模块是否支持 3.3VOLED GNDGND 电源轨与 STM32 共地OLED SCL / SDAPB8 / PB9软件 I2C 的时钟和数据按键 A 一端PB11配置为内部上拉输入按键 A 另一端GND按下时形成低电平按键 B 一端PB1配置为内部上拉输入按键 B 另一端GND与按键 A 的接法相同LED 0/1/2 正极PC13/PC14/PC15当前这组低电流 LED 按现有接线直接使用LED 0/1/2 负极GND三颗灯共用参考地这里沿用实验板上的低电流 LED实物就是直接接在PC13、PC14、PC15上使用。不同 LED 模块的内部结构不一定相同有的自带电阻有的工作电流本来就很小换成裸 LED、大功率灯珠或其他模块时要重新查看资料确认 GPIO 电流不会超限。手册里对这三个脚还有一条硬限制不能作为电流源驱动 LED。这个接法是出规格的但是我做过没问题想知道细节可以看第一盏灯那一篇里那段说明。无论哪种情况都不要让这三个引脚直接带继电器、电机或其他大负载。第三步先接电源再接信号在这个实验里先把 STM32 的 3.3V 和 GND 引到面包板电源轨。由于最小系统板上的PB5、PB6正好靠近 OLED 插针且当前需求没有使用这两个 GPIO可以把 PB5 接到 GND、PB6 接到 3.3V短线引出 OLED 的两根电源。这样接是结构和资源分配共同决定的便利方案不代表 PB5、PB6 天生带有固定电压换板或换模块时必须重新核对。然后接 PB8、PB9 到 OLED 的 SCL、SDA再接按键和 LED。每接完一组就对照资源表检查一次这根线连接的是哪个模块、哪个引脚、哪一种电压回路是否完整。按键使用内部上拉时按键另一端接 GND松开读到高电平按下读到低电平。OLED、STM32 和按键的 GND 要连在同一条地线上。LED 是否需要额外串联电阻取决于 LED 本身和模块电路先看手册和实物不要只凭颜色或经验判断。第四步上电前做一次检查上电前至少做四件事心大可以不做自信用万用表确认 3.3V 轨和 GND 轨之间没有短路确认 OLED 的 VCC 没有插到 12V确认 LED 的接法与模块资料一致是否需要额外电阻已经核对过确认每个模块的 GND 都回到了公共地。第一次给小车上电时电池和电机最好分开测试。先只给控制板、OLED 和按键供电确认 3.3V 稳定、程序能运行再接电机驱动和大电流负载。这样即使电机电源或降压模块有问题也不会把故障范围扩大到整辆车。杜邦线和 PCB 各自适合什么面包板加杜邦线适合验证思路引脚还能调整模块还能替换接错了可以马上拔下来重来。它不适合长期承受电机振动、大电流和反复插拔接触不良会让故障变得毫无规律。电路确认后再把固定连接画成原理图和 PCB。PCB 走线时电源线要按电流选择宽度地线要有清晰回路电机电源和逻辑电源尽量分区信号线不要绕着大电流开关节点走。杜邦线解决的是“先让它工作”PCB 解决的是“让它长期稳定工作”。以后拿到新的模块仍然按同一顺序做列出需求 - 查手册和丝印 - 记录电压、电流、引脚作用 - 分配 GPIO、定时器、ADC、通信接口和中断 - 检查冲突与共地 - 面包板/杜邦线验证 - 原理图和 PCB 固化最后橘猫说接线真正要解决的不是“这根线插哪个孔”而是让每个模块在正确的电压下通过明确的信号线和共同的参考地按照已经分配好的芯片资源协同工作。面包板的孔位、红蓝电源轨、杜邦线和 PCB 都只是实现这个决定的工具。最后蜘蛛说感觉又回到了高中的电路题啊。
企业数字化 ERP 产品动态
相关推荐
虚幻引擎5.8 Nanite内存优化:节省3GB显存实战 1. 虚幻引擎 5.8 的 Nanite 优化到底改了什么虚幻引擎 5.8 这次在 Nanite 上的改动,说实话,是我最近几个版本里看到的最“解渴”的一次更新。之前用 5.3、5.4 做项目的时候,Nanite 虽然能把几何细节拉满,但内存占用一直是个绕不过… · 2026/9/26 4:13:50
LangSmith基本使用 1、LangSmith概述
1.1 什么是LangSmith?
LangSmith 是 LangChain 生态系统中专门用于 LLM(大语言模型)应用调试、监控、评估和管理 的平 台。 🔍 追踪(tracing):记录每次 LLM 调用的详细信息 📊 监控(monitoring)&… · 2026/9/26 4:13:50
长期生酮饮食伤心脏?机制解析与护心自救底线 生酮群里的打卡记录往往分两种:一种是体重秤的数字持续下滑,配一张满足的餐盘;另一种是同一个ID过几周又冒出来,问“最近心慌得厉害、早搏也变多了,还在坚持生酮,要不要紧”。大多数回答是:你是… · 2026/9/26 4:56:27
16V磷酸铁锂电池串数选择:不是数学题,而是工程判断题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 4:56:27
Linphone图片中转服务lft.php从原理到部署避坑指南 简介:面向Linphone局域网或私有服务器部署场景,压缩包内提供重写后的图片消息中转服务端lft.php源码,解决自定义部署中依赖官方服务器中转带来的外网依赖问题,适合需要在隔离网络或自有服务器上搭建安全可控通信环境的开发与运维人… · 2026/9/26 4:56:08
Git Rebase底层逻辑与实战:提交历史重写、冲突解决与工作流优化 做开发这些年,我见过太多人在提交历史上栽跟头。早上刚把分支推到远端,下午想同步 main 分支的最新代码,随手执行一次 merge,提交树立刻变成了一张密密麻麻的蜘蛛网。review 的人面对几十个提交节点根本分不清哪个提交对应哪个需求… · 2026/9/26 4:56:08
红外电力设备检测:YOLO数据集标注、训练避坑与GUI封装 简介:一套聚焦红外场景的电力设备检测系统,面向电力工程专业学生、算法开发者及设备运维人员,用于电力设备异常状态的自动识别与实时监测。资源包含已经预处理的1000张红外电力设备图像及标签,YOLO11与YOLOv8训练好的模型、模型训… · 2026/9/26 4:56:08
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46