物联网AI MicroPython传感器学习 之 4路电容式触摸开关

news2024/9/30 3:22:30

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

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

  • 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

三、软件接口

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

  • 函数原型:

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

  • 参数说明:
参数类型必选参数?说明
ttp01ObjGPIO
ttp02ObjGPIO
ttp03ObjGPIO
ttp04ObjGPIO
  • 返回值:
    TTP224对象创建成功,返回TTP224对象;TTP224对象创建失败,抛出Exception
  • 示例代码:
from machine import Pin
import ttp224

ttp01Dev = Pin(2, Pin.IN, Pin.PULLUP)
ttp02Dev = Pin(4, Pin.IN, Pin.PULLUP)
ttp03Dev = Pin(16, Pin.IN, Pin.PULLUP)
ttp04Dev = Pin(17, Pin.IN, Pin.PULLUP)
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-触摸
  • 示例:
from machine import Pin
import ttp224
import utime

ttp01Dev = Pin(2, Pin.IN, Pin.PULLUP)
ttp02Dev = Pin(4, Pin.IN, Pin.PULLUP)
ttp03Dev = Pin(16, Pin.IN, Pin.PULLUP)
ttp04Dev = Pin(17, Pin.IN, Pin.PULLUP)
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

四、接口案例

  • 示例代码:
# Python代码
from machine import Pin
import ttp224
import utime

ttp01Dev = Pin(2, Pin.IN, Pin.PULLUP)
ttp02Dev = Pin(4, Pin.IN, Pin.PULLUP)
ttp03Dev = Pin(16, Pin.IN, Pin.PULLUP)
ttp04Dev = Pin(17, Pin.IN, Pin.PULLUP)
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_ms(500)
  • 输出:
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

参考文献及购买链接

  • [1] 4路电容式触摸开关购买链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1073026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java学习笔记(一)

目录 一、Java概述 (一)Java技术体系平台 (二)Java重要特点 (三)Java运行机制及运行过程 (四)JDK (五)JRE 二、Java的快速入门 (一&#…

岩土工程安全监测无线振弦采集仪在无线组网的关键要点

岩土工程安全监测无线振弦采集仪在无线组网的关键要点 岩土工程是一种奇特而又极其重要的工程。它涉及到土地、岩石、气候等等因素,需要重视安全因素。而无线振弦采集仪作为一种常用的监测设备,可以采集岩土工程中的振动数据,从而确保工程的…

Go代码包与引入:如何有效组织您的项目

目录 一、引言二、代码包概述基础定义常用标准库包 三、创建代码包文件结构命名规则公共与私有标识符举例 五、包引入基础包引入批量引入别名Dot Import匿名引入初始化顺序完整的引入声明语句形式 六、包的组织和管理使用 go mod 管理模块模块依赖本地替换和代理设置包的版本控…

leetCode 1143.最长公共子序列 动态规划 + 滚动数组

1143. 最长公共子序列 - 力扣(LeetCode) 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串…

好用的文件备份软件推荐!

为什么需要文件备份软件? 在我们使用计算机的日常工作生活中,可能会遇到各种不同类型的文件,例如文档、Word文档、Excel表格、PPT演示文稿、图片等,这些数据中可能有些对我们来说很重要,但是可能会因为一些意外状况…

二极管“天马行空”的作用,你知道吗?

网友:二极管怎么有这么多种类呀? 工程师:二极管可以说除了电阻电容外用的比较多的一种元器件,起到的作用多着呢 那么二极管都可以起到哪些作用呢: 一、防反作用,主回路中串联一个二极管,是利用…

如何在10分钟内让Android应用大小减少 60%?

一个APP的包之所以大,主要包括一下文件 代码libso本地库资源文件(图片,音频,字体等) 瘦身就主要瘦这些。 一、打包的時候刪除不用的代码 buildTypes {debug {...shrinkResources true // 是否去除无效的资源文件(如…

基于火山引擎云搜索服务的排序学习实战

排序学习(LTR: Learning to Rank)作为一种机器学习技术,其应用场景非常广泛。例如,在电商推荐领域,可以帮助电商平台对用户的购买历史、搜索记录、浏览行为等数据进行分析和建模;可以帮助搜索引擎对用户的搜索关键词进行分析建模&…

警惕Mallox勒索病毒的最新变种mallab,您需要知道的预防和恢复方法。

导言: 在我们数字化的世界中,.mallab勒索病毒如同一只潜伏的恶龙,威胁着我们的数据安全。本文将深入探讨.mallab勒索病毒的攻击方式,同时提供生动的对策,助您从这场数据恶梦中苏醒。如果受感染的数据确实有恢复的价值…

面试经典 150 题 4 —(数组 / 字符串)— 80. 删除有序数组中的重复项 II

80. 删除有序数组中的重复项 II 方法一 class Solution { public:int removeDuplicates(vector<int>& nums) {int len 0;for(auto num : nums)if(len < 2 || nums[len-2] ! num)nums[len] num;return len;} };方法二 class Solution { public:int removeDupli…

仅个人记录:复现dotspatialdemo、打包、

复现dotspatialdemo 原始文件 一、新建项目、工具箱设置&#xff0c;项目引用等看上一篇 二、根据Form1.Designer.cs设计界面Form1.cs[设计] SplitContainer控件&#xff1a;将容器的显示区域分成两个大小可调的、可以向其中添加控件的面板。 legend控件&#xff1a;图例 map控…

anaconda安装及配置+pytorch安装与配置(自用笔记)

anaconda安装及配置 1、anaconda官网下载安装包 下载好后进行安装 2、anaconda安装地址(记住安装路径)&#xff1a; 3、配置环境变量 打开anaconda prompt: 输入命令conda list: 可以看到安装好的很多包&#xff01; 至此anaconda配置完成。 PyTorch的安装与配置 使用con…

Windows系统搭建VisualSVN服务结合内网穿透实现公网访问

文章目录 前言1. VisualSVN安装与配置2. VisualSVN Server管理界面配置3. 安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4. 固定公网地址访问 前言 SVN 是 subversion 的缩写&#xff0c;是一个开放源代码的版本控制系统…

STM32 CubeMX PWM两种模式(HAL库)

STM32 CubeMX PWM两种模式&#xff08;HAL库&#xff09; STM32 CubeMX STM32 CubeMX PWM两种模式&#xff08;HAL库&#xff09;一、互补对称输出STM32 CubeMX设置代码部分 二、普通模式STM32 CubeMX设置![在这里插入图片描述](https://img-blog.csdnimg.cn/647ba7dcefb545bb8…

dubbo3+zookeeper+dubbo-admin

工程结构&#xff1a; 版本信息&#xff1a; jdk版本&#xff1a;1.8 springboot-parent版本&#xff1a;2.6.6 springboot版本&#xff1a;2.6.6 dubbo版本&#xff1a;3.0.7 curator版本&#xff1a;4.2.0注意事项&#xff1a;正确的版本很重要&#xff0c;否则会报莫名其妙…

智慧楼宇3D数据可视化大屏交互展示实现了楼宇能源的高效、智能、精细化管控

智慧园区是指将物联网、大数据、人工智能等技术应用于传统建筑和基础设施&#xff0c;以实现对园区的全面监控、管理和服务的一种建筑形态。通过将园区内设备、设施和系统联网&#xff0c;实现数据的传输、共享和响应&#xff0c;提高园区的管理效率和运营效益&#xff0c;为居…

[开源]MIT协议,开源论坛程序,拥有友好的用户界面和操作体验

一、开源项目简介 尤得一物是一个开源论坛程序&#xff0c;提供丰富的功能&#xff0c;可以作为管理或分享文章的论坛博客&#xff0c;也可以在此基础上进行自定义开发。 二、开源协议 使用MIT开源协议 三、界面展示 四、功能概述 尤得一物是一个开源论坛程序&#xff0c;…

什么是轴电流?轴电流对轴承有什么危害?

根据同步发电机结构及工作原理&#xff0c;由于定子铁芯组合缝、定子硅钢片接缝&#xff0c;定子与转子空气间隙不均匀&#xff0c;轴中心与磁场中心不一致等&#xff0c;机组的主轴不可避免地要在一个不完全对称的磁场中旋转。这样&#xff0c;在轴两端就会产生一个交流电压。…

电动机监控系统在企业降碳过程中的作用-安科瑞黄安南

1.前言 据《2017-2022年中国电力工业产业专项调查及十三五市场商机分析报告》显示&#xff0c;从我国目前全社会用电结构来看&#xff0c;工商业用户耗电量约占 80%&#xff0c;其中电机耗电约占工业用电的 75%&#xff0c;全国总耗电的 60%&#xff0c;是用户终端耗电占比较大…

阿里云/腾讯云国际站代理:阿里云实名账号和亚马逊云,挑战依然巨大

阿里云国际代理商开户去哪里&#xff0c;认准小狐狸云&#xff0c;是阿里云国际站生态合作伙伴。与阿里云、华为云、aws长期战略合作计划&#xff01;阿里云国际站代理商专业云服务商&#xff01;支持 usdt充值美金&#xff0c;支持阿里云服务器不限制地区购买&#xff0c;云数…