来这里发现更多拿来即用的传感器
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