PAJ7620u2手势模块
一、简介:手势传感器,捕捉手势的芯片。
1、内置光源和环境光源抑制滤波器集成的led,镜头和手势感测器在一个小的立方体模组,能在黑暗或低光环境下工作。
2、内置9个手势类型:上,下,左,右,前,后,顺时针旋转,逆时针旋转,挥动。支持输出中断。
3、支持接近检测功能,检测物体体积大小和亮度。
4、分辨率:60x60 pixels ,每个像素的大小是:20x20 um2 , 最大支持的速率:720fps。
5、模式:gesture / cursor / image modes
6、控制速度:
在普通模式下:60~600°/s
在gaming模式下:60~1200°/s
7、通讯模式:
I2C模式(for gesture/ curcos 模式):最高能达到400kbit/s
4-wire SPI (for Image 模式):22~48Mhz(Frame subtraction mode) / 44~48Mhz(Raw data mode)
二、工作原理:
PAJ7620u2工作时通过内部LED驱动器,驱动红外LED向外发射红外信号,当传感器阵列在有效地距离中探测到物体时,目标信息提取阵列会对探测目标进行特征原始数据地获取,获取数据会存在寄存器中,同时手势识别阵列会对原始数据进行识别处理,最后将手势结果存到寄存器中,用户可根据I2C接口对原始数据和手势数据地结果进行读取。
三、模块BANK简介:
1、在PAJ7620内部有两个BANK 寄存器区域,分别是BANK0,BANK1。
2、想访问其中地bank区域下的寄存器,需要在访问前发送控制指令进入该寄存器区域,具体控制指令如表:
BANK区域 |
地址 |
数值 |
BANK0 |
0XEF |
0X00 |
BANK1 |
0XEF |
0X01 |
进入BANK0区域,往传感器0XEF地址写0X00。
进入BANK1区域,往传感器0XEF地址写0x01
四、上电流程图
五、IIC通讯模式
1、在iic通讯接口上,只能作为从站,不能作为主站。
2、读写控制的三种状态:写貌似只能单个字节的写,读可以分为单字节读取,和多字节读取。
3、IIC的速率:分为标准模式和极速模式。
4、IIC的时序:
六、寄存器简介:
1、bank寄存器:
进入BANK0区域,往传感器0XEF地址写0X00。
进入BANK1区域,往传感器0XEF地址写0x01.
2、使能工作寄存器在BANK1 地址 0X72 。
只关心bit0 ,设置为1,则使能PAJ7620工作,设置为0,则失能PAF7620工作
3、bank 0 下的挂起管理寄存器:地址0x03
进入挂起状态:
先写寄存器BANK1 ,addr 0x72,写入0X00,禁用paj7620.
然后写寄存器BANK0,ADDR 0X03,写入0x01,处理IC suspend命令。
退出挂起状态:
先通过写入ID,处理I2C唤醒命令,
然后写寄存器BANK 1 ,ADDR 0x72,写入0x01,启用PAJ7620.
4、手势识别寄存器:0X43,0X44
5、物体亮度寄存器:0XB0
6、物体大小寄存器:0XB1,0XB2
七、经验理解:
1、0x43寄存器是手势检测的标志,即0x43寄存器有bit位为高的时候,就是检测到手势了。然后读取0x44之后,0x43寄存器内容就自动设置为0了。
2、上电之后有几个延迟要注意下。
3、读取手势寄存器的时候,需要判断下,当读取到的内容不为0,就操作自己的逻辑。
4、第一步激活IIC的时候,往iic从站里,写入地址就可以了,不需要写内容。
5、切换bank的之后,最好延迟一下。
6、我的从站地址是0x73,仅作参考。
八、初始化代码:
设备初始化:
const unsigned char Init_Register_Array[][2] = {
{0xEF,0x00},
{0x37,0x07},
{0x38,0x17},
{0x39,0x06},
{0x41,0x00},
{0x42,0x00},
{0x46,0x2D},
{0x47,0x0F},
{0x48,0x3C},
{0x49,0x00},
{0x4A,0x1E},
{0x4C,0x20},
{0x51,0x10},
{0x5E,0x10},
{0x60,0x27},
{0x80,0x42},
{0x81,0x44},
{0x82,0x04},
{0x8B,0x01},
{0x90,0x06},
{0x95,0x0A},
{0x96,0x0C},
{0x97,0x05},
{0x9A,0x14},
{0x9C,0x3F},
{0xA5,0x19},
{0xCC,0x19},
{0xCD,0x0B},
{0xCE,0x13},
{0xCF,0x64},
{0xD0,0x21},
{0xEF,0x01},
{0x02,0x0F},
{0x03,0x10},
{0x04,0x02},
{0x25,0x01},
{0x27,0x39},
{0x28,0x7F},
{0x29,0x08},
{0x3E,0xFF},
{0x5E,0x3D},
{0x65,0x96},
{0x67,0x97},
{0x69,0xCD},
{0x6A,0x01},
{0x6D,0x2C},
{0x6E,0x01},
{0x72,0x01},
{0x73,0x35},
{0x74,0x00},
{0x77,0x01},
};
手势检测初始化:
//Gesture register initializes array
const unsigned char Init_Gesture_Array[][2] = {
{0xEF,0x00},
{0x41,0x00},
{0x42,0x00},
{0xEF,0x00},
{0x48,0x3C},
{0x49,0x00},
{0x51,0x10},
{0x83,0x20},
{0x9F,0xF9},
{0xEF,0x01},
{0x01,0x1E},
{0x02,0x0F},
{0x03,0x10},
{0x04,0x02},
{0x41,0x40},
{0x43,0x30},
{0x65,0x96},
{0x66,0x00},
{0x67,0x97},
{0x68,0x01},
{0x69,0xCD},
{0x6A,0x01},
{0x6B,0xB0},
{0x6C,0x04},
{0x6D,0x2C},
{0x6E,0x01},
{0x74,0x00},
{0xEF,0x00},
{0x41,0xFF},
{0x42,0x01},
};
物体检测初始化:
//Approaches register initialization array
const unsigned char Init_PS_Array[][2] = {
{0xEF,0x00},
{0x41,0x00},
{0x42,0x00},
{0x48,0x3C},
{0x49,0x00},
{0x51,0x13},
{0x83,0x20},
{0x84,0x20},
{0x85,0x00},
{0x86,0x10},
{0x87,0x00},
{0x88,0x05},
{0x89,0x18},
{0x8A,0x10},
{0x9f,0xf8},
{0x69,0x96},
{0x6A,0x02},
{0xEF,0x01},
{0x01,0x1E},
{0x02,0x0F},
{0x03,0x10},
{0x04,0x02},
{0x41,0x50},
{0x43,0x34},
{0x65,0xCE},
{0x66,0x0B},
{0x67,0xCE},
{0x68,0x0B},
{0x69,0xE9},
{0x6A,0x05},
{0x6B,0x50},
{0x6C,0xC3},
{0x6D,0x50},
{0x6E,0xC3},
{0x74,0x05},
};
PAJ7620u2手势模块相关推荐
- STM32 PAJ7620U2手势识别模块(IIC通信)程序源码详解
最近在自学设计下基于STM32单片机的项目,想用手势识别模块做一点好玩的,做个手势控制家居设备开关,另外正好借此巩固I²C 通信.因此,我想借这个机会在这里和大家分享一下自己学习STM32单片机时的所 ...
- 【Arduino】APDS9960S手势模块控制馨品窗帘电机并在5110屏中显示指令
需要准备的材料: Arduinio IDE Arduino开发板 馨品窗帘电机 APDS-9960手势模块 RS485 to TTL USB-TTL 杜邦线若干 串口工具 一.5110Nokia屏参考 ...
- 智能家居硬件小制作(含源码)《手势识别控制器》基于PAJ7620手势模块、L298N驱动板、arduino
智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ7620手势模块.L298N驱动板.arduino 目录 智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ762 ...
- Arduino测试PAJ7620U2手势传感器
目录 1.安装库 2.接线 3.下载代码测试 在淘宝买了一块PAJ7620手势传感器模块,现在就来用arduino测试一下玩玩看. 图片如下: 1.安装库 2.接线 一共四根线 VCC GND SCL ...
- PAJ7620U2+蓝牙主从机实现远程手势控制
目录 主机: 从机: 电机测试: 这是个4舵机驱动的水上仿生鱼. 两块arduino通过蓝牙通信,岸上的arduino连接paj7620u2进行手势控制. 水下的arduino连接驱动执行设备(舵机和 ...
- Android九点阵手势识别,能量黑科技模块八-九:两路按键颜色手势魔块
8. 两路按键魔块 模块一共有两路硅胶按键,可以检测按键是否按下.当按键按下时,对应按键背后的红色LED会亮,并且返回触发信号,按键按下事件为真.另外按键键帽上可安装乐高十字插销. 8.1. 详细介绍 ...
- 4.0 树莓派做下位机播放视频、控制电机舵机、超声波检测、paj7620手势传感器控制,树莓派串口通信等程序分析
文章目录 一.前言 二.Python实现封装打包自己写的代码 参考链接 我的参考 _init_.py setup.py 三. 树莓派的硬件解码播放器--Omxplayer 四.树莓派控制舵机,驱动L2 ...
- Arduino 项目笔记 | 基于PAJ7620U2手势识别(Gestures Sensor)的水龙头
一.项目背景 在许多大型公共场所,人员流动量大,公共设施的卫生情况普遍恶劣:传统的接触式水龙头存在着严重的卫生隐患. 家用厨房 洗碗.洗手时沾着油渍或洗手液洗手的手不方便触及水龙头. 医院里 容易滋生 ...
- 安卓系统入门_安卓玩家不可错过的神器:55GMagisk模块下载
因为 Android 的开放性,所以有些小伙伴才会选择安卓手机,可以刷第三方固件.折腾美化.各种插件.各种奇奇怪怪的软件,不像 iOS 那样封闭,没啥玩的. 经常搞(基)机的小伙伴相信一定知道这款「X ...
最新文章
- poj 2455 Secret Milking Machine(二分枚举+最大流)
- ORA-32004 参数设置过时的解决办法
- java中date代替_Java:为什么Date构造函数不推荐,我用什么来代替?
- linux常用关机命令及其区别-Shutdown halt reboot init
- phpexcel 日期 时分秒_thinkPHP+PHPExcel实现读取文件日期的方法含时分秒
- C#LeetCode刷题之#28-实现strStr()(Implement strStr())
- 在codeigniter中使用Cache_Lite来缓存
- cannot instantiate the type
- (筆記) 如何使用ModelSim作前仿真與後仿真? (SOC) (Quartus II) (ModelSim)
- LeetCode(938)——二叉搜索树的范围和(JavaScript)
- GitHub上常用命令(工作中几乎每天用到的命令)
- 微软的“后门”:NTSD.exe,NTSD 的远程调试功能
- IT运维服务整体方案
- 时间表达式java定时器_quartz定时任务时间表达式说明
- 单例模式的懒汉模式跟恶汉模式的区别
- 湘潭大学2022软件工程程序设计实践平时练习二C/C++
- 电脑没有使用计算机进入睡眠状态,电脑打不开,屏上显示:无视频输入,进入睡眠模式。怎么处理...
- linux把光标移到文件开头的命令,linux操作命令总结,希望可以帮助到菜鸟
- php段错误coredumped,CentOS yum 段错误 (core dumped)解决方法
- matplotlib 柱状图画误差棒
热门文章
- 安装mysq的时候执行mysqld --initialize --console时候报错:can not create directory data文件夹需要把分隔符改成反方向
- 什么是 Web 3.0:面向未来的去中心化互联网
- android shell卸载应用程序,android系统软件卸载_adb配置使用
- Matlab生成.exe可执行程序
- 【bzoj3240 洛谷P1397】矩阵游戏[NOI2013](矩阵乘法+卡常)
- 【Excel】在单元格中插入换行符
- vue怎么给pc端浏览器设置一个最小屏幕_图文讲解uni-app的PC宽屏适配方案
- Win10系统下怎么开启管理员administrator权限?
- python爬app西瓜视频_Python爬虫工程师面试题,采集头条西瓜视频
- Spark RDD实训4:计算总成绩