当前位置: 首页 > ai >正文

单片机-STM32部分:9-1、触控检测芯片

飞书文档https://x509p6c8to.feishu.cn/wiki/ILBsw4EaQiWaUukWrxEcO4XZnXc

传统物理按键

原理

玻璃盖板下通过一个触摸PAD连接到触摸芯片中,触摸PAD可以用PCB铜箔、金属片、平顶圆柱弹簧、导电棉、导电油墨、导电橡胶、导电玻璃的ITO层等。

当有人体手指靠近触摸按键时,人体手指与大地构成的感应电容并联焊盘与大地构成的感应电容,会使总感应电容值增加。

电容式触摸按键IC在检测到某个按键的感应电容值发生改变后,将输出某个按键被按下的确定信号。

PT2041A 是一款单通道触摸检测芯片。该芯片内建稳压电路,提供稳定电压给触摸感应电路使用, 同时内部集成高效完善的触摸检测算法,使得芯片具有稳定的触摸检测效果。该芯片专为取代传统 按键而设计,具有宽工作电压与低功耗的特性,可广泛地满足不同消费类应用的需求

所以,对于STM32来说,我们只需要关注QC的IO有没有电平变换,即可判断有没有手指按下。

所以这部分的代码与按键部分是完全一样的,我们可以参考7、GPIO输入 按键编写。

首先,设置PC0为输入模式,修改标签名为PAD_KEY

 同时添加LED1作为测试效果展示

然后生成工程。

添加测试代码

  while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */if(HAL_GPIO_ReadPin(PAD_KEY_GPIO_Port,PAD_KEY_Pin) == 0) //判断按键KEY是否被按下{HAL_Delay(10);//延时10ms消除按键抖动if(HAL_GPIO_ReadPin(PAD_KEY_GPIO_Port,PAD_KEY_Pin) == 0){//再次判断KEY是否依然被按下HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);      //对LED引脚进行取反操作while(HAL_GPIO_ReadPin(PAD_KEY_GPIO_Port,PAD_KEY_Pin) == 0);  //等待按键抬起}}}/* USER CODE END 3 */

参考工程

参考飞书文档

http://www.xdnf.cn/news/4949.html

相关文章:

  • 【“星睿O6”AI PC开发套件评测】+ MTCNN 开源模型部署和测试对比
  • Vue 3 中编译时和运行时的概念区别
  • Vue3 el-tree:全选时只返回父节点,半选只返回勾选中的节点(省-市区-县-镇-乡-村-街道)
  • 华为5.7机考-最小代价相遇的路径规划Java题解
  • 什么是源网荷储一体化
  • 集成电路流片随笔26:tinyriscv的三级流水线细则pc
  • 深入解析C++核心特性:运算符重载、继承、多态与抽象类
  • Midscene.js Chrome 插件实战:AI 驱动的 UI 自动化测试「喂饭教程」
  • javax.net.ssl.SSLHandshakeException: No appropriate protocol
  • 湖南大学-操作系统实验5
  • 几款适合Windows的工具,小巧而精致
  • 【软件设计师:多媒体】14.多媒体技术及其应用
  • Excel图表 vs 专业可视化工具:差距有多大?内容摘要
  • Navicat BI 数据分析功能上线 | 数据洞察新方法
  • 计算机网络笔记(十八)——3.5高速以太网
  • Python 打包时包含字库文件的方法
  • 浏览器自动化与网络爬虫实战:工具对比与选型指南
  • 基于springboot的海洋环保知识分享系统的设计与实现
  • 相机的方向和位置
  • 如何在 DataGridView 中加载大型数据集
  • 在一台CentOS服务器上开启多个MySQL服务
  • # 交换排序:从冒泡到快速排序的深度解析
  • WHAT - 简单服务发现
  • 【Bootstrap V4系列】学习入门教程之 组件-表单(Forms)
  • kuka, fanuc, abb机器人和移动相机的标定
  • 03 mysql 连接
  • 使用FastAPI微服务在AWS EKS中构建上下文增强型AI问答系统
  • Istio in action之Envoy Proxy详解
  • React 中二次封装组件时,实现 属性透传、事件透传、插槽透传和 ref 透传
  • iOS App 安全性探索:源码保护、混淆方案与逆向防护日常