聚丰项目 > 基于Vishay VEML6040 的颜色识别装置的设计
此项目基于Vishay VEML6040 与NXP LPC824,进行颜色的识别,在显示屏上面进行打印,同时使LED进行相应的动作。在这里,如果将LED替换成电机,那么就会成为一个完整的物品分拣装置。
chen000000009
分享chen000000009
团队成员
chen000000009 学生
此产品的硬件框图比较简单,就是一个LPC824的最小系统,加上以下三个部分
1、Vishay VEML6040传感器,作为采集装置
2、核心为LPC11U35的下载器,固件为CMSIS-DAP
3、显示屏一个
硬件具体情况请参考
http://bbs.elecfans.com/jishu_1121001_1_1.html
软件是根据世平集团给出的例程进行修改,例程的解析请参考http://bbs.elecfans.com/forum.php?mod=viewthread&tid=1121004&extra=
这块简单介绍一下算法。一般来说,光都是由三种原色组成的,三种原色为红绿蓝,其他的颜色都是由这三种光按照比例混合而成。这里我仅用六种颜色作为演示,分别为红绿蓝黄靛与品红,它们的组成情况如下
由此可以看出,只要以1/3比例作为分界点,就能定义出这六种颜色。比方说红色大于红绿蓝之和1/3,绿色蓝色小于红绿蓝之和1/3,那么就是红色;红色小于红绿蓝之和1/3,绿色蓝色大于红绿蓝之和1/3,那么就是靛色。
点灯的代码为void Board_LED_Set(uint8_t LEDNumber, bool State);,事实上,这个代码可以用来操控任何一个普通的GPIO口,只要去开发板定义那里将LEDNumber映射到相应的IO口即可。
最终还是以LED模拟电机进行演示。
最后的演示效果如下,笔者这里只演示黄色的,就是在识别到黄色时,LED会闪烁一下,每检测一次就会闪烁一次
furui777: chen000000009,你好!我看了你的设计非常好,我想给你题个建议,看你可想做,可以开发一个垃圾自动分拣系统,是在垃圾处理站,我手上有项目,可以加540653078的QQ
回复