打印
[CAPSENSE™]

【英飞凌PSOC 4000T DIY】利用I2C传输触摸数据

[复制链接]
976|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
首先感谢21ic与英飞凌的给力活动,本次参与的“英飞凌挑战赛!PSOC™ 4000T Multi-Sense Kit创意DIY,定义未来人机交互”确实十分的有意义,让我了解到了触摸竟然可以这么灵敏,触摸竟然有这么多的**,可谓是大开眼界,也是非常有收获。话不多说,就先来看看开发板吧。
本次算是比较幸运,官方将原有的参与活动开发板做了升级,变成了“第五代CAPSENSE™触控技术与PSOC™ 4000T Multi-Sense Kit开发板”拿到开发板首先就是先拍个照,show一下啦。

从上图可以看到,本次的套件是真的非常丰富,一个主控板,带有四个触摸模块组成的套件,官方还非常贴心的带了一个矿泉水瓶用来做液位检测。这四个触摸模块分别为液位检测模块、2位金属触摸检测模块、4位金属触摸检测模块和隔空触摸检测模块。本次就围绕着隔空触摸检测模块为例,给大家分享英飞凌的触摸世界。
分享完套件硬件之后,就需要搭建软件环境了,软件环境比较简单,官方做的比较贴心,采用网上控件选择的方式实现套件的安装,选择下载官网提供的软件,软件名称如下,“ModusToolboxSetupInstaller_1.3.0.1017_windows_x64_signed.exe”下载好之后,安装,按照以下的pdf操作,这是官方提供的使用指南,还是比较不错的。 CY8CPROTO-040T-MS 使用指南.pdf (2.21 MB) 基本上就是选择好之后等待就可以了。这里要注意的是代理的选择,因为英飞凌属于国外的芯片厂家,因此该厂家提供的下载链接和代理在国内会变得很慢,因此需要选择国内的代理方可以正常使用。选择如下:

在选择好之后,关闭软件重新启动,这时候再选择对应的芯片就可以很快速了,这里可以输入“4000”即可出来一些芯片型号供其选择,本次需要选择的是“CY8CPROTO-040T-MS”选择好之后就可以选择官方提供的demo了。


这里官方按照功能来划分,分为基础,外设和进阶触摸,触摸提供了4个例程,分别对应着上面说的四个触摸模块,本次选择的是隔空触摸模块,因此选择第一个即可。选择完成之后点击创建,就可以稍微等一下即可出现对应的例程。

例程创建好之后,即可进行编译,编译可以知道生成的工程是否有问题,又可以创建文件的超链接,可以实现F3进行子函数之间的跳转,是非常方便的。
编译没有问题之后,可以进行仿真也可以在其基础上进行DIY了,本次利用I2C实现触摸数据的交互,官方已经提供好例程了,我在此就不过多赘述,直接演示吧,这里可以选择“CAPSENSE™ Tuner 8.0”功能,进行数据的交互。

点击“CAPSENSE™ Tuner 8.0”之后可以选择触摸通道,这里可以选择4路,我以1路和4路分别演示。


这里在点击连接之后就可以通过手来改变触摸的状态,实现对触摸的检测。这里当手触摸到之后,LED就会亮起,通过采集的数据可以看出,触摸数据在150以上时,来驱动LED亮起,在此之内则不会亮起。可以看出触摸还是比较灵敏的,同时上面有水珠也不会有无干扰,感觉这点还是比较专业的。

后续想简单的使用触摸按键的功能,即可在官方提供的例程中,在“led_control();”中进行数据交互即可,如果需要更精确的触摸方式,可以在触摸中断中进行数据处理。
     /* Scan all Widget */
            Cy_CapSense_ScanAllWidgets(&cy_capsense_context);

            /* This is a place where all interrupt handlers will be executed */
                interruptStatus = Cy_SysLib_EnterCriticalSection();

        while (Cy_CapSense_IsBusy(&cy_capsense_context))
        {
            Cy_SysPm_CpuEnterDeepSleep();

            Cy_SysLib_ExitCriticalSection(interruptStatus);

            /* This is a place where all interrupt handlers will be executed */
            interruptStatus = Cy_SysLib_EnterCriticalSection();
        }

        Cy_SysLib_ExitCriticalSection(interruptStatus);

        /* Process all th widgets */
        Cy_CapSense_ProcessAllWidgets(&cy_capsense_context);

        /* Send capsense data to the Tuner */
        Cy_CapSense_RunTuner(&cy_capsense_context);

        led_control();

至此,针对“PSOC™ 4000T Multi-Sense Kit”的了解就比较充分了,后续可以利用其触摸特性实现与电脑的交互,当然现在的4点触摸还是不太够用,可以自己DIY做个触摸键盘来玩耍~
最后,在此感谢,21ic与英飞凌提供的“PSOC™ 4000T Multi-Sense Kit”套件与活动,希望越来越好

使用特权

评论回复
沙发
b5z1giu| | 2025-5-22 11:40 | 只看该作者
这个弄得不错啊 ,楼主可以多分享相关的例程,感觉做的不错

使用特权

评论回复
板凳
g0d5xs| | 2025-5-22 14:06 | 只看该作者
确实挺好的,其实英飞凌确实是用心了

使用特权

评论回复
地板
lamanius| | 2025-5-22 15:22 | 只看该作者
这开发板套件真的很好看啊

使用特权

评论回复
5
l1uyn9b| | 2025-5-22 16:28 | 只看该作者
话说,例程这个多么?就是与触摸方案相关的例程

使用特权

评论回复
6
ex7s4| | 2025-5-22 17:45 | 只看该作者
这芯片就是性能不是很强,不然真的就起飞了

使用特权

评论回复
7
t1ngus4| | 2025-5-22 19:10 | 只看该作者
看起来楼主玩的还是不错的 ,这芯片我觉得很好用

使用特权

评论回复
8
kaif2n9j| | 2025-5-23 08:22 | 只看该作者
我看例程挺好啊,而且例程还是可视化配置的,真不错

使用特权

评论回复
9
w2nme1ai7| | 2025-5-23 10:06 | 只看该作者
支持一波,我觉得可以多来一些这种活动,可以很好的去搞生态

使用特权

评论回复
10
suw12q| | 2025-5-23 13:00 | 只看该作者
这个触摸方面咋样?是不是还挺好用的

使用特权

评论回复
11
q1d0mnx| | 2025-5-23 14:27 | 只看该作者
我看这个四位的触摸控件真的挺好,而且好像距离还挺远呢吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:嵌入式技术专家
简介:擅长电路设计、物联网产品开发、射频产品开发,喜欢打篮球,技术交流,欢迎各位来聊~

761

主题

3259

帖子

10

粉丝