探索PSOC6™如何轻松应用于各种电容式传感场景,无需真正的触摸操作
在完成了小型版本CyCubeTouch后,现在是时候考虑更大的挑战了。还记得经典的“西蒙说”游戏吗?何不试试用双脚来玩?这样能让思维更加活跃、充满运动感!
相比原来的4个彩色触控垫,现在增加到了9个彩色区域,用户需要重复由微控制器生成的序列。每一轮都会比上一轮多出一步。
你的记忆力有多强?你走路的节奏有多有活力?同时还要时刻注意时间。
电子部分
电子设计相对简单,采用支持CAPSENSE™功能的英飞凌微控制器,例如PSOC63™。未来可考虑集成蓝牙LE实现无线通信,例如用于传输游戏关卡、得分或计时信息。不过目前,我们先专注于核心功能:当玩家站在某个区域时,系统通过触摸检测进行识别。
共9个区域已通过机械方式搭建(见下文),每个触控垫都连接了一个CAPSENSE电极(纯5×5厘米铜箔),并接入微控制器的9个引脚。
一条NeoPixel(WS2812B)灯带,共9×72个LED,总计648个LED,通过微控制器的SPI接口生成的串行数据流进行地址控制。
对于纯粹的游戏用途,这种电子设备已足够。但为了将显示屏放置在更远的位置,我们使用了基于MAX7219的简易8×32矩阵显示屏,并通过级联器连接SPI接口,从而延长了信号线距离。
机械结构
下图展示了机械结构:
软件
该软件基本采用状态机架构。
void CubeFSM(void)
•SM_INITIALIZE:初始化并生成随机序列
•SM_PLAY_COMPUTER:以蓝色点亮序列,从1开始,每轮增加1
•SM_PLAY_USER:检测用户在行走过程中对序列的触碰,并判断是否正确(-> SM_SUCCESS 或 -> SM_FAIL)
•SM_SUCCESS:所有方块变为绿色,表示所有方块均正确通过,即向序列中添加一个新方块(-> SM_PLAY_COMPUTER)
•SM_FAIL:在外部显示屏上显示步数、最高分和用户用时……(-> SM_INITIALIZE)
入门与演示
玩家需要重复由微控制器随机生成的先前所示序列(标有蓝色的方块)。序列由微控制器随机生成。
当进入错误方块时,所有方块将变为红色,而正确方块仍为蓝色。
玩家必须在完成整个序列后,或在之前已触碰错误方块的情况下,离开所有方块。
外部显示屏会交替显示计算机和玩家的当前等级(步数)、纯用户游玩时间以及实际最高分。
总结
本项目展示了英飞凌CAPSENSE™如何轻松应用于各种电容式传感场景,无需真正的触摸操作。其灵敏度非常出色,无论是较早一代设备还是最新第六代设备,在某些如PSOC™ 4100T Plus等设备上,除了电容输入外,还可提供多达16通道的感应输入,用于检测金属材料,这些功能需通过其他项目进行测试。
本文编译自hackster.io





