当前位置: 首页 > news >正文

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

学物联网,来万物简单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 ttp224ttp01Dev = 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 utimettp01Dev = 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 utimettp01Dev = 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路电容式触摸开关购买链接

相关文章:

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

学物联网,来万物简单IoT物联网!! 一、产品简介 板载TTP224电容式4键触摸感应IC,开发者通过触摸该电容模块获取对应的高低电平状态,可以广泛应用于灯光控制、玩具、家用电器等产品中。 引脚定义: VCC&…...

头戴式耳机什么牌子最好?头戴式耳机推荐性价比高

脖子上挎个头戴式作为随身装备,不仅给服装配饰添加了潮流感,还可以可以随时聆听音乐,随着广大消费者的生活水平不断提高,市面上的头戴式耳机越来越多。 选择头戴式耳机时无非就是听音质、看外观、舒适度等等,那么头戴…...

第 366 场周赛 LeetCode 周赛题解

A 分类求和并作差 模拟 class Solution { public:int differenceOfSums(int n, int m) {int res 0;for (int i 1; i < n; i)res i % m ! 0 ? i : -i;return res;} };B 最小处理时间 排序&#xff1a;设四个 p r o c e s s o r T i m e processorTime processorTime 的元…...

Linux: tcpdump抓包示例

文章目录 1. 前言2. TCP 状态机3. tcpdump 抓包示例3.1 抓连接握手包&#xff1a;三次握手3.2 抓数据包示例3.3 抓终结连接&#xff1a;四次挥手 4. 参考资料 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任…...

seafile server10.0.1 onlyoffice

目标&#xff1a;解决seafile server无法查看office相关文档问题 seafile server 已安装完成 安装onlyoffice 一、Install Docker Engine on Ubuntu 20.04 验证是否安装成功 sudo docker run hello-world 二、拉取onlyoffice/documentserver 镜像及安装 docker network cre…...

商城系统选型:Java商城系统还是PHP商城系统好?

电子商务的不断发展&#xff0c;商城系统成为了企业建设在线销售平台的重要组成部分。 可是在选择合适的商城系统时&#xff0c;许多企业面临着一个重要的决策&#xff1a;是选择Java商城系统还是PHP商城系统呢&#xff1f;下面就对这两种常见的商城系统进行比较&#xff0c;并…...

【多线程进阶】线程安全的集合类

文章目录 前言1. 多线程环境使用 ArrayList2. 多线程环境使用队列3. 多线程环境使用哈希表3.1 HashTable3.2 ConcurrentHashMap 总结 前言 本文主要讲解 Java 线程安全的集合类, 在之前学习过的集合类中, 只有 Vector, Stack, HashTable, 是线程安全的, 因为在他们的关键方法中…...

016 Spring Boot + Vue 图书管理系统

Spring Boot Vue 图书馆管理系统&#xff08;library-system&#xff09; 本地快捷预览项目 第一步&#xff1a;运行 db 文件夹下的springboot-vue.sql(询问作者获取)&#xff0c;创建springboot-vue数据库 第二步&#xff1a;修改后端数据库配置文件&#xff0c;启动后端 …...

C语言中volatile/register/const/static/extern/auto关键字的作用

目录 一、volatile 二、register详解 三、const详解 四、static详解 五、extern详解 语法 作用 六、auto详解 突然想总结一下这些关键字的作用&#xff0c;灵活使用这些对程序的可靠性和速率都有提高 一、volatile volatile是防止编译器优化&#xff0c;如果是高频繁…...

docker compose的安装和使用

docker-copose 介绍 docker-compose 是一个容器编排工具&#xff08;自动化部署、管理&#xff09;; 它用来在单台 Linux 服务器上运行多个 Docker 容器; docker-compose 使用YAML文件来配置所有需要运行的 Docker 容器&#xff0c;该 YAML 文件的默认名称为 docker-compose.…...

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found (required by

在某项目中遇到下面的错误&#xff0c; ./model2trt_v2: /lib64/libstdc.so.6: version GLIBCXX_3.4.21 not found (required by ./model2trt_v2) ./model2trt_v2: /lib64/libstdc.so.6: version GLIBCXX_3.4.21 not found (required by ../../../lib/linux_lib/libcuda_utils…...

数字化转型的必备工具:智能呼叫中心系统的应用

数字化转型已经成为企业发展的必然趋势&#xff0c;在这个过程中&#xff0c;智能呼叫中心系统成为了一个不可或缺的工具。智能呼叫中心系统通过整合各种通信渠道和自动化技术&#xff0c;为企业提供了高效、智能的客户服务解决方案。 首先&#xff0c;系统能够集成多种通信渠…...

macOS Sonoma 正式版系统已发布,macos14值得更新吗

北京时间9月27日macOS Sonoma 正式版系统发布&#xff0c;为 Mac 带来一系列丰富新功能&#xff1a;优化小组件、升级视频会议、沉浸式游戏体验等&#xff0c;最新macos14值得更新吗&#xff1f;这里根据我一个月的试用beta版本体验来分享一下。 我使用的是M1芯片的MacBook air…...

数据结构-图-最短路径问题

最短路径问题 单源最短路径Dijkstra算法原理代码实现 Bellman-Ford算法原理代码实现SPFA优化SPFA代码实现 多元最短路径Floyd-Warshall算法原理代码实现 单源最短路径 &#x1f680;最短路径&#xff1a;从图G的某个顶点出发到达另一个顶点的最短路径&#xff0c;其中最短是指…...

弹性资源组件elastic-resource设计(二)-集群

简介 弹性资源组件提供动态资源能力,是分布式系统关键基础设施,分布式datax,分布式索引,事件引擎都需要集群和资源的弹性资源能力,提高伸缩性和作业处理能力。 本文介绍弹性资源组件的设计,包括架构设计和详细设计,指导开发人员代码开发,设计基于《flink原理源码分析(一…...

Flink学习笔记(一):Flink重要概念和原理

文章目录 1、Flink 介绍2、Flink 概述3、Flink 组件介绍3.1、Deploy 物理部署层3.2、Runtime 核心层3.3、API&Libraries 层3.4、扩展库 4、Flink 四大基石4.1、Checkpoint4.2、State4.3、Time4.4、Window 5、Flink 的应用场景5.1、Event-driven Applications【事件驱动】5.…...

网络中的一些基本概念

数据共享本质是网络数据传输 &#xff0c;即计算机之间通过网络来传输数据&#xff0c;也称为 网络通信 。 根据网络互连的规模不同&#xff0c;可以划分为局域网和广域网。 局域网 LAN 局域网&#xff0c;即 Local Area Network &#xff0c;简称 LAN 。 Local 即标识了局…...

mysql中varchar长度为多少

一. varchar存储规则&#xff1a; 4.0版本以下&#xff0c;varchar(20)&#xff0c;指的是20字节&#xff0c;如果存放UTF8汉字时&#xff0c;只能存6个&#xff08;每个汉字3字节&#xff09; 5.0版本以上&#xff0c;varchar(20)&#xff0c;指的是20字符&#xff0c;无论存…...

python+selenium实现UI自动化(入门篇)

一、基础准备。 python环境安装&#xff0c;参考&#xff1a;CSDN pycharm安装&#xff0c;参考&#xff1a;CSDN 谷歌浏览器驱动配置&#xff0c;参考&#xff1a;CSDN二、新建pycharm项目 截图中&#xff0c;上面是项目地址&#xff08;可以提前在指定位置创建文件夹&#xf…...

深度学习基础知识 nn.Sequential | nn.ModuleList | nn.ModuleDict

深度学习基础知识 nn.Sequential &#xff5c; nn.ModuleList &#xff5c; nn.ModuleDict 1、nn.Sequential 、 nn.ModuleList 、 nn.ModuleDict 类都继承自 Module 类。2、nn.Sequential、nn.ModuleList 和 nn.ModuleDict语法3、Sequential 、ModuleDict、 ModuleList 的区别…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

C# winform教程(二)----checkbox

一、作用 提供一个用户选择或者不选的状态&#xff0c;这是一个可以多选的控件。 二、属性 其实功能大差不差&#xff0c;除了特殊的几个外&#xff0c;与button基本相同&#xff0c;所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南&#xff0c;适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者&#xff0c;都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...

【Pandas】pandas DataFrame dropna

Pandas2.2 DataFrame Missing data handling 方法描述DataFrame.fillna([value, method, axis, …])用于填充 DataFrame 中的缺失值&#xff08;NaN&#xff09;DataFrame.backfill(*[, axis, inplace, …])用于**使用后向填充&#xff08;即“下一个有效观测值”&#xff09…...

简单聊下阿里云DNS劫持事件

阿里云域名被DNS劫持事件 事件总结 根据ICANN规则&#xff0c;域名注册商&#xff08;Verisign&#xff09;认定aliyuncs.com域名下的部分网站被用于非法活动&#xff08;如传播恶意软件&#xff09;&#xff1b;顶级域名DNS服务器将aliyuncs.com域名的DNS记录统一解析到shado…...