系列目录
2. 过程帖【本贴】,动手时刻
3. 成果帖, 来吧展示
开发环境搭建
前期验证传感器的时候是直接用 Thonny 编辑器,它默认和 uf2 模式的 micro-python 环境可以直接交互。
但是有个明显的缺点:不能自动补齐以及错误提醒。
看到 CircuitPython 文档中推荐使用 MuEditor 编辑器 https://codewith.mu/en/download, 果断采用。因为看到它可以自动补齐。(奈何网络太差 github 下载要50分钟)
安装后的初始化界面:

下载代码过程:

电路模块安排以及焊接过程
考虑到把输入输出都集成到一个模块里面会比那排线连接方便调试, 避免出现连接不稳定的情况, 于是把 除了 ESP32 以外的器件都放在了一起, 使用洞洞板拖锡完成线路板和模块的组织。
一个机灵想拿着网线作为这个模块和 ESP32 的连接, 这样我就可以随意挥动采样颜色。算了下,只要把彩色传感器的频率选择用排针连接, 八根连接到 MCU 刚好就够了。
拖了5个工作日,这个周六再次拾起了电子协会的时候的手艺,以及差不多十多年没这么拖锡了,洞洞板也是老古董,没想到还能派上用场。




来个包装之前的合影


不过突然想起包装前还是得老实确认下有手动焊接的电路板是否有虚焊或者短路, 最后把选择频率和电源的排线给连出来。


顺便物尽其用, 把得捷提供的元器件外包装也用上了。给两个模组给包装了下,如下, 这样我就不用担心焊锡里面的重金属了。
外设模块来个特写

ESP32 包装后来个特写:

实践感悟
编程感悟
1. board 中包含的 pin 脚名字

2. 按钮状态获取, 按钮是拉高的状态,所以默认是 True

3. 颜色传感器的 S0/S1 默认是拉高,所以不需要单独设定,默认全速输出颜色对应的频率,使用 LED 补光可以降低外部环境光对数值的影响
4. 使用 frequency 可以很方便的实现很迅速的获取颜色频率
5. python 语法问题怀疑到人生
a. 类型误写成 def, 导致 __ init__ 的参数不能被识别
b. 类的方法忘记写 self, 导致 类的函数作为 callback 传递的时候总是报 function 传入了多余的一个参数(python 用 self 调用方法会默认导入 实例参数)
c. 类的指针赋值给父类的时候 *arg, 没有正常使用*arg 传递,导致 arg 深度递增.
DIY感悟
1. 太久没动手,真容易出错
ESP32 原本送了两排排针,需要裁剪使用,我竟然算错数量,最后拆分成多份拼接使用的。
在焊接 ESP32 的母座的时候,因为母座不够所有做了个决定:不需要用到的引脚不给安排。本来想的不错。焊接完成,安装 ESP32 的时候发现 竟然是按照 ESP32 正面朝下的形式给焊接的,最后只能用吸锡器,一个个引脚过一遍,卸下一排后偏移一下, 没曾想洞洞板太古老,焊盘全部脱离了。
焊接过程尝试多次,效果在废了好几个焊盘后才勉强能接受。
2. 外包装简单点也不错,只可惜没有拿尺子去裁切,最后影响美观,下次有时间再尝试用工具。
我要赚赏金
