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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8523|回復: 4
收起左側

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

[復制鏈接]
ID:114115 發表于 2016-4-18 03:44 | 顯示全部樓層 |閱讀模式
新買一個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高電平激活
160117hpzwz2wkskm8wgnw.png
TP2=0:16按鍵全使用
TP3=0,TP4=0:所有按鍵Multi Key,即可以同時按下所有按鍵。
160117dy44c4co3750coco.png

下面是跳好跳線的圖片
155424ljee3opdun3tupdu.jpg

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

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


一個是單獨讀一個按鍵

  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.     }
復制代碼




進階閱讀:代碼與時序圖關系簡述
162346mppuq04dytsxt6pl.png
回復

使用道具 舉報

ID:622857 發表于 2019-10-12 14:13 | 顯示全部樓層
你好,我買的同款鍵盤,可惡的那個寶賣家連原理圖都沒有,請問你有嗎
回復

使用道具 舉報

ID:304286 發表于 2018-11-15 00:09 | 顯示全部樓層

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

使用道具 舉報

ID:408738 發表于 2018-10-12 21:09 | 顯示全部樓層
很不錯的資料,學習下!
回復

使用道具 舉報

ID:93720 發表于 2016-7-24 09:23 | 顯示全部樓層
你好,你有51單片機的程序沒
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线精品一区二区 | 日韩中文字幕第一页 | 欧美成人一级视频 | 久久综合九色综合欧美狠狠 | 精品国产高清一区二区三区 | 日本一区二区视频 | 瑞克和莫蒂第五季在线观看 | 在线观看h视频 | 365夜爽爽欧美性午夜免费视频 | 日韩av啪啪网站大全免费观看 | 欧美h版| 久久不卡 | 不卡的av电影 | 亚洲中午字幕 | 亚洲 欧美 日韩 在线 | 国产精品网址 | 亚洲精品一区二区三区丝袜 | 91电影| 免费成人在线网 | 97久久久久久 | 婷婷激情五月网 | 久久伊人影院 | 在线成人精品视频 | 黄片毛片免费看 | 国内精品一区二区三区 | 亚洲国产视频一区 | 欧美日韩国产中文 | 国产精品久久久久久久久免费樱桃 | 一区二区亚洲 | 亚洲成人午夜在线 | 欧美区在线 | 欧美 日韩 国产 成人 在线 | 中文字幕人成人 | 成人福利在线观看 | 欧美成人精品欧美一级 | 精品视频一区二区三区四区 | 作爱视频免费观看 | 亚洲啪啪| 成人福利片 | 日韩在线视频免费观看 | 男人天堂色 |