收到板子首先对H503进行了一个初步了解,然后就了解了一下这个手势模块PAJ7620,按照的习惯,先在网上找了一下它的驱动例程,然后先在STM32F103的板子跑了一下,因为这个最熟悉了,移植也是比较方便,最主要的是大家的例程基本上都是基于F103的,所以就先用手里面的霸道板子,先潜玩了一下这个模块,还是非常有意思的,可以识别,上、下、左、右、前、后、顺时针旋转、逆时针旋转、挥动九种动作的,然后就开始往H503的板子上进行移植,根据视频或者各位大佬写的很快都可以移植成功,在这里不做过多的叙述了。
PAJ7620U2手势识别原理是基于红外接收器和****的光学传感器,它可以检测到手指的移动,从而识别出不同的手势。它的工作原理是,红外****发射一个红外光束,当手指移动时,红外光束会被手指反射,这时红外接收器就会检测到反射的红外光束,然后将检测到的信号发送到控制器,控制器根据检测到的信号,识别出不同的手势。
在这里和大家一起看一下 PAJ7620的底层驱动,这个模块是通过IIC来进行通信,通信协议过程,底层配置可以通过cubeMX直接完成,比较简单快捷,然后就需要老看一个这个模块的寄存器功能
这些寄存器分布在两个BANK区域。如果操作者要想访问某个寄存器,则需要先要激活该寄存器对应的BANK区域,激活之后才能访问。
唤醒操作结束后,需要访问0x00寄存器,读取其内部数据,看读取出来的数据是否为0x20.如果
是0x20的话,则代表唤醒操作成功,如果不为0x20,则代表唤醒失败,继续重新唤醒。但是
0x00寄存器,归属于BANK0区域,上电后BANK0区域是未被激活的,因此首先要激活BANK0
区域,激活后才可以访问内部的0x00寄存器,从而根据返回值来判断是否激活成功。
配置手势数据寄存器:首先,需要配置手势数据寄存器以捕捉挥手动作。这通常涉及读取0x43或0x44寄存器内的数据,其中0x43寄存器用于捕捉挥手动作,而0x44寄存器主要用于执行中断操作。在配置过程中,可能会使用到I2C控制部分的代码进行连续读操作,以便连续捕获挥手动作。