【雕爷学编程】Arduino动手做(80)---4路TTP224触摸模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验八十:4路TTP224电容式触摸模块 人体数字触摸传感器


TTP224

是一款使用电容式感应原理设计的触摸IC,其稳定的感应方式可以应用到各种不同电子类产品,面板介质可以是完全绝源的材料,专为取代传统的机械结构开关或普通按键而设计,提供4个触摸输入端口及4个直接输出端口。



TTP224特点

� 1、工作电压 2.4V~5.5V;

� 2、可以由外部Option选择是否启用内部稳压电路功能;

� 3、工作电流@VDD=3V无负载时: 低功耗模式下典型值2.5uA ,快速模式下典型值9uA ;

� 4、@VDD=3V时,在快速模式下KEY最快响应时间为100mS,低功耗模式下为200mS;

� 5、各KEY灵敏度可以由外部电容进行调节(0~50pF);

� 6、提供LPMB端口选择快速模式或低功耗模式;

� 7、提供直接输出模式,触发模式,开漏输出, CMOS高电平有效或低电平有效输出, 经由TOG/AHLB/OD端口选择;

� 8、提供两个无二极管保护的输出端口TPQ0D,TPQ2D仅限于低电平有效;

� 9、提供MOT1, MOT0端口选择最大输出时间:120秒/64秒/16秒/无穷大;

� 10、上电后约有0.5秒的系统稳定时间,在此期间内不要触摸Touch PAD,且触摸功能无效;

� 11、有自动校准功能,当无按键被触摸时,系统重新校准周期约为4.0秒。



4路TTP224电容式触摸模块 人体数字触摸传感器

1、板载TTP224电容式4键触摸感应IC

2、板载4路电平状态指示灯

3、工作电压:2.4V-5.5V

4、模块可以设置输出模式、键输出模式、最长输出时间和快速/低功耗选择

5、PCB板子尺寸:35(mm)x29(mm)


模块电原理图



/*

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验八十三: 4路TTP224电容式触摸模块 人体数字触摸传感器

对应按键输出数字

*/

int i;

void setup(){

for(i=4; i<=7; i++)

{

pinMode(i, INPUT);

}

Serial.begin(9600);

}

void loop(){

for(i=4; i<=7; i++)

{

if(digitalRead(i) == HIGH)

{

Serial.println(i-3);

}

}

delay(100);

}


/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验八十: 4路TTP224电容式触摸模块 人体数字触摸传感器

程序之二,稳定性很好,不易误触发

模块上的1,2,3,4对应于单片机上的7,6,5,4

其中引入了布尔型M,主要是为了实现,在按下到松开这个过程中,

仅输出一次高电平,即输出语句只输出一句,来避免一直输出。

*/

#include <Arduino.h>

int i;

boolean m=true;

void setup(){

  Serial.begin(9600); 

}

void loop(){  

    if(m==true){

      for(i=0;i<5;i++){

      if(digitalRead(8-i)==1){

      delay(50);

        if(digitalRead(8-i)==1){

          Serial.print("hello ");

          Serial.print(i);

          Serial.println(" ---");

          m=false;

        }

      }

      }

    }

    

    if(digitalRead(4)==0 && digitalRead(5)==0 && digitalRead(6)==0 && digitalRead(7)==0)

    {m=true;}

}


实验场景图


/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验八十: 4路TTP224电容式触摸模块 人体数字触摸传感器

程序之三,使用4路触控模块的其中3个开关,当作LED灯的开关、调亮和调暗控制界面

*/

const byte LED_PIN = 5;  // LED灯的接脚

const byte PWR_LED = 13;  // 电源指示灯的接脚

bool powerOn = false;  // LED电源是否开启,默认“否”

bool btnStatus;      // 按钮状态

int pwmVal = 0;      // 电源输出值

// 宣告触键的自订结构类型

typedef struct {

  byte pin;      // 按键的接脚编号

  bool lastStatus;  // 上次的状态

} key;

// 宣告电源键的接脚和默认状态

key powerKey = { 10, LOW };

// 宣告“调亮”键的接脚和默认状态

key upKey = { 11, LOW };

// 宣告“调暗”键的接脚和默认状态

key downKey = { 12, LOW };

void setup() {

  Serial.begin(9600);

  pinMode(powerKey.pin, INPUT);

  pinMode(upKey.pin, INPUT);

  pinMode(downKey.pin, INPUT);

  pinMode(LED_PIN, OUTPUT);

  pinMode(PWR_LED, OUTPUT);

}

void loop() {

  // 读取电源键的状态

  btnStatus = digitalRead(powerKey.pin);

  // 如果电源键的讯号从低电位变成高电位…

  if (btnStatus && powerKey.lastStatus == LOW) {

  powerOn = !powerOn;  // 反相电源状态

  digitalWrite(PWR_LED, powerOn);

  if (powerOn) {  // 若powerOn为true…

    // 依照pwmVal的值点亮LED

    analogWrite(LED_PIN, pwmVal);

  } else {

    // 关闭LED灯

    digitalWrite(LED_PIN, LOW);

  }

  }

  // 纪录这次的电源键讯号状态

  powerKey.lastStatus = btnStatus;

  // 读取“调亮”键的状态

  btnStatus = digitalRead(upKey.pin);

  

  // 若“有开启电源”且“此按键讯号是高电位”且“前次讯号是低电位”

  if (powerOn && btnStatus && upKey.lastStatus == LOW) {

  // 增加亮度值,每次增加10,不能超过255。

  if ((pwmVal+10) <= 255) { pwmVal += 10;

  Serial.println(pwmVal);

  analogWrite(LED_PIN, pwmVal); } }

  upKey.lastStatus = btnStatus; // 读取“调暗”键的状态

  btnStatus = digitalRead(downKey.pin);

  if (powerOn && btnStatus && downKey.lastStatus == LOW) { // 减少亮度值,最低值为0

    if ((pwmVal-10) >= 0) {

  }

    pwmVal -= 10;

    Serial.println(pwmVal);

    analogWrite(LED_PIN, pwmVal);

  }

  downKey.lastStatus = btnStatus;

}


实验开源仿真编程(Linkboy V4.2)


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容