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

单片机-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 */

参考工程

参考飞书文档

相关文章:

  • LVGL的核心:lv_timer_handler
  • Vue3 el-tree:全选时只返回父节点,半选只返回勾选中的节点(省-市区-县-镇-乡-村-街道)
  • Python代码编程基础
  • 创始人IP的重塑与破局|创客匠人热点评述
  • webpack代理天地图瓦片
  • 创始人 IP 的破局之道:从技术突围到生态重构的时代启示|创客匠人评述
  • 英文单词 do、play、go 的区别
  • 【LangChain全栈开发指南】从LLM集成到智能体系统构建
  • 安全核查基线-2.nfslock服务
  • 企业高性能WEB服务器—Nginx
  • golang -- 如何获取变量类型
  • ISP流程介绍(Raw格式阶段)
  • 《Vuejs设计与实现》第 5 章(非原始值响应式方案) 上
  • 发那科机器人5(异常事件和程序备份加载+ROBOGUIDE离线仿真)
  • 二叉树的深度
  • Conda激活环境无效
  • 对称加密以及非对称加密
  • transformer 笔记 tokenizer moe
  • [Windows] 希捷(Seagate)硬盘官方检测工具 - SeaTools(1.4.0.7)
  • 【身份证识别表格】批量识别身份证扫描件或照片保存为Excel表格,怎么大批量将身份证图片转为excel表格?基于WPF和腾讯OCR的识别方案
  • 远离军事前线的另一面暗斗:除了“断水”,印度还试图牵制对巴国际援助
  • 中国象棋协会坚决支持司法机关依法打击涉象棋行业的违法行为
  • 75岁亚当·费舍尔坐镇,再现80分钟马勒《第九交响曲》
  • 两部门部署中小学幼儿园教师招聘工作:吸纳更多高校毕业生从教
  • 国防部:正告菲方停止以任何方式冲撞中方核心利益
  • 习近平向“和平薪火 时代新章——纪念中国人民抗日战争和苏联伟大卫国战争胜利80周年中俄人文交流活动”致贺信