厦门做网站软件,网站自己做还是找公司,wordpress评论区镶嵌图片,厦门微信网站开发文章目录
前言
1 传感器介绍
1.1 关键特征
1.2 关键参数
2 硬件概述
2.1 信号引脚
2.2 参考电路图
3 寄存器
3.1 寄存器列表
3.2 性能优化寄存器
4 代码说明
4.1 结构体说明
4.2 编译说明
5 波形分析 前言
本文介绍了在 ESP32 DEVKIT V1 开发板上开发 PMW3901MB…文章目录
前言
1 传感器介绍
1.1 关键特征
1.2 关键参数
2 硬件概述
2.1 信号引脚
2.2 参考电路图
3 寄存器
3.1 寄存器列表
3.2 性能优化寄存器
4 代码说明
4.1 结构体说明
4.2 编译说明
5 波形分析 前言
本文介绍了在 ESP32 DEVKIT V1 开发板上开发 PMW3901MB-TXQ1 光流传感器的过程。 1 传感器介绍
PMW3901MB-TXQT 是 PixArt Imaging 公司最先进的光学导航芯片采用远场光学技术设计可实现室内导航采用 28 引脚板上芯片COB封装可提供 X-Y 运动信息工作范围从 80mm 到无限远。它最适合用于远场 运动检测。
1.1 关键特征
工作范围广从 80mm 到无限远 镜头安装过程中无需对焦 运行模式下耗电量为 9mA 16 位运动数据寄存器 运动检测引脚输出 内部振荡器 ~ 无需时钟输入。
1.2 关键参数 2 硬件概述
2.1 信号引脚 电源
Pin2 VDDPin3 VDDIOPin4 VREGPin1 GNDPin21 GND。
控制接口
Pin16 MOSIPin17 SCLKPin18 MISOPin19 NCS。
功能IO
Pin7 NRESETPin15 MOTION。
2.2 参考电路图 3 寄存器
3.1 寄存器列表
PMW3901MB 寄存器可通过串行端口访问。这些寄存器用于读取运动数据和状态以及设置设备配置。 3.2 性能优化寄存器
PMW3901MB 上电后需要对一些寄存器进行配置以实现芯片的最佳性能。这些寄存器是 PixArt 的专利信息因此本数据手册中没有关于这些寄存器说明的其他信息。这些寄存器应按下列顺序写入。 4 代码说明
4.1 结构体说明
typedef struct motionBurst_s {union {uint8_t motion;struct {uint8_t frameFrom0 : 1;uint8_t runMode : 2;uint8_t reserved1 : 1;uint8_t rawFrom0 : 1;uint8_t reserved2 : 2;uint8_t motionOccured : 1;};};uint8_t observation;int16_t deltaX;int16_t deltaY;uint8_t squal;uint8_t rawDataSum;uint8_t maxRawData;uint8_t minRawData;uint16_t shutter;
} __attribute__((packed)) motionBurst_t;motion运动信息可以根据不同的位去判断运动信息包括帧判别运行模式和运动信息检测等
observation这个是用于检测 IC 是否出现 EFT/B 或者 ESD 问题传感器正常工作时读取出来的值为 0xBF
deltaX, deltaY光流检测到图像的 X 和 Y 方向的运动信息
squal指运动信息质量简单说就是运动信息的可信度
rawDataSum这个是原数据求和可用作对一帧数据求平均值
maxRawData 和 minRawData 最大和最小原始数据
shutter是一个实时自动调整的值目的是保证平均运动数据在正常可操作范围以内这个值可以搭配 squal用来判断运动信息是否可用。
4.2 编译说明
1. 下载代码
git clone https://github.com/EmotionFly/ESP32_PMW3901MB.git
cd ESP32_PMW3901MB
2. 获取 esp-idf 库的环境
. $HOME/esp/esp-idf/export.sh
3. 编译—下载—监控
idf.py flash monitor
5 波形分析