当前位置:   article > 正文

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

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)

  • 参数说明:
参数类型必选参数?说明
ttp01ObjGPIO
ttp02ObjGPIO
ttp03ObjGPIO
ttp04ObjGPIO
  • 返回值: TTP224对象创建成功,返回TTP224对象;TTP224对象创建失败,抛出Exception
  • 示例代码:
  1. import ttp224
  2. from driver import GPIO
  3. ttp01Dev = GPIO()
  4. ttp01Dev.open("ttp01")
  5. ttp02Dev = GPIO()
  6. ttp02Dev.open("ttp02")
  7. ttp03Dev = GPIO()
  8. ttp03Dev.open("ttp03")
  9. ttp04Dev = GPIO()
  10. ttp04Dev.open("ttp04")
  11. ttp = ttp224.TTP224(ttp01Dev,None,ttp03Dev)
  12. 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-触摸
  • 示例:
  1. import ttp224
  2. from driver import GPIO
  3. import utime
  4. ttp01Dev = GPIO()
  5. ttp01Dev.open("ttp01")
  6. ttp02Dev = GPIO()
  7. ttp02Dev.open("ttp02")
  8. ttp03Dev = GPIO()
  9. ttp03Dev.open("ttp03")
  10. ttp04Dev = GPIO()
  11. ttp04Dev.open("ttp04")
  12. ttp = ttp224.TTP224(ttp01Dev,None,ttp03Dev)
  13. print("ttp224 Init!")
  14. while True: # 无限循环
  15. cnt,ttp01,ttp02,ttp03,ttp04 = ttp.getStatus()
  16. print(cnt,ttp01,ttp02,ttp03,ttp04)
  17. utime.sleep(1)
  • 输出:
  1. ttp224 Init!
  2. 2 0 None 0 None
  3. 2 0 None 0 None
  4. 2 0 None 0 None
  5. 2 0 None 0 None
  6. 2 0 None 0 None
  7. 2 1 None 0 None
  8. 2 1 None 0 None
  9. 2 0 None 0 None
  10. 2 0 None 1 None
  11. 2 1 None 1 None
  12. 2 0 None 0 None
  13. 2 0 None 0 None
  14. 2 0 None 0 None

四、接口案例

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

  • 代码:
# board.json配置:
  1. {
  2. "name": "board-name",
  3. "version": "1.0.0",
  4. "io": {
  5. "ttp01": {
  6. "type": "GPIO",
  7. "port": 2,
  8. "dir": "input",
  9. "pull": "pullup"
  10. },
  11. "ttp02": {
  12. "type": "GPIO",
  13. "port": 12,
  14. "dir": "input",
  15. "pull": "pullup"
  16. },
  17. "ttp03": {
  18. "type": "GPIO",
  19. "port": 13,
  20. "dir": "input",
  21. "pull": "pullup"
  22. },
  23. "ttp04": {
  24. "type": "GPIO",
  25. "port": 14,
  26. "dir": "input",
  27. "pull": "pullup"
  28. }
  29. },
  30. "debugLevel": "ERROR",
  31. "repl": "disable"
  32. }
# Python代码
  1. import ttp224
  2. from driver import GPIO
  3. import utime
  4. ttp01Dev = GPIO()
  5. ttp01Dev.open("ttp01")
  6. ttp02Dev = GPIO()
  7. ttp02Dev.open("ttp02")
  8. ttp03Dev = GPIO()
  9. ttp03Dev.open("ttp03")
  10. ttp04Dev = GPIO()
  11. ttp04Dev.open("ttp04")
  12. ttp = ttp224.TTP224(ttp01Dev,ttp02Dev,ttp03Dev,ttp04Dev)
  13. print("ttp224 Init!")
  14. while True: # 无限循环
  15. cnt,ttp01,ttp02,ttp03,ttp04 = ttp.getStatus()
  16. print(cnt,ttp01,ttp02,ttp03,ttp04)
  17. utime.sleep(1)
  • 输出:
  1. ttp224 Init!
  2. 4 0 0 0 0
  3. 4 0 0 0 0
  4. 4 0 0 0 0
  5. 4 0 0 0 0
  6. 4 1 0 0 0
  7. 4 1 1 0 0
  8. 4 0 0 1 0

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/211669
推荐阅读
相关标签
  

闽ICP备14008679号