8016| 3
|
【I2C颜色识别传感器试用】+颜色迷宫 |
非常不好意思,本来早该完成的作业,由于搬办公室和空间装修等一些原因,拖到了现在,但是无论如何,什么理由,都要在春节前完成作业。2017年的事情拖到了2018年,再怎么也不能把鸡年的事情拖到狗年了:$ 言归正传,拿到I2C颜色识别传感器 - TCS34725的时候是在2017年的12月份,包装一如既往的好,其他朋友的帖子里都有描述,就不再啰嗦了。还有我喜欢的就是DF快递外包装的塑料袋,仔细看,上面印刷有电阻、电感、电容等各种元器件的剪影,设计的非常不错。橙色也是我喜欢的颜色,没舍得扔,留了下来。 我的设计本来是用颜色识别传感器颜色迷宫,通过用颜色识别模块做一个可以识别地面颜色来自动行驶的小车。最终做一个盲杖的项目,可以帮助盲人在偏离盲道的时候即使得到提醒,以免发生危险。但仔细读了文档之后,发现传感器的有效识别距离是3~10mm,实际应用效果不知道怎么样。不管怎么样,先从项目原型开始做起。首先需要对传感器进行测试,取得实验数据,以便展开后面的工作。 需要主要物品清单: 主控板: DF Romeo V1.2 传感器:I2C颜色识别传感器 - TCS34725 RGB模块:(手头有makeblock的模块,直接用杜邦线临时连接) USB线: 色卡:(手头没有标准色卡,就先用儿子的靶纸测试) 硬件准备好,下面就该写程序了,群里找到包含颜色识别传感器的米思齐的库,赶快下载,这下就方便了。参考版主rzyzzxw 朱老师和super-power的帖子。https://mc.dfrobot.com.cn/thread-30105-1-1.html https://mc.dfrobot.com.cn/thread-30130-1-1.html 调试很顺利。首先把颜色识别模块接到Romeo的I2C接口上,通过串口观察取值变化,程序如下: 通过串口程序可以看到数据的变化,RGB取值是在200~255之间变化。对数值进行数据处理后,基本就是我想要数值,这里,RGB取值在1~255之间,那我就用255减去得到的值就可以了。 接下来,把RGB模块接在数字口3上,程序编写如下: 在串口观察到执行结果如下(依次为红绿蓝橙三色结果): 传感器扫描颜色和程序执行结果RGB模块显示颜色基本一直,可能外界光线的影响,手机拍出来的效果很差,就先不上执行结果的照片和视频了。等我整理一下思路,重新设计一下硬件,给大家看结果。(未完待续) |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed