当前位置:首页 > 物联网 > IoT设计分享
[导读]在生产环境中,产品分类可能是一个非常困难的过程。持续的人工分拣会产生问题,并且需要大量的时间和人力。所以在本教程中,我们将使用NodeMCU-ESP8266, TCS3200颜色传感器和两个伺服电机构建一个基于物联网的颜色分选机,正如标题所说,它将根据颜色对事物进行分类。TCS3200颜色传感器负责感知物体的颜色,并使用两个伺服电机将它们放入各自的预定义颜色盒中。由于它是物联网的,每种颜色的产品数量将显示在Thingspeak控制面板上。

在生产环境中,产品分类可能是一个非常困难的过程。持续的人工分拣会产生问题,并且需要大量的时间和人力。所以在本教程中,我们将使用NodeMCU-ESP8266, TCS3200颜色传感器和两个伺服电机构建一个基于物联网的颜色分选机,正如标题所说,它将根据颜色对事物进行分类。TCS3200颜色传感器负责感知物体的颜色,并使用两个伺服电机将它们放入各自的预定义颜色盒中。由于它是物联网的,每种颜色的产品数量将显示在Thingspeak控制面板上。

出于演示目的,我们将使用硬纸板构建一个简单的颜色分类设置。盒子和设置都将在固定位置,伺服电机将用于移动分选机,将球放入相应的颜色盒子中。我们将使用ThingSpeak和ESP8266来做到这一点。我们以前使用过TCS3200颜色传感器和NodeMCU来构建一个基于物联网的货币计数器,如果你感兴趣的话,你可以检查一下。

TCS3200颜色传感器

TCS3200是一种颜色传感器,可以根据波长检测各种颜色。它使用TAOS TCS3200 RGB传感器芯片来检测颜色频率。这个传感器还包含四个白光led,可以照亮它前面的物体。TCS3200芯片有一个8 × 8的光电二极管阵列(总共64个光电二极管)。在这64个光电二极管中,16个光电二极管上有红色滤光片,16个光电二极管上有绿色滤光片,16个光电二极管上有蓝色滤光片,其余16个光电二极管上没有滤光片。

在该模块中,16个相同颜色的光电二极管并联连接。控制引脚S2和S3用于选择光电二极管阵列。例如,我们可以通过将S2和S3设置为低逻辑电平来读取红色光电二极管。完整的表格如下:

其余两个控制引脚即S0和S1用于缩放输出频率。输出频率可以缩放到三个不同的预设值2%,20%或100%。设置输出频率的引脚逻辑如下表所示:

TCS3200 RGB颜色传感器规格:

在继续之前,让我们先介绍一下这个模块的规范。该模块的工作电压为3V至5V,这意味着它可以直接与任何微控制器接口,这就是为什么它是我们的NodeMCU的完美选择,它使用3.3V逻辑电平。除了电源和地,它还有一个使能引脚E0,通过将其拉低或拉高,我们可以禁用或启用芯片。OUT引脚用于提供输出频率,S0和S1选择线选择输出频率缩放。S2和S3选择线选择光电二极管类型。在测量颜色波长后,它将结果输出为频率,因此我们可以直接测量频率并确定颜色,从而减少了ADC的干预。最后,该传感器可以在1cm的距离内精确测量被测物体。如果您想了解有关其规范的更多信息,可以查看TCS3200模块的数据表

剪色机所需材料

•NodeMCU ESP8266 (1)

•TCS3200颜色传感器(1)

•伺服电机(2)

•跳线

•纸板

•USB电源线

我们的颜色分选机电路图

基于物联网的颜色分选机的电路图非常简单,不需要复杂的连接。电路图如下:

颜色传感器供电3.3V,伺服电机供电5V。两个电机的PWM引脚分别连接到NodeMCU的D2和D3引脚上。颜色传感器的连接方式如下表所示:

设置ThingSpeak来监控分色机的进度

ThingSpeak是一个开源的物联网分析平台服务,允许您聚合、可视化和分析云中的实时数据。它可以用来控制设备,可以存储传感器数据,可以用来创建实时数据的即时可视化,并使用Twitter和ThingHTTP等网络服务发送警报。以前我们用thingsspeak构建了许多项目,比如:

太阳能Wi-Fi气象站

基于物联网的GPS跟踪器

基于物联网的车辆跟踪器

所以,如果你感兴趣的话,一定要看看这些。现在让我们通过配置将数据发送到ThingSpeak。

第一步:注册

要向Thingspeak发送数据,需要一个Thingspeak帐户。要做到这一点,请浏览Thingspeak网站。

点击右上角的“注册”选项,填写所需的详细信息。

之后,验证E-mail id并单击continue。

步骤2:创建可视化数据的渠道

现在,当您登录到您的帐户时,通过单击“新频道”按钮创建一个新频道。

点击“新通道”后,输入您想要上传的数据的名称和描述。

输入字段1、字段2、字段3和字段4中的数据名称。如果您希望使用多于两个的字段,那么您可以选中field选项旁边的框,并输入通道的名称和描述。

之后,单击“Save Channel”按钮完成通道创建过程。

Thingspeak通常以图形格式显示数据,但它也提供了使用不同小部件可视化数据的选项。要添加小部件,请单击“add Widgets”选项并选择要使用的小部件。在这个项目中,我使用的是“数字显示”小部件。

步骤3:API密钥

为了将数据发送到ThingSpeak,我们需要一个唯一的API密钥,我们将在稍后的代码中使用它将数据发送到ThingSpeak网站。

点击“API密钥”选项,获取唯一的API密钥,用于上传传感器数据。现在复制“Write API Key”。

用于控制颜色分选机的Arduino代码

基于物联网的颜色分选机的完整代码在文档的末尾给出。在这里,我们一步一步地解释完整的代码。

我们将使用Arduino IDE的ThingSpeak,所以像往常一样,第一步将包括所有必需的库。h库可以从给出的链接下载。颜色传感器可以在没有库的情况下工作,因为我们可以直接从传感器引脚读取颜色频率来决定颜色。

之后,在接下来的几行中,我们定义了ThingSpeak API密钥、通道号、Wi-Fi名称和密码,这些都是我们之前在创建ThingSpeak帐户时保存的。

然后定义伺服变量。这里我们使用两个伺服电机。第一个伺服电机用于将色球从初始位置移动到颜色传感器。第二个伺服电机用于将色球放入色桶中。

之后,定义颜色传感器引脚。

在setup()函数中,我们以9600波特初始化Serial。然后将颜色传感器引脚定义为输出引脚以读取频率值,还定义了顶部和底部伺服电机的引脚。

在loop()函数中,我们测量红色、绿色和蓝色的输入频率,并比较这些频率读数来检测颜色。控制引脚S2和S3用于读取颜色频率。例如,读取红色频率时,将两个引脚设置为低逻辑电平;读取蓝色时,将S3引脚设置为HIGH, S2引脚设置为low;读取绿色时,将S2引脚设置为HIGH, S3引脚设置为low。

在获得红色、绿色和蓝色的频率值之后,比较这些值来检测颜色。在检测到颜色后,首先,以特定的角度移动落点伺服器,使彩球掉落到相应的盒子中,然后移动拾取伺服器以传递球。每种颜色的频率值随距离而变化,可以相应地定制。识别颜色后,将检测到的颜色球的数量发送给ThingSpeak。

测试颜色分选机

一旦代码和硬件准备好了,就可以进行颜色分类设置,并安装伺服电机和颜色传感器,如下图所示:

现在将代码上传到NodeMCU-ESP8266板,您的机器准备卖空不同颜色的球。每种颜色的产品数量将显示在Thingspeak上,如下图所示:

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭