HMC5883L三轴磁场传感器
模块来源
规格参数
硬件连接
确保HMC5883L模块的VCC引脚连接到开发板的3.3V引脚,GND引脚连接到GND,SDA连接到A4(开发板上的SDA引脚也可以),SCL连接到A5(开发板上的SCL引脚也可以)。
使用方法
安装库
在库管理中搜索HMC5883L,找到“Adafruit HMC5883 unified”进行安装。
编写代码
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月11日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 技术支持常驻论坛,任何技术问题欢迎随时交流学习
* 立创论坛:club.szlcsc.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_HMC5883_U.h>
Adafruit_HMC5883_Unified mag = Adafruit_HMC5883_Unified(12345);
void setup(void) {
Serial.begin(9600);
Serial.println("HMC5883 Magnetometer Test"); Serial.println("");
/* 初始化HMC5883L传感器 */
if(!mag.begin())
{
/* 如果未检测到传感器则在此停止 */
Serial.println("Ooops, no HMC5883 detected ... Check your wiring!");
while(1);
}
}
void loop(void) {
/* 声明一个结构体,用于存储传感器的数据 */
sensors_event_t event;
mag.getEvent(&event);
/* 以μTesla单位打印X、Y、Z轴的值 */
Serial.print("X: "); Serial.print(event.magnetic.x); Serial.print(" ");
Serial.print("Y: "); Serial.print(event.magnetic.y); Serial.print(" ");
Serial.print("Z: "); Serial.print(event.magnetic.z); Serial.print(" ");Serial.println("μT");
/* 简单的延时 */
delay(500);
}
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45