物联网AI MicroPython传感器学习 之 PAJ7620手势识别传感器
学物联网,来万物简单IoT物联网!!
一、产品简介
手势识别传感器PAJ7620u2是一款集成3D手势识别和运动跟踪为一体的交互式传感器,传感器可以在有效范围内识别手指的顺时针/逆时针转动方向和手指的运动方向等。它可以识别13种手势,包括向上移动,向下移动,向左移动,向右移动,向前移动,向后移动,顺时针方向,从左到右,从左到右等等手势姿态。
传感器可以应用于各类互动的场景:可以挥一挥手定义你想完成的任何动作,比如挥一挥手可以关灯。
引脚定义:
- VCC:3.3V
- GND:地
- SCL:I2C时钟
- SDA:I2C数据
- INT:中断引脚
二、技术参数
- 工作电压:3.3V-5V
- 通讯方式:I2C接口
- 手势识别:支持9种手势姿态
- 工作温度:-40°C~85°C
- 支持环境光:<100K Lux
- 工作电流:3mA-10mA
- 电路板尺寸:20mm * 15mm
三、软件接口
PAJ7620(i2cObj) - 创建PAJ7620传感器对象
- 函数原型
paj7620Obj = PAJ7620(i2cObj)
- 参数说明
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
i2cObj | I2C | 是 | 传入I2C对象 |
- 返回值
PAJ7620对象成功,返回PAJ7620对象;PAJ7620对象创建失败,抛出Exception
- 示例代码
from machine import Pin,I2C
import paj7620i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
paj7620Obj = paj7620.PAJ7620(i2cobj)
print('start init paj7620')
- 输出
start init paj7620
setGestureHighrate(rate:bool) - 设置手势识别的速率
- 函数功能:
设置RTC时钟信息
- 函数原型:
PAJ7620.setDatetime(data)
- 参数说明:
rate:True-高速;False-慢速
- 返回值:
无
getGesture() - 获取检测到的姿势状态值
- 函数功能:
获取检测到的姿势状态值
- 函数原型:
gesture = PAJ7620.getGesture()
- 参数说明:
无
- 返回值:
成功返回gesture的手势姿态值
gesture | 说明 |
---|---|
0 | 未检测姿态 |
1 | 向右 |
2 | 向左 |
4 | 向上 |
8 | 向下 |
16 | 向前 |
32 | 向后 |
64 | 顺时针 |
128 | 逆时针 |
256 | 摇摆 |
gestureDescription(gesture) - 获取手势姿势的描述信息
- 函数功能:
获取手势姿势的描述信息
- 函数原型:
description = PAJ7620.gestureDescription(gesture)
- 参数说明:
手势姿态状态值
- 返回值:
成功返回gesture的手势姿态描述
gesture | description | 说明 |
---|---|---|
0 | None | 未检测姿态 |
1 | Right | 向右 |
2 | Left | 向左 |
4 | Up | 向上 |
8 | Down | 向下 |
16 | Forward | 向前 |
32 | Backward | 向后 |
64 | Clockwise | 顺时针 |
128 | Anti-Clockwise | 逆时针 |
256 | Wave | 摇摆 |
- 示例:
from machine import Pin,I2C
import paj7620i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
paj7620Obj = paj7620.PAJ7620(i2cobj)
print('start init paj7620')
paj7620Obj.setGestureHighrate(True)
gesture = paj7620Obj.getGesture()
description = paj7620_obj.gestureDescription(gesture)
print("gesture code = %d"%(gesture))
print("gesture description = "+ description)
- 输出
start init paj7620
gesture code = 2
gesture description = Left
四、接口案例
- 案例代码
from machine import Pin,I2C
import paj7620
import utimepaj7620_obj = Nonedef paj7620_init():global paj7620Obji2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)paj7620Obj = paj7620.PAJ7620(i2cobj)print('start init paj7620')paj7620Obj.setGestureHighrate(True)if __name__ == '__main__':paj7620_init()while True:gesture = paj7620Obj.getGesture()if gesture != paj7620Obj.GESTURE_NONE:description = paj7620Obj.gestureDescription(gesture)print("--------------Gesture Recognition System---------------------------")print("gesture code = %d"%(gesture))print("gesture description = "+ description)
- 输出
start init paj7620
--------------Gesture Recognition System---------------------------
gesture code = 1
gesture description = Right
--------------Gesture Recognition System---------------------------
gesture code = 4
gesture description = Up
--------------Gesture Recognition System---------------------------
gesture code = 8
gesture description = Down
--------------Gesture Recognition System---------------------------
gesture code = 1
gesture description = Right
--------------Gesture Recognition System---------------------------
gesture code = 2
gesture description = Left
--------------Gesture Recognition System---------------------------
gesture code = 2
gesture description = Left
参考文献及购买链接
[1] PAJ7620手势识别传感器购买链接
相关文章:

物联网AI MicroPython传感器学习 之 PAJ7620手势识别传感器
学物联网,来万物简单IoT物联网!! 一、产品简介 手势识别传感器PAJ7620u2是一款集成3D手势识别和运动跟踪为一体的交互式传感器,传感器可以在有效范围内识别手指的顺时针/逆时针转动方向和手指的运动方向等。它可以识别13种手势&a…...

Affinity Photo 2.2.1 高端专业Mac PS修图软件
Affinity Photo Mac中文版是一款面向专业摄影师和其他视觉艺术家的专业图像处理软件,拥有众多专业高端功能,如Raw处理、PSD导入和导出、16位通道的编辑和ICC色彩管理以及兼容大量图片格式。是现在最快、最顺、最精准的专业修图软件。Affinity Photo Mac是…...

微服务-统一网关Gateway
网关的作用 对用户请求做身份认证、权限校验将用户请求路由到微服务,并实现负载均衡对用户请求做限流 搭建网关服务 创建新module,命名为Gateway,引入依赖(1.SpringCloudGateway依赖;2.Eureka客户端依赖或者nacos的服…...

【音视频|wav】wav音频文件格式详解
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...

网络工程综合试题(二)
1. SR技术有哪些缺点? SR(Segment Routing)技术是一种新兴的网络编程技术,它具有很多优点,但也存在一些缺点,包括: 部署复杂性:SR技术需要对网络进行改造和升级,包括更新…...

Android JNI/NDK 入门从一到二
1. 前言 最基础的创建JNI接口的操作,可以直接看这篇文章 : 第一个Android JNI工程, 本文会基于掌握创建JNI接口的操作的基础之上,来入门JNI/NDK。 2. 在JNI中打印日志 2.1 添加log模块 记得CMake中有log模块,不然编译不过 ta…...

吃瓜教程3|决策树
ID3算法 假定当前样本集合D中第k类样本所占比例为pk,则样本集合D的信息熵定义为 信息增益 C4.5算法 ID3算法存在一个问题,就是偏向于取值数目较多的属性,因此C4.5算法使用了“增益率”(gain ratio)来选择划分属性 CA…...

springboot动态数据源【非伪数据源】
说明:本文章的数据源不是在配置文件中配置两个或多个数据源,在业务方面对这些数据源来回切换,本文章中的数据源是可以动态添加,修改,切换的,废话不多说。 先看工程图: 1.pom.xml文件 <?x…...

如何改善设备综合效率(OEE)并提高工厂的生产力
在现代制造业中,提高设备综合效率(Overall Equipment Efficiency,OEE)是企业追求高效生产和优化生产能力的重要目标之一。OEE是一个关键的绩效指标,可以帮助企业评估设备的利用效率、生产效率和质量水平。本文将从三个…...
一文接入Android阿里Sophix热更新
最近公司项目渐趋成熟,已经不需要经常更新版本,并且更新版本对客户的影响特别大,但是日常维护难免需要更新代码,因此热修复的技术,就比较迫切了。 经过一段时间的对比,我们最终决定使用阿里的Sophix方案&am…...

【高阶数据结构】并查集和图
目录 1.数据结构--并查集 2.数据结构--图 1.图的基础概念 2.图的简单实现 2.1.邻接矩阵的图实现 2.2.邻接表的图实现 2.3.图的DFS和BFS 2.4.最小生成树 2.4.1.Kruskal(克鲁斯卡尔算法) 2.4.2.Prim(普里姆算法) 2.5.最短路径 2.5.1.Dijkstra(…...

Git 提交时提示 GPG 签名错误
本来应该一切都是正常的,但今天提交的时候提示 GPG 签名错误。 错误的信息就是 GPG 签名失败。 gpg: skipped "942395299055675C": No secret key gpg: signing failed: No secret key error: gpg failed to sign the data fatal: failed to write commi…...

vite+vue3实现 tomcat 的本地部署
背景: 很多开发小伙伴在本地开发完前端项目后,碍于服务端环境配置麻烦,想先试试在本地部署,已开发好的前端项目,由于很多文章都是文字性描述,不太直观,为了给大多数新手提供一个教程,…...

docker+playwright
windows10 docker playwright 难点在于windows下docker的安装,以及官方hub被墙的困难。 wsl2 wsl2 ubuntu docker git clone https://gitee.com/lineuman/lcs_playwright.git npm install npx playwright test docker端口怎么映射到主机上面? 设置重…...
php框架路由实现
在PHP中也有很多框架(如Laravel、CodeIgniter)提供了路由功能。下面是一个简单的PHP路由实现原理和示例代码: 路由实现原理: 客户端发起请求,请求的URL会被传递给Web服务器。Web服务器将请求传递给PHP解释器ÿ…...

在CentOS 7中手工打造和运行xml文件配置的Servlet,然后使用curl、浏览器、telnet等三种工具各自测试
下载Openjdk并配置环境变量 https://jdk.java.net/java-se-ri/11-MR2是官网下载Openjdk 11的地方。 sudo wget https://download.java.net/openjdk/jdk11.0.0.1/ri/openjdk-11.0.0.1_linux-x64_bin.tar.gz下载openjdk 11。 sudo mkdir -p /usr/openjdk11创建目录ÿ…...
单例模式.
目录 ♫什么是单例模式 ♫饿汉式单例模式 ♫懒汉式单例模式 ♫单例模式的线程安全问题 ♪原子性 ♪内存可见性与指令重排序 ♫什么是单例模式 单例模式是一种设计模式,通过巧用Java的现有语法,实现一个只能被创建一个实例的类,并提供一个全…...

2023年MathorCup高校数学建模挑战赛大数据挑战赛赛题浅析
比赛时长为期7天的妈杯大数据挑战赛如期开赛,为了帮助大家更好的选题,首先给大家带来赛题浅析,为了方便大家更好的选题。 赛道 A:基于计算机视觉的坑洼道路检测和识别 A题,图像处理类题目。这种题目的难度数模独一档…...

c++小惊喜——stringstream
当需要读取一行字符串时,我们通常会有将这个字符串分开的想法 #include<iostream> #include<sstream> using namespace std;int main() {string str;getline(cin, str);stringstream ssin(str);string s[10];int cnt 0;while (ssin >> s[cnt]) …...

ubuntu 18.04 编译安装flexpart 10.4(2023年) —— 筑梦之路
2023年10月29日 环境说明 操作系统版本:ubuntu 18.04 python版本:3.6.9 gcc版本:7.5.0 编译安装路径:/usr/local cmake: 3.10.2 所需要的源码包我已经打包放到我的资源。 2021年1月份已经写过一篇Ubuntu 编译安装的帖子F…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

动态规划-1035.不相交的线-力扣(LeetCode)
一、题目解析 光看题目要求和例图,感觉这题好麻烦,直线不能相交啊,每个数字只属于一条连线啊等等,但我们结合题目所给的信息和例图的内容,这不就是最长公共子序列吗?,我们把最长公共子序列连线起…...

【Java多线程从青铜到王者】单例设计模式(八)
wait和sleep的区别 我们的wait也是提供了一个还有超时时间的版本,sleep也是可以指定时间的,也就是说时间一到就会解除阻塞,继续执行 wait和sleep都能被提前唤醒(虽然时间还没有到也可以提前唤醒),wait能被notify提前唤醒…...