【测评TCS3472】写个上位机测试 TCS3472 丝滑程度-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5043|回复: 3

【测评TCS3472】写个上位机测试 TCS3472 丝滑程度

[复制链接]
发表于 2020-4-18 05:14 | 显示全部楼层 |阅读模式
首先感谢 M5Stack 团队这次给试用 TCS3472 颜色识别模块!
在接下来的日子中我会逐步发表测评帖子,记录项目“色控电子琴”的开发历程。

本帖是第 2 篇测评,内容为使用 PC+UNO 联合测试 TCS3472 色度分辨丝滑程度。

--------------------------------------------------------------------

【背景】
由于最终目标要实现“色空电子琴”,需要直观感受下 TCS3472 在颜色分辨的丝滑程度。
即随着颜色的变化,采样数据是否出现锯齿状阶跃(不丝滑)。

为了直观感受 TCS3472 的颜色分辨能力,需要把色度坐标和马蹄图叠加起来看,
这就催生了这个上位机联合测试的由来。

【代码编写】
整个系统设计成上下位机联合的形式:
下位机(UNO)负责采样 TCS3472 并上传 RGB;
上位机(PC)负责接收数据,计算 RGB->XYZ 转换,并把色度坐标画到一张 CIE-1931 马蹄图上。

下位机编程就不多说了,Lady Ada 代码拿来删减一下只上传 RGB 。
为了兼顾 FPS 速率,设定了 154ms 的采集频率。

上位机用 VS MFC 搞一下,主要内容涉及: ①串口访问,②GDI 绘图,③色度空间换算;
截个图,简单耐用的 VS2005:
2020-04-18_044840.png

【可执行程序】
所有的代码我都编译通过了,打包了可执行文件及关键代码。

下位机(UNO)的是 INO/HEX: UNO固件-CieClient.zip (18.51 KB, 下载次数: 58)
上位机(PC)的是 EXE: PC界面-CieHost.zip (245.4 KB, 下载次数: 53)

由于PC端使用了标准的 Windows GDI 库,因此在 XP/Vista/Win7/8/10 上全兼容,随便运行。
大家如果有兴趣,可以放在自己的 PC 上和 UNO 进行联合测试。

【运行效果】
上位机运行后,需要设定 UNO 的端口号(我的是COM3)及通讯参数(115200,N,8,1),
点击“Connect”即连上 UNO 开始接收 R/G/B 数据。
收到正确的数据后,标题栏会有显示(RGB, XY, 串口包计数),马蹄图区域十字标指示当前色度 (X,Y)。

下图是 TCS3472 空闲时的状态,十字标位置接近白色,TCS3472 白平衡正常:
2020-04-18_040844.png

下图是检测到了偏红色以后,十字标移动至对应的色度坐标区域:
2020-04-18_041251.png


为了证实整个系统的丝滑程度,我录制了两段视频,分别是反射颜色识别、照射色光识别。
由于论坛附件不能太大,我用了最新的 H265/HEIC 压缩 MP4,若不能播放请升级播放器解码包。

视频总共三个分卷压缩,放一起方可解压:
PC UNO联合测试视频.part1.rar (900 KB, 下载次数: 28)
PC UNO联合测试视频.part2.rar (900 KB, 下载次数: 21)
PC UNO联合测试视频.part3.rar (568.69 KB, 下载次数: 21)


【结论】
录完视频才发现,TCS3472 丝滑程度远超想象,和 M5Stack 这外壳太搭调了。
我只是用了 154ms 采样速率(约么 7FPS),十字标就已经没啥抖动、阶跃了。

相信这个丝滑程度足够后期折腾“色控电子琴”了。

--------------------------------------------------------------------

以上,写了一套 Windows 上位机界面,与 UNO 联合测试 TCS3472 丝滑程度,结果令人满意。
欢迎大家在自己的 PC+UNO+TCS3472 上运行帖子中的固件,如有 BUG 欢迎来踩: )

祝大家 DIY 愉快,万事如意!

发表于 2020-4-20 15:16 | 显示全部楼层
写的挺好,有技术含量
 楼主| 发表于 2020-4-22 02:32 | 显示全部楼层
vany5921 发表于 2020-4-20 15:16
写的挺好,有技术含量

感谢版主的肯定!祝万事如意!
发表于 2020-12-4 13:47 | 显示全部楼层
感谢楼主分享,支持一下!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 01:31 , Processed in 0.244593 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表