物联网AI MicroPython传感器学习 之 PAJ7620手势识别传感器

news2024/9/28 1:25:58

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

一、产品简介

手势识别传感器PAJ7620u2是一款集成3D手势识别和运动跟踪为一体的交互式传感器,传感器可以在有效范围内识别手指的顺时针/逆时针转动方向和手指的运动方向等。它可以识别13种手势,包括向上移动,向下移动,向左移动,向右移动,向前移动,向后移动,顺时针方向,从左到右,从左到右等等手势姿态。
传感器可以应用于各类互动的场景:可以挥一挥手定义你想完成的任何动作,比如挥一挥手可以关灯。
image.png
引脚定义:

  • 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)

  • 参数说明
参数类型必选参数?说明
i2cObjI2C传入I2C对象
  • 返回值

PAJ7620对象成功,返回PAJ7620对象;PAJ7620对象创建失败,抛出Exception

  • 示例代码
from machine import Pin,I2C
import paj7620

i2cObj = 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的手势姿态描述

gesturedescription说明
0None未检测姿态
1Right向右
2Left向左
4Up向上
8Down向下
16Forward向前
32Backward向后
64Clockwise顺时针
128Anti-Clockwise逆时针
256Wave摇摆
  • 示例:
from machine import Pin,I2C
import paj7620

i2cObj = 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 utime

paj7620_obj = None

def paj7620_init():
    global paj7620Obj
    i2cObj = 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手势识别传感器购买链接

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

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

相关文章

STM32的RTC模块的难点推导

在 S T M 32 STM32 STM32的 R e a l t i m e c l o c k , R T C Real\quad time\quad clock,RTC Realtimeclock,RTC模块中有一些功能点不太好理解&#xff0c;下面我根据我自己对这些功能难点的理解来做一些推导并记录如下。 首先来看一下平滑数字校准。假设我们目前的 R …

万字解析设计模式之原型模式与建造者模式

一、原型模式 1.1概述 原型模式是一种创建型设计模式&#xff0c;其目的是使用已有对象作为原型来创建新的对象。原型模式的核心是克隆&#xff0c;即通过复制已有对象来创建新对象&#xff0c;而不是通过创建新对象的过程中独立地分配和初始化所有需要的资源。这种方式可以节…

CMT2310A一款低功耗高性能Sub-1GHz射频收发器芯片

CMT2310A是一款超低功耗,高性能&#xff0c;适用于各种113至960 MHz无线应用的00K&#xff0c;(G)FSK 和4(G)FSK 射频收发器。它是CMOSTEK NextGenRFTM 射频产品线的一部分&#xff0c;这条产品线包含完整的发射器&#xff0c;接收器和收发器。CMT2310A的高集成度&#xff0c;简…

npm package.json属性详解

npm package.json属性详解 概述 package.json必须是一个严格的json文件&#xff0c;而不仅仅是js里边的一个对象。其中很多属性可以通过npm-config来生成 name package.json中最重要的属性是name和version两个属性&#xff0c;这两个属性是必须要有的&#xff0c;否则模块就…

【机器学习(二) 线性代数基础I(Linear Algebra Foundations)】

机器学习&#xff08;二&#xff09; 线性代数基础I&#xff08;Linear Algebra Foundations) 这一节主要介绍一些线性代数的基础。 目录 机器学习&#xff08;二&#xff09; 线性代数基础I&#xff08;Linear Algebra Foundations)1. 向量 Vectors2. 复杂度 Complexity3.线…

基于3D点云的语义分割模型调研(最新更新2023.10.30)

文章目录 3D点云分割数据集点云模型的评价指标3D点云语义分割方法发展PointSIFT模型的效果 https://blog.csdn.net/toCVer/article/details/126265782 基于深度学习的三维点云分割综述 3D点云分割数据集 传统的点云分割方法包括基于边缘检测的方法、基于区域增长的算法、基于特…

【Linux】:Linux开发工具之Linux编辑器vim的使用

&#x1f52b;1.Linux编辑器-vim使用 &#x1f4e4; vi/vim的区别简单点来说&#xff0c;它们都是多模式编辑器&#xff0c;不同的是vim是vi的升级版本&#xff0c;它不仅兼容vi的所有指令&#xff0c;而且还有一些新的特性在里面。例如语法加亮&#xff0c;可视化操作不仅可以…

deepsort算法 卡尔曼滤波 匈牙利算法

目标追踪最核心的两个算法就是卡尔曼滤波和匈牙利算法算法。 卡尔曼滤波&#xff1a;根据当前帧中的轨迹预测下一帧的轨迹。匈牙利算法:将预测的目标位置与检测到的目标位置进行匹配&#xff0c;实现对目标的准确跟踪。Sort算法 Sort算法分为以下几个步骤&#xff1a; 1.卡尔曼…

AS/400-物理文件-02

物理文件 - Physical file Physical file物理文件中的条目级别相关命令 Physical file 简介物理文件 这是一个文件。包含预定义的结构化格式的数据。它是PF类型。通过使用CRTPF命令创建PF。PF中包含的字段的最大数量为8000。最多包含120个关键字段。 PF 的结构如下 TYPE SPECIF…

【C++】多态 ⑥ ( 函数重定义涉及的问题 - 子类覆盖父类函数名 )

文章目录 一、函数重定义涉及的问题1、执行出错的代码2、代码分析3、错误原因分析 - 函数重定义问题 : 子类覆盖父类函数名4、正确调用函数的方法 一、函数重定义涉及的问题 1、执行出错的代码 错误代码示例 : #include "iostream" using namespace std;// 父类 cla…

Openssl数据安全传输平台014:OCCI环境搭建和使用:Centos8-Oracle19c代码跑通 + Window代码没跑通(不影响本项目)

文章目录 0 代码仓库1 启动Centos oracle数据库2 Winsows安装配置OCCI库2.1 下载文件2.2 VS 配置2.2.1 VC包含目录2.2.2 VC库目录2.2.3 连接器-附加依赖项2.2.4 代码测试-Oracle11g2.2.4.1 准备2.2.4.2 代码测试 3 Centos安装配置occi库3.0 强调3.1 下载instantclient库文件压缩…

国产思仪 1765A/B/C/D/E程控直流电源

1765A/B/C/D/E程控直流电源 产品综述 1765系列程控直流电源主要用于储能设备系统的测量分析和自动测试系统的加电测试。作为一种双象限直流电源&#xff0c;将电源输出和功率吸收的功能完全集成到单一系统中&#xff0c;可实现电源与负载功能的无缝转换&#xff0c;解决双向能源…

RT-Thread 内存管理(一)

内存管理 在计算系统中&#xff0c;通常存储空间可以分为两种&#xff1a;内部存储空间和外部存储空间。 内部存储空间通常访问速度比较快&#xff0c;能够按照变量地址随机访问&#xff0c;也就是我们通常所说的RAM&#xff08;随机访问存储器&#xff09;&#xff0c;可以把…

Linux gzip命令:压缩文件或目录

gzip 是 Linux 系统中经常用来对文件进行压缩和解压缩的命令&#xff0c;通过此命令压缩得到的新文件&#xff0c;其扩展名通常标记为“.gz”。 再强调一下&#xff0c;gzip 命令只能用来压缩文件&#xff0c;不能压缩目录&#xff0c;即便指定了目录&#xff0c;也只能压缩目录…

使用WebDav服务远程操作本地服务器?试试群晖NAS【内网穿透】

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《速学数据结构》 《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 1. 在群晖套件中心安装WebDav Server套件1.1 安装完成后&#xff0c;启动webdav服务&#xff0c;并勾选HTTP复选…

Linux 文件系统简介

文章目录 一、磁盘简介1.1 简介1.2 机械硬盘与固态硬盘1.2.1 机械磁盘&#xff08;HDD&#xff09;1.2.2 固态磁盘&#xff08;SSD&#xff09;1.2.3 I/O操作 二、文件系统简介2.1. 简介2.2 文件系统特点2.3 Linux文件系统 三、文件数据存储方式3.1 连续存储3.2 链接表存储3.3 …

Ansible中常用模块

目录 一、Ansible实现管理的方式 二、Ad-Hoc执行方式中如何获得帮助 三、Ansible命令运行方式及常用参数 四、Ansible的基本颜色代表信 五、Ansible中的常用模块 1、command模块 2、shell模块、script模块 3、copy模块、fetch模块 4、file模块 5、archive模块、unarc…

FPGA_Signal TapII 逻辑分析仪 在线信号波形抓取

FPGA_Signal TapII 逻辑分析仪 在线信号波形抓取 由于一些工程的仿真文件不易产生&#xff0c;所以我们可以利用 quartus 软件自带的 SignalTap 工具对波形进行抓取 对各个信号进行分析处理&#xff0c;让电子器件与FPGA进行正常通讯工作&#xff0c;也验证所绘制的波形图是否一…

Spring面试题:(一)IoC,DI,AOP和BeanFactory,ApplicationContext

IoC&#xff0c;DI&#xff0c;AOP思想 IOC就是控制反转&#xff0c;是指创建对象的控制权的转移。以前创建对象的主动权和时机是由自己把控的&#xff0c;而现在这种权力转移到Spring容器中&#xff0c;并由容器根据配置文件去创建实例和管理各个实例之间的依赖关系。对象与对…

NSSCTF做题第十页(1)

[GXYCTF 2019]禁止套娃 看源代码也没什么东西&#xff0c;扫一下看看 发现了git泄露 话不多说直接开整 下载下来了 flag.php 还是代码审计 <?php include "flag.php"; echo "flag在哪里呢&#xff1f;<br>"; if(isset($_GET[exp])){ if (!preg_…