顾名思义,颜色分类就是简单地根据事物的颜色对事物进行分类。它可以通过看到它来轻松完成,但是当要分类的东西太多并且这是一项重复性任务时,自动色选机非常有用。这些机器有颜色传感器来感知任何物体的颜色,并在检测到颜色伺服电机后抓住物体并将其放入相应的盒子中。它们可用于颜色识别、颜色区分和颜色分类很重要的不同应用领域。一些应用领域包括农业(基于颜色的谷物分选)、食品工业、钻石和采矿业、回收等。应用不仅限于此,还可以进一步应用于不同的行业。
在本教程中,我们将使用颜色传感器 tcs3200、一些伺服电机和 arduino 板制作颜色分选机。本教程将包括彩球的分类并将它们保存在相关的彩盒中。盒子将处于固定位置,伺服电机将用于移动分拣手以将球保持在相关盒子中。
所需组件
arduino uno
tcs3200 颜色传感器
伺服电机
跳线
面包板
色选机械臂底盘的制作方法
为了制作包括底盘、臂、滚轮、垫子在内的完整设置,我们使用了 2 毫米厚的白色sunboard。它在固定商店很容易买到。我们使用切纸机切割 sunboard sheet 和 flexkwik 或 fevikwik 来连接不同的部分。以下是构建颜色分类臂
的一些步骤:
1)拿取防晒板。
2) 如图所示,用刻度尺和记号笔测量好所有边后,将阳光板切成小块。
3)现在将两块阳光板放在一起,然后在上面倒一滴 fevikwik 将它们粘在一起。按照图继续连接。
4) 将所有部件连接在一起后,这台色选机将如下所示:
tcs3200 颜色传感器
tcs3200 是一种颜色传感器,可以通过正确的编程检测任意数量的颜色。tcs3200 包含 rgb(红绿蓝)阵列。如图所示,在显微镜下可以看到传感器眼睛内部的方框。这些方块是 rgb 矩阵的数组。这些盒子中的每一个都包含三个传感器,一个用于感测红光强度,一个用于感测绿光强度,最后一个用于感测蓝光强度。
这三个阵列中的每个传感器阵列都是根据需要单独选择的。因此它被称为可编程传感器。该模块可以用来感知特定颜色并离开其他颜色。它包含用于该选择目的的过滤器。第四种模式称为“无滤镜模式”,其中传感器检测白光。
arduino色选机电路图
这个arduino 颜色分类器的电路图很容易制作,不需要太多连接。示意图如下。
这是色选机设置背后的电路:
对 arduino uno 进行编程以对彩色球进行分类
对 arduino uno 进行编程非常简单,需要一个简单的逻辑来简化颜色分类所涉及的步骤。最后给出了带有演示视频的完整程序。
由于使用的是伺服电机,所以伺服库是程序的重要组成部分。这里我们使用两个伺服电机。第一个伺服将彩球从初始位置移动到 tcs3200 检测器位置,然后移动到将落下的分拣位置。移动到分拣位置后,第二个伺服将使用其手臂将球落到所需的颜色桶中。请参阅最后给出的视频中的完整工作。
第一步将包含所有库并定义伺服变量。
#include 伺服拾取伺服;伺服下降伺服;
tcs3200 颜色传感器可以在没有库的情况下工作,因为只需要从传感器引脚读取频率来决定颜色。所以只需定义 tcs3200 的引脚号。
#define s0 4 #define s1 5 #define s2 7 #define s3 6 #define sensorout 8 int 频率 = 0; 诠释颜色=0;
使选择引脚作为输出,因为这将使彩色光电二极管高或低,并将tcs3200 的 out 引脚作为输入。out 引脚将提供频率。最初选择频率缩放为 20%。
pinmode(s0,输出); pinmode(s1,输出); pinmode(s2,输出); pinmode(s3,输出); pinmode(传感器输出,输入); 数字写入(s0,低); 数字写入(s1,高);
伺服电机连接在 arduino 的引脚 9 和 10。将拾取彩球的拾取伺服器连接在引脚 9 上,将根据颜色掉落彩球的下落伺服器连接在引脚 10 上。
pickservo.attach(9); dropservo.attach(10);
最初,拾取伺服电机设置在初始位置,在这种情况下为 115 度。它可能会有所不同,并且可以相应地进行定制。电机在延迟一段时间后移动到检测器区域并等待检测。
pickservo.write(115); 延迟(600); for(int i = 115; i > 65; i--) { pickservo.write(i); 延迟(2); } 延迟(500);
tcs 3200从out pin 读取颜色并给出频率。
颜色 = 检测颜色(); 延迟(1000);
根据检测到的颜色,下落伺服电机以特定角度移动,并将彩球落入相应的盒子中。
开关(颜色){ 案例1: dropservo.write(50); 休息; 案例2: dropservo.write(80); 休息; 案例3: dropservo.write(110); 休息; 案例4: dropservo.write(140); 休息; 案例5: dropservo.write(170); 休息; 案例0: 中断; } 延迟(500);
伺服电机返回初始位置,等待下一个球被拾取。
for(int i = 65; i > 29; i--) { pickservo.write(i); 延迟(2); } 延迟(300); for(int i = 29; i 65; i--) {
pickservo.write(i);
延迟(2);
}
延迟(500);
//通过调用函数读取颜色值。将结论值保存在变量
color = detectcolor();
延迟(1000);
开关(颜色){
案例1:
dropservo.write(50);
休息;
案例2:
dropservo.write(80);
休息;
案例3:
dropservo.write(110);
休息;
案例4:
dropservo.write(140);
休息;
案例5:
dropservo.write(170);
休息;
案例0:
中断;
}
延迟(500);
for(int i = 65; i > 29; i--) {
pickservo.write(i);
延迟(2);
}
延迟(300);
for(int i = 29; i < 115; i++) {
pickservo.write(i);
延迟(2);
}
颜色=0;
}
工信部推动新一代信息技术支撑服务疫情防控
iphone8什么时候上市?iphone8最新消息:iphone8和三星S8谁是今年的主角?
隔膜&Binder离子电导率测试(S系列)
首场HarmonyOS 生态见面会 阐述对HarmonyOS未来发展的不同见解
魅族PRO 6 Plus长体验: flyme6内测的那些事
使用TCS3200和Arduino UNO制作颜色分选机
基于PCI总线的高速噪声检测系统
“云”上教与学,让教育不止步于课堂
Verilog代码编辑仿真验证平台分享
丰田发布支持TNGA的动力传动系统
装修时将油烟机包进橱柜 有以下三个问题需要重视
2017年国内摄像头产业资本运作开始加速
小米宣布小爱同学5.0内测,小米 10、小米 10 Pro优先开启
【洞见芯趋势】2023年,元宇宙正迎来革命!
红色手机大PK:中国红iPhone 7,华为荣耀V9和OPPO R9s等谁更靓眼?
苹果正在努力解决iPhone电源管理芯片短缺问题
智能机器人股票有哪些_智能机器人概念股一览
蓝牙耳机哪个好?索尼WH-H810蓝牙耳机让你秒变时尚达人
高通骁龙845之后又亮出“小米”牌第一批发布5G手机的厂商
为什么人机对话很难实现