ESP32应用教程(0)— PMW3901MB光流传感器

这篇具有很好参考价值的文章主要介绍了ESP32应用教程(0)— 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 关键参数

ESP32应用教程(0)— PMW3901MB光流传感器,【ESP32】,光流传感器,PMW3901MB,PixArt,ESP32

2 硬件概述

2.1 信号引脚

ESP32应用教程(0)— PMW3901MB光流传感器,【ESP32】,光流传感器,PMW3901MB,PixArt,ESP32

电源

  • Pin2 VDD;
  • Pin3 VDDIO;
  • Pin4 VREG;
  • Pin1 GND;
  • Pin21 GND。

控制接口

  • Pin16 MOSI;
  • Pin17 SCLK;
  • Pin18 MISO;
  • Pin19 NCS。

功能IO

  • Pin7 NRESET;
  • Pin15 MOTION。

2.2 参考电路图

ESP32应用教程(0)— PMW3901MB光流传感器,【ESP32】,光流传感器,PMW3901MB,PixArt,ESP32

3 寄存器

3.1 寄存器列表

PMW3901MB 寄存器可通过串行端口访问。这些寄存器用于读取运动数据和状态,以及设置设备配置。

ESP32应用教程(0)— PMW3901MB光流传感器,【ESP32】,光流传感器,PMW3901MB,PixArt,ESP32

3.2 性能优化寄存器

PMW3901MB 上电后,需要对一些寄存器进行配置,以实现芯片的最佳性能。这些寄存器是 PixArt 的专利信息,因此本数据手册中没有关于这些寄存器说明的其他信息。这些寄存器应按下列顺序写入。

ESP32应用教程(0)— PMW3901MB光流传感器,【ESP32】,光流传感器,PMW3901MB,PixArt,ESP32

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:光流检测到图像的 XY 方向的运动信息;

squal:指运动信息质量,简单说就是运动信息的可信度;

rawDataSum:这个是原数据求和,可用作对一帧数据求平均值;

maxRawDataminRawData :最大和最小原始数据;

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. 编译—>下载—>监控文章来源地址https://www.toymoban.com/news/detail-677293.html

idf.py flash monitor

5 波形分析

到了这里,关于ESP32应用教程(0)— PMW3901MB光流传感器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ESP32设备驱动-DPS310气压传感器驱动

    Infineon 的 DPS310 传感器是一款高精度气压传感器,非常适合测量高度变化,精度高达 ±0.002 hPa(或 ±0.02 m)高精度模式和 ± 1 hPa 绝对精度。 这意味着您可以在设置海平面压力时以 1 = 米的精度知道您的绝对高度,并以高达 2 厘米的精度测量高度变化。 这使其成为适用于无人机

    2024年02月07日
    浏览(29)
  • 【ESP32】BL0942功耗传感器SPI接口驱动

    BL0942功耗模块在物联网设备中的应用比较广泛,本博文完成ESP32基于SPI接口驱动功耗BL0942模块(上海贝岭公司)的寄存器的读写,从而可以完成寄存器模式的配置,以及读取寄存器的值完成电流电压,功率等值的计算。 在通信模式下,先发送 8bit 识别字节(0x58) 或(0xA8), (0x5

    2024年02月14日
    浏览(40)
  • ESP32-硬件IIC读取温湿度传感器SHT30

    esp32 使用硬件I2C读取温湿度传感器SHT30,例程基于 EDP-IDF-4.4.X 的I2C Simple Example 例程修改 打开 VSCODE ,通过 查看-- 命令面板(快捷键Ctrl+Shift+P),打开 ESP-IDF 的例程后,选择 i2c_simple 例程,点击 Create project using example i2c_simple,选择自己要存储的目录。【PS:工程的目录不要有中文路

    2024年02月02日
    浏览(28)
  • 使用 ESP32 设计智能手表第 2 部分 - 环境光和心率传感器

     文末提供 包含Arduino源码+原理图+Gerber+3D文件 的免费设计资料。          上一章中我们研究了如何为我们的智能手表项目制作一些有趣的表盘。在这一部分中,我们将研究如何将一些传感器连接到我们的智能手表,并将连接 BH1750 环境光传感器和 MAX30102 心率传感器。我们

    2024年02月02日
    浏览(23)
  • ESP32设备驱动-SCD40二氧化碳湿度和温度传感器驱动

    SCD4x 是 Sensirion 的下一代微型 CO2 传感器。 该传感器基于光声 NDIR 传感原理和 Sensirion 的专利 PASens® 和 CMOSens® 技术,以无与伦比的价格和最小的外形尺寸提供高精度。 SMD 组装允许以成本和空间有效的方式集成传感器,并具有最大的设计自由度。 片上信号补偿是通过内置的

    2024年02月11日
    浏览(28)
  • ESP32单片机使用DHT11温湿度传感器的实践与代码解析

    摘要:本文将介绍如何使用ESP32单片机与温湿度传感器进行连接和数据读取。通过实例代码的解析,帮助读者了解实现温湿度检测的原理和方法。 一、引言 ESP32是一款功能强大的微控制器,广泛应用于物联网、智能家居等领域。在许多应用场景中,温湿度传感器是不可或缺的

    2024年02月21日
    浏览(32)
  • 传感器使用——ESP-WROOM-32 and INMP441麦克风音频采集

             使用不同传感器前需要了解其连接及通信方式。对于 ESP-WROOM-32 and INMP441麦克风 是通过 I2S 方式进行通信。具体连接引脚参照下图: ESP-WROOM-32引脚示意图          使用的麦克风为MEMS麦克风,具体规格可参照芯片规格数说明。 INMP441麦克风         I2S音频连接

    2024年02月09日
    浏览(32)
  • 一起玩儿物联网人工智能小车(ESP32)——71 姿态传感器MPU6050的使用方法

    摘要:本文介绍姿态传感器MPU6050的使用方法 姿态传感器是一种用于测量物体姿态的传感器,它可以检测物体的加速度和角速度,并计算出物体的方向和角度。前边介绍的RPI-1031只能定性的得到物体的倾斜情况,而姿态传感器则可以定量的得到物体倾斜的方向和角度。 MPU6050是

    2024年04月28日
    浏览(31)
  • ESP32设备驱动-OLED显示单个或多个DS18B20传感器数据

    在本文中,我们将介绍如何ESP32驱动单个或多个DS18B20传感器,并将DS18B20传感器数据在OLE中显示。 DS18B20 是一种温度传感器,本质上是单线可编程的。 它广泛用于测量存在于硬环境中的化学溶液和物质的温度。 使用此传感器的优势之一是我们只需要 ESP 板上的一个引脚即可传

    2024年02月07日
    浏览(34)
  • ESP32设备驱动-MAX30102脉搏血氧饱和度和心率监测传感器驱动

    MAX30102是一款集成脉搏血氧饱和度和心率监测生物传感器模块。 它包括内部 LED、光电探测器、光学元件和具有环境光抑制功能的低噪声电子设备。 MAX30102提供完整的系统解决方案,简化移动和可穿戴设备的设计流程。 MAX30102具有如下特性: LED 反射式解决方案中的心率监测器

    2023年04月18日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包