聚丰项目 > 基于Vishay VEML6040 的颜色识别装置的设计

基于Vishay VEML6040 的颜色识别装置的设计

此项目基于Vishay VEML6040 与NXP LPC824,进行颜色的识别,在显示屏上面进行打印,同时使LED进行相应的动作。在这里,如果将LED替换成电机,那么就会成为一个完整的物品分拣装置。

chen000000009 chen000000009

分享
2 喜欢这个项目
团队介绍

chen000000009 chen000000009

团队成员

chen000000009 学生

分享
项目简介
此项目基于Vishay VEML6040 与NXP LPC824,进行颜色的识别,在显示屏上面进行打印,同时使LED进行相应的动作。在这里,如果将LED替换成电机,那么就会成为一个完整的物品分拣装置。
硬件说明

此产品的硬件框图比较简单,就是一个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=


这块简单介绍一下算法。一般来说,光都是由三种原色组成的,三种原色为红绿蓝,其他的颜色都是由这三种光按照比例混合而成。这里我仅用六种颜色作为演示,分别为红绿蓝黄靛与品红,它们的组成情况如下

t01c56c3b941f6560f9.jpg

由此可以看出,只要以1/3比例作为分界点,就能定义出这六种颜色。比方说红色大于红绿蓝之和1/3,绿色蓝色小于红绿蓝之和1/3,那么就是红色;红色小于红绿蓝之和1/3,绿色蓝色大于红绿蓝之和1/3,那么就是靛色。

QQ截图20170407011332.jpg

点灯的代码为void Board_LED_Set(uint8_t LEDNumber, bool State);,事实上,这个代码可以用来操控任何一个普通的GPIO口,只要去开发板定义那里将LEDNumber映射到相应的IO口即可。

QQ截图20170407011343.jpg


最终还是以LED模拟电机进行演示。

演示效果


最后的演示效果如下,笔者这里只演示黄色的,就是在识别到黄色时,LED会闪烁一下,每检测一次就会闪烁一次






评论区(1 )
  • furui777: chen000000009,你好!我看了你的设计非常好,我想给你题个建议,看你可想做,可以开发一个垃圾自动分拣系统,是在垃圾处理站,我手上有项目,可以加540653078的QQ

    回复