英飞凌 PSoC6 评估板 CAPSENSE 触摸滑条应用示例

PSoC™ 62 with CAPSENSE™ evaluation kit 开发板(以下简称 PSoC 6 RTT 开发板)是英飞凌(Infineon)联合 RT-Thread 发布一款面向物联网开发者的 32 位双核 MCU 开发套件,其默认内置 RT-Thread 物联网操作系统。本文主要介绍 CAPSENSE™ 技术原理,并通过 RT-Thread Studio 快速开发触摸滑条应用程序。

CAPSENSE 基本原理

在物联网时代,无论是家庭电器还是可穿戴式设备等众多消费类产品,触摸控制已经司空见惯了。由于不再需要传统机械按钮和开关中的活动零件,触摸传感器系统实现了高度可靠性,不太可能因磨损而发生故障。同时,触摸传感器系统可完全封装在保护材料中,因此能够在严苛环境中工作。当然,除了可靠性之外,触摸传感器可轻松满足不同的形状要求,满足客户对产品的美观精巧设计需求。

英飞凌的 CAPSENSE™ 技术就是业界领先的具有防水性能和接近感应功能的触摸感应解决方案。该方案提供完整的器件(PSoC 有专有 CapSense 功能,其中包括一个用于处理电容触摸传感器的完整信号链)、中间件和设计参考,帮助用户设计外观优雅、可靠且易于使用的电容触摸感应功能。同时,CAPSENSE 还带来了行业领先的低功耗运行,平均电流消耗为22 μA,并带来了业内最宽的电压范围(1.71-5.5 V)。并且集成了包括 Capacitive Sigma Delta(CSD)感应算法和自动调谐算法等核心算法,确保在嘈杂的环境下也可以精准触控,适应复杂的外部环境。

从技术原理来看,电容触摸传感器就是充分利用了手指或手接近专门构建的触摸表面时电容将发生变化的特征。触摸传感器使用自电容和互电容两种不同的方法来检测此类变化,并通过放大、滤波等信号处理的手段将其准确捕获。

在这里插入图片描述

用户使用英飞凌 CAPSENSE 电容式触摸传感器界面时,手指在界面上形成与嵌入式传感器的电气连接。传感器与 PSoC 器件一起工作,将有关手指位置的数据转换为各种系统控制功能。一个 PSoC 器件可以用简单的触敏控制取代几十个机械开关和控件。基于 CAPSENSE 的“按键”和滑块控件不像机械按键和开关那样容易受环境磨损影响,因此比传统按键控制更可靠。

在触摸传感器设计方面,电容式传感器板由多层板上的印制线构建而成。对于基本的自电容按钮,最简单的设计是将传感器板印制线放在板子上方,印制线四周环绕着网状接地平面。传感器板连接到控制器(通常连接在板子下方)的输入引脚,还可提供接地平面。最后,顶层覆盖着不导电保护性化合物,形成了传感器覆面。对于小键盘,工程师通过将各个传感器板加入可寻址按钮阵列来扩展此项基本设计。

PSoC6 CAPSENSE 特性

PSoC 6 RTT 开发板配备了一个触摸滑条,方便用户评估 CapSense 功能。你可以基于 CapSense 的强大功能,做一些有趣的项目。

具体来说,PSoC6 中的 CapSense 具有以下特性:

  • 支持自电容和互电容触摸感应;
  • 功能强大的 CapSense Sigma Delta(CSD)和 CapSense Crosspoint(CSX)感应技术,能够为基于自电容和互电容的触摸感应提供一流的信噪比;
  • 在覆盖材料和厚度不同的条件下仍能提供高性能感应(请参考 CapSense 基本原理、覆盖层材料和覆盖层厚度);
  • SmartSense™ 自动调试技术;
  • 接近感应的范围较大(接近感应距离可达 30 cm)。

CAPSENSE 应用示例

RT-Thread 提供了一个简单的触摸滑条应用示例,只需要在 RT-Thread Studio 勾选配置即可快速体验。

双击工程中的 RT-Thread Settings ,打开项目配置页面。在“硬件”选项卡中,找到 Board extended module Drivers,勾选 Enable Slider 和 Enable Slider Demo。此时会自动勾选 Slider Demo 的相关依赖,例如 PWM 功能。

在这里插入图片描述

按 Ctrl + S 保持配置,会更新当前工程。然后重新编译工程,将固件下载到 PSoC 6 RTT 开发板。

在 RT-Thread Studio 打开终端,按 Tab 键可以可以看到当前系统支持的命令,如下所示。

 \ | /
- RT -     Thread Operating System/ | \     5.0.1 build Sep 20 2024 16:17:442006 - 2022 Copyright by RT-Thread team
msh >
RT-Thread shell commands:
clear            - clear the terminal screen
version          - show RT-Thread version information
list             - list objects
help             - RT-Thread shell help.
ps               - List threads in the system.
free             - Show the memory usage in the system.
pin              - pin [option]
pwm              - pwm [option]
reboot           - Reboot System
pwm_sample       - <pwm0> channel7 sample
Slider_ctrl_samp - Slider sample to ctrl led

其中 Slider_ctrl_samp 就是触摸滑条的 Demo 程序,该程序代码位于 board/ports/slider_sample.c 文件。其功能是通过触摸滑条控制 PWM 波形,从而控制 LED 灯的亮度。

为了方便查看触摸滑条对应的亮度值,我在 update_led_state() 函数中增加了一个打印。

void update_led_state(led_data_t *ledData)
{if (ledData->brightness >= 0){uint32_t brightness = (ledData->brightness < LED_MIN_BRIGHTNESS) ? LED_MIN_BRIGHTNESS : ledData->brightness;/* Drive the LED with brightness */rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, 1 * 1000 * 1000, GET_DUTY_CYCLE(brightness));rt_kprintf("brightness = %u\n", brightness);}
}

重新编译并下载到开发板,在终端执行 Slider_ctrl_samp 命令启动示例程序,此时用手指触摸滑条,可以看到如下打印。

brightness = 0
brightness = 2
brightness = 13
brightness = 30
brightness = 49
brightness = 71
brightness = 97
brightness = 100

滑条的一侧对应亮度值为 0,另一侧对应亮度值为 100。

资源链接

  • CAPSENSE™ 控制器 - Infineon Technologies
  • 使用 Cypress CY8CKIT 来简化电容触摸传感器的设计
  • PSoC 4 and PSoC 6 MCU CapSense Design Guide

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/427889.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《网络协议 - HTTP传输协议及状态码解析》

文章目录 一、HTTP协议结构图二、HTTP状态码解读1xx: 信息响应类2xx: 成功响应类3xx: 重定向类4xx: 客户端错误类5xx: 服务器错误类 一、HTTP协议结构图 二、HTTP状态码解读 HTTP状态码&#xff08;英语&#xff1a;HTTP Status Code&#xff09;是用以表示网页服务器超文本传…

java通过org.eclipse.milo实现OPCUA客户端进行连接和订阅

前言 之前写过一篇关于MQTT的方式进行物理访问的文章&#xff1a;SpringBoot集成MQTT&#xff0c;WebSocket返回前端信息_springboot mqtt websocket-CSDN博客 最近又接触到OPCUA协议&#xff0c;想通过java试试看能不能实现。 软件 在使用java实现之前&#xff0c;想着有没…

品牌力是什么?如何评估企业品牌影响力?

品牌影响力&#xff0c;其实就是指品牌在消费者心智中所占据的位置&#xff0c;以及它对消费者购买决策和行为的影响力。如果一个企业的品牌影响力越强&#xff0c;它在消费者心中的印象就越深刻&#xff0c;能够更有效地驱动消费者的购买行为&#xff0c;形成品牌忠诚度&#…

2024.9.20营养小题【2】(动态分配二维数组)

这道题里边涉及到了动态分配二维数组的知识点&#xff0c;不刷这道题我也不知道这个知识点&#xff0c;算是一个比较进阶一点的知识点了。 参考&#xff1a;C语言程序设计_动态分配二维数组_哔哩哔哩_bilibili【C/C 数据结构 】二维数组结构解析 - 知乎 (zhihu.com)

JSONC:为JSON注入注释的力量

JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;广泛应用于Web开发、配置文件和数据存储等领域。 其简洁的语法和易于解析的特点&#xff0c;使得JSON成为了现代编程中不可或缺的一部分。然而&#xff0c;JSON的一个显著缺点是…

迁移学习+多模态融合,小白轻松发一区!创新性拉满!

多模态研究如今愈发火热&#xff0c;已成为各大顶级会议的投稿热门。今天&#xff0c;我为大家提供一个多模态的创新思路&#xff1a;迁移学习与多模态融合。 迁移学习多模态融合方向的优势 1.提升模型性能&#xff1a;综合更多维度优势&#xff0c;跨模态互补 2.快速适应新…

深入理解ConcurrentHashMap

HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进行put操作&#xff0c;调用了HashMap的putVal()&#xff0c;具体原因&#xff1a; 1、假设两个线程A、B都在进行put操作&#xff0c;并且hash函数计算出的插入下标是相同的&#xff1b; 当线程A执行完第六行由于时间…

VuePress搭建文档网站/个人博客(详细配置)主题配置-侧边栏配置

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

【C++ 学习】多态的基础和原理(10)

目录 前言1. 概念2. 多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数重写2.4 虚函数重写的例外2.4.1 协变2.4.1 析构函数的重写 2.5 多态调用和普通调用2.6 函数重写/函数隐藏/函数重载 的对比2.6.1 函数重写2.6.2 函数隐藏2.6.3 函数重载 2.7 C11 final 和override 3…

我的数据库第一课:从懵懂到启迪

我的数据库第一课&#xff1a;从懵懂到启迪 前言 在数字化浪潮席卷全球的今天&#xff0c;数据库作为IT技术的“活化石”&#xff0c;已经成为不可或缺的基础设施。特别是在国内&#xff0c;随着经济的飞速发展和信息化建设的推进&#xff0c;数据库技术也经历了从无到有、从…

3GPP协议入门——物理层基础(一)

1. 频段/带宽 NR指定了两个频率范围&#xff0c;FR1&#xff1a;通常称Sub 6GHz&#xff0c;也称低频5G&#xff1b;FR2&#xff1a;通常称毫米波&#xff08;Millimeter Wave&#xff09;&#xff0c;也称高频5G。 2. 子载波间隔 NR中有15kHz&#xff0c;30kHz&#xff0c;6…

【图像检索】基于颜色模型的图像内容检索,matlab实现

博主简介&#xff1a;matlab图像代码项目合作&#xff08;扣扣&#xff1a;3249726188&#xff09; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于颜色模型的图像内容检索&#xff0c;用matlab实现。 一、案例背景和算法介绍 这…

Qt 模型视图(一):概述

文章目录 Qt 模型视图(一):概述1、模型/视图结构基本原理2、模型3、视图4、代理5、简单实例 Qt 模型视图(一):概述 ​ 模型/视图结构是一种将数据存储和界面展示分离的编程方法。模型存储数据&#xff0c;视图组件显示模型中的数据&#xff0c;在视图组件里修改的数据会被自动…

c++ day01

格式化输入 #include <iostream> #include<iomanip> using namespace std;int main() {double num1090.123456;cout<<"num"<<num<<endl;cout<<oct<<"num"<<num<<endl;cout<<hex<<&qu…

web前端-HTML常用标签-综合案例

如图&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document&…

算法.图论-建图/拓扑排序及其拓展

文章目录 建图的三种方式邻接矩阵邻接表链式前向星 拓扑排序拓扑排序基础原理介绍拓扑排序步骤解析拓扑排序模板leetcode-课程表 拓扑排序拓展食物链计数喧闹与富有并行课程 建图的三种方式 我们建图的三种方式分别是邻接矩阵, 邻接矩阵, 链式前向星 邻接矩阵 假设我们的点的…

IMS 在线计费 IMS 离线计费

目录 1. IMS 在线计费 1.1 主要内容 1.2 IMS 在线计费架构 ​编辑1.3 IMS 在线计费方案 1.4 IMS 在线计费的关键步骤 1.5 在线计费的基本流程 1.6 IMS Information AVP 2. IMS 离线计费 2.1 IMS 离线计费架构 2.2 IMS 离线计费概述 2.3 什么时候 AS 给 CG 发送 ACR?…

深度学习:基础知识

深度学习是机器学习的一个领域 神经网络构造 一个神经元有n个输入&#xff0c;每一个输入对应一个权值w&#xff0c;神经元内会对输入与权重做乘法后求和。 感知器 由两层神经元组成的神经网络--“感知器”&#xff08;Perceptron&#xff09;,感知器只能线性划分数据。 公式…

生成式人工智能在无人机群中的应用、挑战和机遇

人工智能咨询培训老师叶梓 转载标明出处 无人机群在执行人类难以或危险任务方面有巨大潜力&#xff0c;但在复杂动态环境中学习和协调大量无人机的移动和行动&#xff0c;对传统AI方法来说是重大挑战。生成式人工智能&#xff08;Generative AI, GAI&#xff09;&#xff0c;凭…

实例讲解电动汽车钥匙Start上下电控制策略及Simulink建模方法

在电动汽车VCU开发中&#xff0c;上下电控制是其中一个核心控制内容&#xff0c;也是其他控制功能的基础&#xff0c;在钥匙ON挡上电后&#xff0c;整车电池主回路高压供电接通&#xff0c;但此时车辆电驱动回路尚未接通高压&#xff0c;如果要达到车辆具备行车准备就绪状态&am…