手势翻页笔采用基于PixArt公司的PAJ7620U2制作的手势识别模块作为检测,该模块采用IIC通信(MAX:400Khz),采用3.3V/5V供电,光学数组式环境亮度传感检测,具有抗灯光干扰功能(<100K Lux),内置9个手势类型识别,非常适合常见的手势检测场合。
一、工作原理
PAJ7630U2传感器自带LED驱动器,可以红外不可见光,当有遮挡物在LED面前,内部的光学阵列模组可以获取被遮点,从而识别目标,分析手势并存储在寄存器组里面,通过I2C和中断构成中断式I2C通信,便于外围MCU及时获取手势。由于LED驱动器集成了环境光和光源抑制滤波器,保障了模块基本不受环境光干扰。
二、I2C协议
I2C采用SDA、SCL双线协议,由I2C Master设备提供SCL时钟信号,整个通信过程依据该SCL信号进行,I2C主从设备通过SDA线进行数据交换。
三、唤醒操作
步骤一:上电,Vbus必须在Vdd之前上电;
步骤二:等待700us,让PAJ7620U2稳定;
步骤三:写入从机ID或者是I2C读取指令去唤醒。
四、激活步骤
需要访问0x00寄存器,读取其内部数据,看读取出来的数据是否为0x20.如果是0x20的话,则代表唤醒操作成功,如果不为0x20,则代表唤醒失败,继续重新唤醒。但是0x00寄存器,归属于BANK0区域,上电后BANK0区域是未被激活的,因此首先要激活BANK0区域,激活后才可以访问内部的0x00寄存器,从而根据返回值来判断是否激活成功。
其中BANK0地址是0XEF,所以发送Slave ID和BANK0地址跳转,在收到响应之后,向其中发送0x00,等待响应。
五、读取手势
与之前的操作类似,需要发送寄存器地址(0x43),并在收到ACK之后发起读取。