ESP8266-Arduino编程实例-TLV493D磁传感器驱动

TLV493D磁传感器驱动

1、TLV493D介绍

英飞凌 TLV493D-A1B6 磁传感器在小型 6 引脚封装中以极低的功耗提供精确的三维感测。 该传感器有机会检测 x、y 和 z 方向的磁场,非常适合测量 3D 运动、线性运动和旋转运动。 它可用于任何需要低功耗的工业和消费类应用。

在这里插入图片描述

TLV493D具有如下特性:

  • 3D 磁感应
  • 运行期间功耗非常低 = 10 µA(10 Hz,典型值)
  • 功耗为 7 nA 的省电模式
  • 通过基于 2 线的标准 I2C 接口输出高达 1 MBit/sec 的数字输出
  • 每个测量方向的 12 位数据分辨率
  • Bx、By 和 Bz 线性场测量高达 +130 mT
  • X/Y 测量的出色匹配,可实现精确的角度感应
  • 可变更新频率和功率模式(可在运行期间配置)
  • 电源电压范围 = 2.8 V…3.5 V,温度范围 Tj = -40°C…125°C
  • 可通过外部 µC 触发
  • 可用于唤醒微控制器的中断信号
  • 温度测量

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • TLV493D传感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

传感器引脚 ESP8266开发板引脚
Vin 5v
Gnd Gnd
SCL D1
SDA D2

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

本次使用的驱动库如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <Tlv493d.h>

// Tlv493d Opject
Tlv493d Tlv493dMagnetic3DSensor = Tlv493d();

void setup() {
Serial.begin(9600);
while(!Serial);
Tlv493dMagnetic3DSensor.begin();
}

void loop() {
Tlv493dMagnetic3DSensor.updateData();
delay(100);

Serial.print("X = ");
Serial.print(Tlv493dMagnetic3DSensor.getX());
Serial.print(" mT; Y = ");
Serial.print(Tlv493dMagnetic3DSensor.getY());
Serial.print(" mT; Z = ");
Serial.print(Tlv493dMagnetic3DSensor.getZ());
Serial.println(" mT");

delay(500);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126913750