久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8598|回復: 4
打印 上一主題 下一主題
收起左側

Arduino學習17-連接TTP229B電容觸摸模塊

[復制鏈接]
跳轉到指定樓層
樓主
新買一個TTP229B的16鍵觸摸模塊,黑心淘寶居然沒給對PDF也沒有借鑒的驅動代碼,于是去官網下載了個pdf看時序圖模仿了一個。
先上pdf文件 TTP229-BSF_V1.1_EN.pdf (326.25 KB, 下載次數: 37)
這個是TTP-229B(SSOP-28)的PDF,來自官網
http://www.tontek.com.tw/031-1-1.asp?p3id=20141007154716

硬件部分:
首先看文檔調好跳線,其中1腳對應TP0,2腳對應TP1如此類推,把1/2/3/4/5跳線跳上,即TP0-TP4均為低電平0
含義如下:
TP0=0,TP1=0:SDA高電平激活

TP2=0:16按鍵全使用
TP3=0,TP4=0:所有按鍵Multi Key,即可以同時按下所有按鍵。


下面是跳好跳線的圖片


一定要把模塊的1-5跳線跳好,否則下面代碼不能正常讀取。


兩個代碼,一個是單獨讀一個按鍵,一個一次讀完所有按鍵


一個是單獨讀一個按鍵

  1.     int SCLPin = A5, SDOPin = A4;   //SCL接A5,SDO接A4,非IIC,可以隨意移動引腳接法
  2.     boolean h = 0, oldh = 0;
  3.     void setup()
  4.     {
  5.       Serial.begin(9600);
  6.       pinMode(SCLPin , OUTPUT);   //時鐘端輸出
  7.     }
  8.      
  9.     boolean ttp229single(int pin)
  10.     {
  11.       boolean DATA = 0;
  12.       pinMode(SDOPin , OUTPUT);
  13.       digitalWrite(SDOPin, HIGH);
  14.       delayMicroseconds(93);    //DV時間93us
  15.       digitalWrite(SDOPin, LOW);
  16.       delayMicroseconds(10);    //Tw時間10us
  17.       pinMode(SDOPin , INPUT);
  18.       for (int i = 0; i < 16; i++)
  19.       {
  20.         digitalWrite(SCLPin, HIGH);
  21.         digitalWrite(SCLPin, LOW);
  22.         if (i == pin-1)
  23.         {
  24.           DATA = digitalRead(SDOPin);    //讀取數據
  25.         }
  26.       }
  27.       delay(2);    //Tout時間2ms
  28.       return DATA;
  29.     }
  30.      
  31.     void loop()
  32.     {
  33.       h = ttp229single(3);    //本例讀了寫著3數字的觸摸鍵(TP2)
  34.      
  35.       if (h != oldh)    //數據改變的時候輸出h
  36.       {
  37.         Serial.println(h);
  38.         oldh = h;
  39.         delay(40);      //滿足pdf的T_resp(for 16-KEYS)時間32ms
  40.       }
  41.     }
復制代碼

一個一次讀完所有按鍵

  1.     int SCLPin = A5, SDOPin = A4;
  2.     unsigned int h = 0, oldh = 0;
  3.     void setup()
  4.     {
  5.       Serial.begin(9600);
  6.       pinMode(SCLPin , OUTPUT);   //時鐘端輸出
  7.     }
  8.      
  9.     unsigned int ttp229()     //一次讀完TTP229所有按鍵
  10.     {
  11.       unsigned int DATA = 0;
  12.       pinMode(SDOPin , OUTPUT);
  13.       digitalWrite(SDOPin, HIGH);
  14.       delayMicroseconds(93);
  15.       digitalWrite(SDOPin, LOW);
  16.       delayMicroseconds(10);
  17.       pinMode(SDOPin , INPUT);
  18.       for (int i = 0; i < 16; i++)
  19.       {
  20.         digitalWrite(SCLPin, HIGH);
  21.         digitalWrite(SCLPin, LOW);
  22.         DATA |= digitalRead(SDOPin) << i;
  23.       }
  24.       delay(2);
  25.       return DATA&0xFFFF;
  26.     }
  27.      
  28.     void loop()
  29.     {
  30.       h = ttp229();
  31.       if (h != oldh)
  32.       {
  33.         Serial.println(h, BIN);
  34.         oldh = h;
  35.         delay(40);
  36.       }
  37.     }
復制代碼




進階閱讀:代碼與時序圖關系簡述

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:93720 發表于 2016-7-24 09:23 | 只看該作者
你好,你有51單片機的程序沒
回復

使用道具 舉報

板凳
ID:408738 發表于 2018-10-12 21:09 | 只看該作者
很不錯的資料,學習下!
回復

使用道具 舉報

地板
ID:304286 發表于 2018-11-15 00:09 | 只看該作者

很不錯的資料,學習下
回復

使用道具 舉報

5#
ID:622857 發表于 2019-10-12 14:13 | 只看該作者
你好,我買的同款鍵盤,可惡的那個寶賣家連原理圖都沒有,請問你有嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人亚洲精品 | 免费看淫片 | 精品亚洲一区二区 | 亚洲人成在线观看 | 久久国产精品视频 | 亚洲精品粉嫩美女一区 | 久久久久成人精品免费播放动漫 | 91精品亚洲 | 91天堂 | 在线婷婷| 国产精品久久久久久久三级 | 成人h动漫亚洲一区二区 | 国产激情片在线观看 | 91中文字幕在线 | 视频一区欧美 | 欧产日产国产精品国产 | 羞羞视频免费在线观看 | 日韩国产精品一区二区三区 | 国产黄色大片在线观看 | 免费一区二区三区在线视频 | 三级成人在线 | 99综合| 精国产品一区二区三区 | 国产三级在线观看播放 | avhd101在线成人播放 | 激情五月综合 | 天堂精品 | 国产精品久久久久久久久久不蜜臀 | 欧美成年黄网站色视频 | 一级大黄 | 亚洲日韩中文字幕一区 | 日韩视频免费看 | 久久久精品一区 | 久久久久网站 | 国产精品91久久久久久 | 手机在线观看 | 日韩a视频 | 操久久久 | 国产亚洲久 | 午夜久久久 | 成人综合久久 |