【HaaS Python硬件积木】4路触摸电容模块-TTP224

简介: 【HaaS Python硬件积木】4路触摸电容模块-TTP224

来这里发现更多拿来即用的传感器

HaaS开发框架

HaaS积木方案,赋能生态开发者,让您快速找到自己需要的解决方案,硬件主板与外设,以及各种应用组件。

https://haas.iot.aliyun.com/solution/hardware


一、产品简介

板载TTP224电容式4键触摸感应IC,开发者通过触摸该电容模块获取对应的高低电平状态,可以广泛应用于灯光控制、玩具、家用电器等产品中。



引脚定义:


VCC:接 3.3V

GND:接 GND

OUT1:接 GPIO

OUT2:接 GPIO

OUT3:接 GPIO

OUT4:接 GPIO

二、技术参数

工作电压:2.3V-5.5V DC

TTP224电流(3V):2.5uA-9.0uA

板载4路电平状态指示灯

模式:设置输出模式、键输出模式、上限输出时间和快速/低功耗选择

规格尺寸:35mm * 29mm

三、软件接口

4路触摸电容模块HaaS Python驱动:下载地址


TTP224(ttp01Obj,ttp02Obj,ttp03Obj,ttp04Obj) - 创建TTP224驱动对象

函数原型:

ttp224Obj = TTP224(ttp01Obj,ttp02Obj,ttp03Obj,ttp04Obj)


参数说明:

参数 类型 必选参数? 说明

ttp01Obj GPIO 否

ttp02Obj GPIO 否

ttp03Obj GPIO 否

ttp04Obj GPIO 否

返回值: TTP224对象创建成功,返回TTP224对象;TTP224对象创建失败,抛出Exception

示例代码:

import ttp224

from driver import GPIO

ttp01Dev = GPIO()

ttp01Dev.open("ttp01")

ttp02Dev = GPIO()

ttp02Dev.open("ttp02")

ttp03Dev = GPIO()

ttp03Dev.open("ttp03")

ttp04Dev = GPIO()

ttp04Dev.open("ttp04")

ttp = ttp224.TTP224(ttp01Dev,None,ttp03Dev)

print("ttp224 inited!")

输出:

ttp224 inited!

getStatus() - 获取TTP224的电容触摸状态值

函数功能: 获取TTP224的电容触摸状态值

函数原型:

TTP224.getStatus()


参数说明: 无

返回值:

返回值 类型 说明

cntobj 整型 返回创建了几路TTP对象,0-没有创建对象

ttp01 整型 None-该路未创建,0-未触摸,1-触摸

ttp02 整型 None-该路未创建,0-未触摸,1-触摸

ttp03 整型 None-该路未创建,0-未触摸,1-触摸

ttp04 整型 None-该路未创建,0-未触摸,1-触摸

示例:

import ttp224

from driver import GPIO

import utime

ttp01Dev = GPIO()

ttp01Dev.open("ttp01")

ttp02Dev = GPIO()

ttp02Dev.open("ttp02")

ttp03Dev = GPIO()

ttp03Dev.open("ttp03")

ttp04Dev = GPIO()

ttp04Dev.open("ttp04")

ttp = ttp224.TTP224(ttp01Dev,None,ttp03Dev)

print("ttp224 Init!")

while True:             # 无限循环

   cnt,ttp01,ttp02,ttp03,ttp04 = ttp.getStatus()

   print(cnt,ttp01,ttp02,ttp03,ttp04)

   utime.sleep(1)


输出:

ttp224 Init!

2 0 None 0 None

2 0 None 0 None

2 0 None 0 None

2 0 None 0 None

2 0 None 0 None

2 1 None 0 None

2 1 None 0 None

2 0 None 0 None

2 0 None 1 None

2 1 None 1 None

2 0 None 0 None

2 0 None 0 None

2 0 None 0 None

四、接口案例

此使用实例在board.json中定义了名为tTTP224的I2C类型的对象。在Python脚本中周期性的获取TTP224各路触摸电容的状态并打印在日志中。


代码:

# board.json配置:

{

   "name": "board-name",

   "version": "1.0.0",

   "io": {

     "ttp01": {

       "type": "GPIO",

       "port": 2,

       "dir": "input",

       "pull": "pullup"

     },

     "ttp02": {

       "type": "GPIO",

       "port": 12,

       "dir": "input",

       "pull": "pullup"

     },

     "ttp03": {

       "type": "GPIO",

       "port": 13,

       "dir": "input",

       "pull": "pullup"

     },

     "ttp04": {

       "type": "GPIO",

       "port": 14,

       "dir": "input",

       "pull": "pullup"

     }

   },

   "debugLevel": "ERROR",

   "repl": "disable"

}


# Python代码

import ttp224

from driver import GPIO

import utime

ttp01Dev = GPIO()

ttp01Dev.open("ttp01")

ttp02Dev = GPIO()

ttp02Dev.open("ttp02")

ttp03Dev = GPIO()

ttp03Dev.open("ttp03")

ttp04Dev = GPIO()

ttp04Dev.open("ttp04")

ttp = ttp224.TTP224(ttp01Dev,ttp02Dev,ttp03Dev,ttp04Dev)

print("ttp224 Init!")

while True:             # 无限循环

   cnt,ttp01,ttp02,ttp03,ttp04 = ttp.getStatus()

   print(cnt,ttp01,ttp02,ttp03,ttp04)

   utime.sleep(1)


输出:

ttp224 Init!

4 0 0 0 0

4 0 0 0 0

4 0 0 0 0

4 0 0 0 0

4 1 0 0 0

4 1 1 0 0

4 0 0 1 0

 

————————————————

版权声明:本文为CSDN博主「HaaS技术社区」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/HaaSTech/article/details/124926760

相关文章
|
4天前
|
人工智能 安全 Java
Python 多线程编程实战:threading 模块的最佳实践
Python 多线程编程实战:threading 模块的最佳实践
120 5
|
4天前
|
人工智能 数据库 开发者
Python中的atexit模块:优雅地处理程序退出
Python中的atexit模块:优雅地处理程序退出
8 3
|
7天前
|
存储 开发者 Python
Python中的argparse模块:命令行参数解析的利器
Python中的argparse模块:命令行参数解析的利器
16 2
|
7天前
|
开发者 Python
Python的os模块详解
Python的os模块详解
16 0
|
11天前
|
数据挖掘 API 数据安全/隐私保护
python请求模块requests如何添加代理ip
python请求模块requests如何添加代理ip
|
12天前
|
测试技术 Python
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
|
12天前
|
Serverless 开发者 Python
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
40 1
|
14天前
|
开发者 Python
Python中的并发编程:使用asyncio模块实现异步任务
传统的Python编程中,使用多线程或多进程进行并发操作时,常常会面临性能瓶颈和资源竞争的问题。而随着Python 3.5版本的引入,asyncio模块为开发者提供了一种基于协程的异步编程方式。本文将介绍如何使用asyncio模块实现异步任务,提高Python程序的并发处理能力。
|
14天前
|
测试技术 Python
Python 的自动化测试:如何使用 Python 的 unittest 模块进行测试?
在Python中进行自动化测试可利用`unittest`模块。以下是一个简单的示例,展示了如何编写测试用例
10 0
|
14天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
57 0