Lucent's Blog

Lucent's Blog

当时明月在 曾照彩云归


人生不相见,动如参与商。


从对话到电路:一次与 AI 的软硬件共创

从对话到电路:一次与 AI 的软硬件共创

我读书不多,却一直对机械和电子着迷。我有自己的车库,喜欢自己修车、改车,乐此不疲。我也一直向往那些既懂硬件、又懂软件的工程师:如果掌握这些技术,我就能把更多想法变成实物。

电路知识对我来说曾经像天书,很多想法也因此搁置了很久。但现在,借助AI,我做出了一个能显示电脑CPU和GPU温度的辉光管显示器。

0:00
/0:55

更准确地说,是我不断提出想法、需求和修改意见,AI帮我把这些想法转化成电路、程序和机械设计,我再去下单、装配、测量和验证。

这个过程最有意思的地方,并不只是最后两只辉光管成功点亮,而是我发现:即使不会使用专业术语、不懂电路设计,也可以开始设计并制作一件属于自己的东西。

当然,这并不是说一句“帮我做个显示器”,然后等着收成品。我们的合作,更像一场持续了很久的设计讨论。

一、从想法开始

首先,需要准备趁手的AI工具。我在这个项目中使用的是Codex,通过 MCP控制嘉立创EDA进行电路设计。

最开始,我的想法很简单:我喜欢老式辉光管橙红色的数字。

前期需求也很简单:我希望用两只IN-12A辉光管,显示电脑上的CPU和GPU温度。

我直接把这个想法告诉了AI。

我说的是自己想要的效果。至于需要什么主控、如何接收USB数据、怎样驱动辉光管、程序怎么写,我并不知道。

AI帮我把这个想法拆成几个部分:电脑端软件负责读取温度,USB负责传输数据,单片机负责接收数据并控制显示,电源电路负责提供辉光管所需的工作电压。

二、连接设计工具

设计电路板需要专业软件,这个项目选择了嘉立创EDA。配置好连接方式后,GPT可以独立操作软件,完成原理图和印制电路板(PCB)设计,编写固件与电脑端软件,并整理打样和贴片所需的Gerber制板文件、物料清单(BOM)及元件坐标文件。

我当时的接入过程分为三步。

第一步,下载并打开嘉立创EDA。

第二步,在高级设置中找到扩展管理器,搜索Run API Gateway,并参照下图完成配置。

第三步,为Codex安装用于对接嘉立创EDA的技能(Skill)。我当时让AI在GitHub上查找并下载相关技能。完成连接后,就可以用自然语言描述需求,让它协助设计PCB。它既可以通过API操作软件,也可以借助电脑操作技能(computer use)在界面中完成操作。

过程中,AI会申请所需权限,也会停下来汇报进度。我会先确认它要执行的操作,再按需要授权,并让它继续完成已经明确的任务。遇到不懂的问题,我会让它解释清楚、列出可选方案,再作判断。

三、复核设计文件

设计完成后,AI会打包工程文件。到这一步,我会让它再做2~3轮复核,检查并修正发现的问题。不过,反复自检并不意味着设计已经没有问题,后面仍要结合厂家反馈和实物测试继续验证。

拿到复核后的工程文件,我先自行登录嘉立创下单助手,再让AI通过电脑操作技能协助上传文件、填写参数和核对订单。涉及账号登录、订单确认和付款的环节,由我自己处理。

四、根据反馈调整布局

我不需要先学会所有工具,才能参与这件事。我可以先用自己的话描述需求,再通过图纸、截图和实际效果,逐步判断它是不是我想要的。

比如,我会说:“这些元器件是不是挨得太近了?”

这个问题并不是凭空担心,在你下单后,嘉立创工作人员会对你的设计做简单的检查。第一次下单时,嘉立创工作人员打电话告诉我,R20、R21、Q21、T1附近的元件相互干涉,需要修改设计。

我把反馈交给AI,它继续调整布局、检查封装和间距。后来,我看修改后的对比图,又觉得有些地方还是太紧,就继续指出:“R23和R20太近了,还有C20和U5,能不能调整一下?”

我不一定知道某条设计规则的名字,但可以把看到的问题说清楚,让AI据此检查并提出修改方案。

当然,这也让我明白,AI做出来的设计不能因为“看起来专业”,就直接认为没有问题。厂家反馈、人工复核和实物验证,一样都不能少。

五、学习打样下单

下单涉及账号登录和付款。在AI协助走完一次下单流程后,我取消了那笔订单,开始学习自己操作。这个过程中,我们的交流变得更加具体。

我会把页面截图发给它,问:“这里怎么选?”“这个元件为什么不贴装?”“这个物料缺货被替换了,替代型号能不能用?”

它帮助我理解页面中的参数,检查BOM与元件的匹配情况,区分PCB数量和贴片数量,也协助整理需要上传的文件。

这些事情对有经验的人可能很普通,对第一次做硬件的人却是一连串陌生的选择。AI的作用,是帮我理解并告诉我为什么这样选择。

六、检查样板并烧录程序

样板到货后,合作方式又变了。

AI建议我在通电前先检查PCB。但它无法替我拿表笔,也不能替我观察实物。所以我负责操作,把读数、照片和软件截图发过去;它根据这些信息,帮助我判断下一步该检查什么。

我甚至是从“哪个是蜂鸣挡”开始问起的。



烧录程序时,我把烧录工具的界面截图发过去,问该点哪个按钮。电脑端软件读不到CPU温度时,我把显示NA的界面发过去,再按照指导排查运行环境。串口列表中出现COM1、COM3、COM4时,我也需要确认应该连接哪一个。

整个过程是反复进行的小循环:我做一步,反馈结果,它再根据结果继续协助。

七、让第一版运行起来

第一版打样最明显的问题,是板子上的温度切换按钮没有正常工作。

AI给出了一个先让设备用起来的建议:“先在电脑端软件中增加CPU/GPU切换按钮。”

我采纳了这个建议。AI修改了电脑端软件,也准备了配套固件。我重新烧录程序、连接设备,最后成功通过软件切换显示内容。

辉光管成功点亮的那一刻,我的激动不亚于加加林登上太空。我告诉AI:“成功了,功能正常!”这个项目终于有了一个经过实物验证的起点。

八、继续完善功能

有了能工作的第一版,我提出的需求也越来越具体。我开始补充这些要求:

•  既能通过软件切换,也能通过硬件开关切换。

•  元器件之间要留出足够的间距。

•  按钮要方便按压,装进金属外壳后也要便于操作。

•  要模仿苏联工业风格的软件UI界面

后来,我又想到,可以在外壳上装一个三挡钮子开关:上挡显示GPU温度,中挡显示时间,下挡显示CPU温度。PCB上预留一个插座,用导线连接外壳上的开关。

AI帮我梳理这个想法涉及的硬件连接、引脚资源和程序逻辑。我们进一步约定:电脑软件默认“跟随开关”,需要从电脑切换时,再进入“软件控制”,并明确显示当前控制方式。

两只辉光管只能显示两位数字,时间该怎么显示?我提出让小时和分钟交替显示,并用闪烁区分:显示小时时闪烁,显示分钟时不闪烁。

之后又增加一个要求:不连电脑、只接电源时,也能手动调时,作为辉光钟使用。

这些功能并不是一开始就全部想好的。看到实物、开始考虑日常使用方式后,我才逐渐补充了这些需求。AI则帮助我把每一次补充落实到相应的硬件和软件修改中。

九、我与AI如何分工

回头看,我觉得自己在整个过程中最重要的工作,是持续表达“我到底想要什么”。

我未必知道具体该怎么实现,但能判断按钮是否好按、接口位置是否顺手、面板是否合理、管孔形状是否合适,以及报价是否超出预期。

AI的价值,是帮助我把这些日常语言转化成可以执行的修改,并承担大量工具操作、代码编写和文件整理工作。它也会提醒我注意一些关联:调整支撑柱的长度,会影响按钮顶杆和接口的位置;缩小USB Type-C接口的开孔,还要确认数据线插头能否插到底。

不过,最后的判断仍然要回到实物上。

目前,第二版本已经实际运行成功;增加时钟、三挡开关和调时功能。外壳也在继续完善。

我没有因此变成电路专家,但已经不再觉得,只有先掌握全部专业知识,才有资格开始做东西。

我可以提出想法,画一张不那么标准的草图,认真观察、测量、追问,再借助AI把这些信息一步步变成设计。

这两只发光的辉光管,对我来说,最特别的地方就在这里:它们里面不只有电路和程序,也装着我一次次说出的“我希望它是这样”。

十、下一步与化石计划

基础功能验证成功后,接下来就是继续完善外壳。外壳设计也很能体现我和AI的合作方式。下一次,我会分享如何用AI辅助设计外壳,包括建模、选材和制作工艺的选择。

我把这个小项目命名为“化石”,希望让辉光管这种旧时代的技术继续发光。如果你喜欢复古科技,你是个雷批,或是《地铁》《潜行者》这类游戏的氛围,也许会对它感兴趣。