机器学习驱动的颜色检测器

木易
转载
发布时间: 2025-06-09 21:23:07 | 阅读数 0收藏数 0评论数 0
封面
今天,我将向您展示如何使用您(可能)已经拥有的廉价部件创建颜色检测器!该项目对于仓库和工厂的自动化非常有用,您只需要知道某物是红色、黄色还是其他颜色。

准备工作:

材料:

材料名称
数量
备注
红色、绿色、蓝色和黄色LED
1
micro SD卡模块
1
micro SD卡
1
LED灯座
4
母头引脚
1
跳线
若干
记号笔
1
PCB支架
1
确保适合原型板大小
拨动开关
1
按键
1
线性电位计
1
Arduino Nano
1

工具:

工具名称
数量
备注
烙铁
1
钻头
1
砂纸
1
钳子
1
剪线钳
1
1

修改外壳

拿起您的导管本体,决定盖子上的按钮、开关、显示器和电位计的布局。使用夹子或虎钳固定盖子,并为组件钻出粗略的图案。将孔弄到合适的大小后,用锉刀或一些砂纸进去,把边缘弄平。我们希望组件紧密贴合,但如果您不小心将孔弄得太大,可以将它们粘合到位。我们还需要为我们的 LED 创建一个圆形原型板。使用导管,用记号笔在 protoboard 上画一个圆圈。拿一把切割钳,在标记周围剪一个粗略的圆圈,用锉刀将边缘弄平。

2

制作主电路

对于这部分,我们使用两个相同的原型板。我们的第一个将很简单,只有显示屏和按钮。对于显示器,将接地线连接在一起。我只有地线连接到显示器上。其他引脚将通过母跳线直接连接到。对于按钮,只需要两根电线,因为我们将在 Arduino 上使用内部上拉电阻器。为了更容易地将两半连接在一起,我使用了跳线。通过将电线切成两半(一个公端和一个母端),我们可以使用它来对我们的连接点进行颜色协调。在第二块板上,我们需要母头引脚和 micro SD 卡模块。我决定让 micro SD 卡模块和 Nano USB 连接在原型板上朝向相同的方向。原因是我可以将它们都面向导管中的另一个孔放置,并且易于访问。确保您有足够的空间放置焊锡丝,因为这个项目中有很多。

颜色的搭配完全取决于你,但我通常将所有正电压线保持红色,将地线保持黑色/灰色/深紫色。使用接线图确定哪些电线需要去哪里。暂时忽略 LED 和光电晶体管部分,因为我们将在下一步中介绍它。我使用的一个技巧是用于电位计,只需使用母跳线直接连接到引脚。您也可以使用 LED 执行此操作,但我不建议这样做。但是,我没有为拨动开关执行此操作。我只是将两根电线焊接到引线上,并在代码中使用另一个上拉电阻器。

3

制作LED电路

将 LED 放置在光电晶体管周围,我将 LED 的阴极(短引脚)焊接在一起,以共享一个公共接地(并减少我需要的电线数量)。我还对 LED 线进行了颜色协调,以便可以轻松地将它们连接到 Nano 的正确引脚(我使用棕色表示红色)。对于光电晶体管,我将电阻器串联在一小块原型板废料上,并将阴极引脚连接到该碎片上。电阻器的另一端接地。这些电阻器的电阻值加起来可以达到您想要的任何值,但我使用了两个 1M 欧姆电阻器和一个 470K 欧姆电阻器。随意调整总电阻,看看什么能为您的特定微控制器提供最佳、宽范围的输出。再次参考接线图,您将看到我们需要将阳极引脚连接到 5 伏,并将阴极引脚连接到模拟引脚 A4。如上所示,请务必将此电线放在电阻器之前,否则您将无法获得任何可用的读数。将所有东西焊接到位后,将圆形原型板放入导管的孔中。如果您的电路板松动,请小心地将其粘在导管上,确保没有覆盖任何 LED。最后,将 LED 灯座放在 LED 和光电晶体管上。他们应该只是卡上,但如果他们没有,你可以跳过这一步。它们有助于引导 LED 的光线,但不是必需的。

4

开始组装

使用支架,将两个原型板连接在一起。它们将充当板的支撑,将按钮和显示器推得更靠近盖子,并防止电线移动。将所有跳线连接到正确的连接处,然后将电路板滑入导管中。根据您使用的板的长度,您可能必须先将它们以一定角度滑入,零件在导管的第二个孔内。

5

训练探测器

使用下面提供的代码,我们必须拨动开关并将检测器设置为 Training Mode(训练模式),然后选择我们要将某物分类为哪个组。例如,我们将电位计转到 A,将探测器的末端放在红色物体上,然后单击按钮。我们可以对多个红色对象执行此操作,或者只对同一个红色对象执行此操作 12 次。然后我们再次将电位计转到 B 并指向蓝色的物体。对所有字母和不同的颜色重复此过程。

INO
ColorDetector_v2.ino
12.24KB
6

检测颜色

现在,您已经完全训练了检测器要检测的颜色,将开关拨回 Sampling Mode(采样模式),然后选择要检测的颜色。如果我们指向前面的红色物体并点击按钮,它会思考一秒钟并在显示屏上显示字母 A,表示我们刚刚扫描了一个红色物体。使用 SD 卡的美妙之处在于,您可以将数据直接带到 PC 并查看检测器“看到”的颜色值。这意味着您还可以保留某些颜色值,以便轻松换入和换出检测器的文件,跳过训练部分。您还可以将数据导入 Microsoft Excel 中,以绘制值并查看某些训练样本之间的总体相似性。顺便说一句,我留下了大量注释来解释代码中发生的一切!即使您不想创建自己的颜色检测器,也肯定有一些巧妙的技巧可以从它的代码中学习,例如如何节省内存和创建自己的机器学习算法!

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载