0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CW32模塊使用 TTP224觸摸傳感器

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-09-18 15:35 ? 次閱讀

該模塊是一個(gè)基于觸摸檢測(cè)IC(TTP223B)的電容式點(diǎn)動(dòng)型觸摸開關(guān)模塊。常態(tài)下,模塊輸出低電平,模式為低功耗模式;當(dāng)用手指觸摸相應(yīng)位置時(shí),模塊會(huì)輸出高電平,模式切換為快速模式;當(dāng)持續(xù)12秒沒有觸摸時(shí),模式又切換為低功耗模式。可以將模塊安裝在非金屬材料如塑料、玻璃的表面。也可以將薄薄的紙片(非金屬)覆蓋在模塊的表面,直到觸摸的位置正確,即可做成隱藏在墻壁、桌面等地方的按鍵。該模塊可以讓你免除常規(guī)按壓型鍵的煩惱。

01模塊來源

模塊實(shí)物展示:

wKgaombqgsWAWgjpAAA3HrTUR0Y81.webp


資料下載鏈接:https://pan.baidu.com/s/1lBksfqx_dT4uIyABkHVm3Q
資料提取碼:hj2n

02 規(guī)格參數(shù)

工作電壓:2.4-5.5V

工作電流:2.5uA~9uA

模塊尺寸:35x29 mm

最快響應(yīng)時(shí)間:100Ms

控制方式:GOIO

管腳數(shù)量:6 Pin(2.54mm間距排針

以上信息見廠家資料文件

03移植過程

我們的目標(biāo)是將例程移植至CW32F030C8T6開發(fā)板上【實(shí)現(xiàn)添加指紋、刪除指紋和搜索指紋的功能】。首先要獲取資料,查看數(shù)據(jù)手冊(cè)應(yīng)如何實(shí)現(xiàn)讀取數(shù)據(jù),再移植至我們的工程。

3.1查看資料

主要就是使用4個(gè)GPIO監(jiān)控模塊的OUT1~4的輸出情況,那個(gè)OUT輸出則說明那個(gè)對(duì)應(yīng)模塊的區(qū)域被觸摸。

3.2引腳選擇

wKgZombqgsaABSO7AAB7kg8Qrws84.webp

接線表

3.3移植至工程

移植步驟中的導(dǎo)入.c和.h文件與【CW32模塊使用】DHT11溫濕度傳感器相同,只是將.c和.h文件更改為bsp_touchkey.c與bsp_touchkey.h。這里不再過多講述,移植完成后面修改相關(guān)代碼。

在文件bsp_touchkey.c中,編寫如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#include "bsp_touchkey.h"

/******************************************************************
 * 函 數(shù) 名 稱:TTP224_GPIO_Init
 * 函 數(shù) 說 明:對(duì)電容式觸摸芯片TTP224進(jìn)行初始化
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:無
 * 作       者:LC
 * 備       注:無
******************************************************************/
void TTP224_GPIO_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct; // GPIO初始化結(jié)構(gòu)體

    RCC_TTP_ENABLE();                 // 使能GPIO時(shí)鐘

    GPIO_InitStruct.Pins = GPIO_IN1|                  // GPIO引腳
                           GPIO_IN2|
                           GPIO_IN3|
                           GPIO_IN4;
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT_PULLDOWN;  // 下拉輸入
    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;          // 輸出速度高
    GPIO_Init(PORT_TTP, &GPIO_InitStruct);            // 初始化
}

/******************************************************************
 * 函 數(shù) 名 稱:Key_IN1_Scanf
 * 函 數(shù) 說 明:返回觸摸鍵1引腳電平狀態(tài)
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:0=未檢測(cè)到有觸摸  1=檢測(cè)到觸摸
 * 作       者:LC
 * 備       注:無
******************************************************************/
char Key_IN1_Scanf(void)
{
    return KEY_IN1;
}
/******************************************************************
 * 函 數(shù) 名 稱:Key_IN2_Scanf
 * 函 數(shù) 說 明:返回觸摸鍵2引腳電平狀態(tài)
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:0=未檢測(cè)到有觸摸  1=檢測(cè)到觸摸
 * 作       者:LC
 * 備       注:無
******************************************************************/

char Key_IN2_Scanf(void)
{
    return KEY_IN2;
}
/******************************************************************
 * 函 數(shù) 名 稱:Key_IN3_Scanf
 * 函 數(shù) 說 明:返回觸摸鍵3引腳電平狀態(tài)
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:0=未檢測(cè)到有觸摸  1=檢測(cè)到觸摸
 * 作       者:LC
 * 備       注:無
******************************************************************/

char Key_IN3_Scanf(void)
{
    return KEY_IN3;
}
/******************************************************************
 * 函 數(shù) 名 稱:Key_IN4_Scanf
 * 函 數(shù) 說 明:返回觸摸鍵4引腳電平狀態(tài)
 * 函 數(shù) 形 參:無
 * 函 數(shù) 返 回:0=未檢測(cè)到有觸摸  1=檢測(cè)到觸摸
 * 作       者:LC
 * 備       注:無
******************************************************************/
char Key_IN4_Scanf(void)
{
    return KEY_IN4;
}

在文件bsp_touchkey.h中,編寫如下代碼。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */

#ifndef _BSP_TOUCHKEY_H_
#define _BSP_TOUCHKEY_H_

#include "board.h"


#define RCC_TTP_ENABLE()     __RCC_GPIOA_CLK_ENABLE()
#define PORT_TTP             CW_GPIOA

#define GPIO_IN1             GPIO_PIN_1
#define GPIO_IN2             GPIO_PIN_2
#define GPIO_IN3             GPIO_PIN_3
#define GPIO_IN4             GPIO_PIN_4


#define KEY_IN1   GPIO_ReadPin(PORT_TTP, GPIO_IN1)
#define KEY_IN2   GPIO_ReadPin(PORT_TTP, GPIO_IN2)
#define KEY_IN3   GPIO_ReadPin(PORT_TTP, GPIO_IN3)
#define KEY_IN4   GPIO_ReadPin(PORT_TTP, GPIO_IN4)

void TTP224_GPIO_Init(void);//引腳初始化
char Key_IN1_Scanf(void);//觸摸按鍵1的輸入狀態(tài)
char Key_IN2_Scanf(void);//觸摸按鍵2的輸入狀態(tài)
char Key_IN3_Scanf(void);//觸摸按鍵3的輸入狀態(tài)
char Key_IN4_Scanf(void);//觸摸按鍵4的輸入狀態(tài)

#endif

04移植驗(yàn)證

在自己工程中的main主函數(shù)中,編寫如下。

/*
 * Change Logs:
 * Date           Author       Notes
 * 2024-06-20     LCKFB-LP    first version
 */
#include "board.h"
#include "stdio.h"
#include "bsp_uart.h"
#include "bsp_touchkey.h"

int32_t main(void)
{
    board_init();        // 開發(fā)板初始化

    uart1_init(115200);        // 串口1波特率115200

    TTP224_GPIO_Init();
    printf("ttp224 demo startrn");
    while(1)
    {
        if(Key_IN1_Scanf() == 1)
        {
            printf("[1]-Touch!rn");
            while(Key_IN1_Scanf() == 1); // 等待松開

        }
        if(Key_IN2_Scanf() == 1)
        {
            printf("[2]-Touch!rn");
            while(Key_IN2_Scanf() == 1); // 等待松開
        }
        if(Key_IN3_Scanf() == 1)
        {
            printf("[3]-Touch!rn");
            while(Key_IN3_Scanf() == 1); // 等待松開
        }
        if(Key_IN4_Scanf() == 1)
        {
            printf("[4]-Touch!rn");
            while(Key_IN4_Scanf() == 1); // 等待松開
        }

        delay_ms(200);
    }
}

移植現(xiàn)象:觸摸那個(gè)區(qū)域就打印那個(gè)區(qū)域被觸摸。

wKgaombqgseASDj1AABuIk5rMog83.webp

模塊移植成功案例代碼:

鏈接:https://pan.baidu.com/s/166WcF1ArFv-DnEUmhNz5xA?pwd=LCKF

提取碼:LCKF

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2545

    文章

    50445

    瀏覽量

    751031
  • 觸摸傳感器
    +關(guān)注

    關(guān)注

    0

    文章

    121

    瀏覽量

    23041
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    174

    瀏覽量

    549
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于TTP223觸摸傳感器IC和與Arduino連接的門鎖系統(tǒng)

    電容式觸摸傳感器模塊基于專用TTP223觸摸傳感器IC。該
    的頭像 發(fā)表于 12-25 17:12 ?4817次閱讀

    基于TTP224的電容式觸摸按鍵程序步驟與原理圖

    TTP224是一款使用電容式感應(yīng)原理設(shè)計(jì)的觸摸IC,其穩(wěn)定的感應(yīng)方式可以應(yīng)用到各種不同電子類產(chǎn)品,面板介質(zhì)可以是完全絕源的材料,專為取代傳統(tǒng)的機(jī)械結(jié)構(gòu)開關(guān)或普通按鍵而設(shè)計(jì).提供4個(gè)觸摸輸入端口及4個(gè)直接輸出端口。
    的頭像 發(fā)表于 06-07 08:52 ?8237次閱讀
    基于<b class='flag-5'>TTP224</b>的電容式<b class='flag-5'>觸摸</b>按鍵程序步驟與原理圖

    CW32移植Free-RTOS】CW32開發(fā)者扶持計(jì)劃

    CW32配置Free-RTOS全過程,CW32開發(fā)者扶持計(jì)劃
    的頭像 發(fā)表于 04-18 09:38 ?6069次閱讀
    【<b class='flag-5'>CW32</b>移植Free-RTOS】<b class='flag-5'>CW32</b>開發(fā)者扶持計(jì)劃

    【應(yīng)用筆記】CW32 電容式觸摸按鍵設(shè)計(jì)指南

    前言CW32電容式觸摸按鍵設(shè)計(jì)指南向客戶提供一種利用CW32內(nèi)部資源結(jié)合軟件編程實(shí)現(xiàn)電容式觸摸按鍵有效觸摸檢測(cè)的方法。本指南的內(nèi)容重點(diǎn)在于工
    的頭像 發(fā)表于 07-04 11:44 ?967次閱讀
    【應(yīng)用筆記】<b class='flag-5'>CW32</b> 電容式<b class='flag-5'>觸摸</b>按鍵設(shè)計(jì)指南

    CW32電容式觸摸按鍵設(shè)計(jì)指南

    CW32 系列小規(guī)模 MCU 的 IO、比較、定時(shí)、高速高精度內(nèi)置 RC 時(shí)鐘源以及高算力等功能,通過檢測(cè)電路端子電容的微小變化和波動(dòng),實(shí)現(xiàn)電容式觸摸按鍵功能。其外圍電路簡(jiǎn)單,
    發(fā)表于 09-15 06:00

    4B-BSBN/TTP224B-BSB 四按鍵觸摸檢測(cè)芯片資料下載.pdf

    4B-BSBN/TTP224B-BSB 四按鍵觸摸檢測(cè)芯片資料下載.pdf
    發(fā)表于 04-27 09:58 ?46次下載

    TTP224B-BSBN和TTP224B-BSB電容式感應(yīng)原理設(shè)計(jì)的觸摸芯片數(shù)據(jù)免費(fèi)下載

    TTP224B-BSBN/TTP224B-BSB TonTouch IC 是一款使用電容式感應(yīng)原理設(shè)計(jì)的觸摸 IC,此款I(lǐng)C 內(nèi)建穩(wěn)壓電路給觸摸感測(cè)器使用,穩(wěn)定的感應(yīng)效果可以應(yīng)用在廣
    發(fā)表于 09-07 08:00 ?59次下載
    <b class='flag-5'>TTP224</b>B-BSBN和<b class='flag-5'>TTP224</b>B-BSB電容式感應(yīng)原理設(shè)計(jì)的<b class='flag-5'>觸摸</b>芯片數(shù)據(jù)免費(fèi)下載

    TTP224B-BSBN和TTP224B-BSB按鍵觸摸檢測(cè)IC的中文數(shù)據(jù)手冊(cè)免費(fèi)下載

    TTP224B-BSBN/TTP224B-BSB TonTouchTM IC 是一款使用電容式感應(yīng)原理設(shè)計(jì)的觸摸 IC,此款 IC 內(nèi)建穩(wěn)壓電路給觸摸感測(cè)器使用,穩(wěn)定的感應(yīng)效果可以應(yīng)用
    發(fā)表于 10-08 08:00 ?58次下載
    <b class='flag-5'>TTP224</b>B-BSBN和<b class='flag-5'>TTP224</b>B-BSB按鍵<b class='flag-5'>觸摸</b>檢測(cè)IC的中文數(shù)據(jù)手冊(cè)免費(fèi)下載

    臺(tái)灣通泰TTP224C-BSBN

    TTP224C-BSBN/TTP224C-BSB TonTouchTM IC是電容式傳感設(shè)計(jì)特別適用于觸摸板控制。該設(shè)備內(nèi)置觸摸
    發(fā)表于 11-22 16:10 ?647次閱讀

    使用Arduino和TTP223觸摸傳感器制作智能電子投票機(jī)

    電子發(fā)燒友網(wǎng)站提供《使用Arduino和TTP223觸摸傳感器制作智能電子投票機(jī).zip》資料免費(fèi)下載
    發(fā)表于 11-23 14:23 ?0次下載
    使用Arduino和<b class='flag-5'>TTP</b>223<b class='flag-5'>觸摸</b><b class='flag-5'>傳感器</b>制作智能電子投票機(jī)

    cw32和gd32的區(qū)別

    推出的一款32位微控制,它是WCH唯一以ARM Cortex-M3內(nèi)核為基礎(chǔ)的產(chǎn)品系列,Cortex-M3內(nèi)核是ARM公司的經(jīng)典內(nèi)核之一,性能穩(wěn)定,功耗低。CW32系列的主頻高達(dá)72MHz,內(nèi)置了
    的頭像 發(fā)表于 08-16 11:15 ?1826次閱讀

    CW32 電容式觸摸按鍵設(shè)計(jì)指南

    CW32 電容式觸摸按鍵設(shè)計(jì)指南
    的頭像 發(fā)表于 10-25 16:36 ?979次閱讀
    <b class='flag-5'>CW32</b> 電容式<b class='flag-5'>觸摸</b>按鍵設(shè)計(jì)指南

    基于CW32的RC522刷卡模塊的應(yīng)用

    基于CW32的RC522刷卡模塊的應(yīng)用
    的頭像 發(fā)表于 11-02 14:53 ?1014次閱讀
    基于<b class='flag-5'>CW32</b>的RC522刷卡<b class='flag-5'>模塊</b>的應(yīng)用

    基于CW32的物聯(lián)網(wǎng)應(yīng)用

    CW32】基于CW32的物聯(lián)網(wǎng)應(yīng)用
    的頭像 發(fā)表于 11-02 15:55 ?714次閱讀
    基于<b class='flag-5'>CW32</b>的物聯(lián)網(wǎng)應(yīng)用

    CW32單片機(jī)在智能馬桶的應(yīng)用介紹

    和調(diào)節(jié)。本文將介紹CW32單片機(jī)在智能馬桶的詳細(xì)應(yīng)用。圖:CW32的智能馬桶控制板CW32單片機(jī)在智能馬桶的應(yīng)用介紹1.溫度感應(yīng)與控制智能馬桶內(nèi)設(shè)有溫度傳感器,通
    的頭像 發(fā)表于 12-20 10:09 ?565次閱讀
    <b class='flag-5'>CW32</b>單片機(jī)在智能馬桶的應(yīng)用介紹