资讯详情

TTP229 16路 电容式 触摸开关 数字触摸传感器 模块

– 引导文章前部的关注

大家好,我是程序员小哈。

我们以前分享过一个基于基础的基础TTP点动触摸传感器模块223芯片,可实现单点按钮的触摸。

最近调试的板子上画了一个TTP229芯片,这个芯片可以实现16个触摸按钮,今天我们将分享这个。

TTP229-BSF芯片简介

TTP229-BSF芯片,包装为SSOP-28是电容式16键触摸感应IC,专为触摸板控制而设计。主要应用是更换机械开关或按钮,芯片可以一次读取16个按钮的状态数据。

工作电压:2.4V-5.5V。

应用电路

官方手册中的推荐电路为:

16 键模式参考应用电路图

以上参考电路中有6个灵敏度调节电容器,如下表所示:

CJ0~CJ3 和 CJWA-CJWB 对应键的灵敏度可用于调节电容值。

电容值越小,灵敏度越高。灵敏度的调节必须基于实际应用 PCB 做决定。电容值的取值范围是 1pF ≦ CJ0~CJ3 ≦ 50pF ,1pF ≦ CJWA~CJWB ≦ 50pF。

原理图

实际加工后PCB建议先调整板材 C21~C24 调整容值 TP0~TP15 再调整灵敏度 C25 和 C26 调整容值唤醒灵敏度。

板上画了五个按钮,分别是TP0、TP1、TP2、TP3、TP8,我的PCB板上使用的电容值为10pF。

模式选择

从上面的原理图中,我们知道:TP1=0,TP2=0 。

当 TP1=0,TP2=0 ,根据查询手册,设置为16个按钮,全部使用,SDA高电平触发模式。

TP3=0,TP4=对应多键模式,即可同时按下多个按钮。TP3和TP悬空,即不焊接1M所有单键都有效,电阻。

具体定义如下:

时序分析

由于本实例的实际情况, TP1=0,TP2=0 ,因此,具体时序图如下:

:虽然芯片由两个引脚驱动,但命名也像I2C总线的命名,但这个驱动真的跟着I2C没关系。

读取16个按键状态的函数如下:

uint16_t Touch_Read(void) {  uint8_t i = 0;   uint16_t real_Value = 0;    //发送高电平  SDA_OUT();  TTP_SDO = 1;  delay_us(100);  TTP_SDO = 0;  delay_us(20);    SDA_IN();   //循环获取16个触摸按键的状态  for (i = 0; i < 16; i   )  {   TTP_SCL = 1;   delay_us(100);   TTP_SCL = 0;   delay_us(1);      if (TTP_SDI == 1)   {    real_Value |= (1 << i);   }          }    delay_ms(2);    return real_Value; } 

使用上述函数的返回值可以与上次调用的返回值相比。如果一致,可以认为是同一个触摸操作,避免误认为多个动作。

源代码获取/材料获取

微信官方账号后台回复关键词:,获取测试文本Demo。

结果展示

通过以上视频的显示,我们可以看到焊盘盖不覆盖油不影响识别。总的来说,识别的准确性仍然很高。将触摸按钮应用到一些需要防水的使用场景中是很好的。

参考阅读

基于STM32使用TTP触摸传感器模块223点

欢迎关注

想了解小哈哥,可以点击下方链接,查看球友的福利,我们可以一起交流、一起玩耍。

知识星球简介链接: https://mp.weixin.qq.com/s/LIZlGiqExmSVohLgkUbkoA

标签: 电容按钮开关

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台