Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

[经验] 【Arduino】168种传感器模块系列实验(158)---QMC5883L三轴罗盘

[复制链接]
 楼主| 发表于 2021-9-29 16:23 | 显示全部楼层
实验串口返回情况

24.jpg
 楼主| 发表于 2021-9-29 16:35 | 显示全部楼层
  【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  实验一百五十八:QMC5883L电子指南针罗盘模块 三轴磁场传感器GY-271
  项目之七:三轴XYZ实时数据

  实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  3.   实验一百五十八:QMC5883L电子指南针罗盘模块 三轴磁场传感器GY-271
  4.   项目之七:三轴XYZ实时数据
  5.   实验接线:
  6.   5883L-------------- UNO
  7.   VCC------------------- 5V
  8.   GND------------------- GND
  9.   SCL ------------------- A5
  10.   SDA------------------- A4
  11.   DRDY------------------ N/C
  12. */

  13. #include <QMC5883LCompass.h>

  14. QMC5883LCompass compass;

  15. void setup() {
  16.   Serial.begin(9600);
  17.   Serial.print("5883L准备就绪");
  18.   compass.init();

  19.   /*
  20.      调用 setSmoothing(STEPS, ADVANCED);

  21.      STEPS = int 平滑结果的步数。有效 1 到 10。
  22.      更高的步骤等于更平滑但更长的处理时间。

  23.      ADVANCED = bool 打开或关闭高级平滑。True 将从每个步骤中删除最大值和最小值,然后正常处理。
  24.      启用此功能将导致更加平滑,但需要更长的处理时间。

  25.   */
  26.   compass.setSmoothing(10, true);
  27. }

  28. void loop() {
  29.   int x, y, z;

  30.   // Read compass values
  31.   compass.read();

  32.   // Return XYZ readings
  33.   x = compass.getX();
  34.   y = compass.getY();
  35.   z = compass.getZ();

  36.   Serial.print("X: ");
  37.   Serial.print(x);
  38.   Serial.print(" Y: ");
  39.   Serial.print(y);
  40.   Serial.print(" Z: ");
  41.   Serial.print(z);
  42.   Serial.println();

  43.   delay(250);
  44. }
复制代码


 楼主| 发表于 2021-9-29 16:58 | 显示全部楼层
实验串口返回情况

25.jpg

 楼主| 发表于 2021-9-29 16:59 | 显示全部楼层
实验串口绘图器返回情况

02.gif
 楼主| 发表于 2021-9-29 17:16 | 显示全部楼层
   【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
   实验一百五十八:QMC5883L电子指南针罗盘模块 三轴磁场传感器GY-271
   项目之八:简单的QMC5883L 指南针演示

  实验开源代码

  1. /*
  2.    【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  3.    实验一百五十八:QMC5883L电子指南针罗盘模块 三轴磁场传感器GY-271
  4.    项目之八:简单的QMC5883L 指南针演示
  5.    实验接线:
  6.    5883L-------------- UNO
  7.    VCC------------------- 5V
  8.    GND------------------- GND
  9.    SCL ------------------- A5
  10.    SDA------------------- A4
  11.    DRDY------------------ N/C
  12. */

  13. #include <QMC5883L.h>
  14. #include <Wire.h>

  15. QMC5883L compass;

  16. void setup() {
  17.   Wire.begin();

  18.   compass.init();
  19.   compass.setSamplingRate(50);

  20.   Serial.begin(9600);
  21.   Serial.println("QMC5883L 指南针演示");
  22.   Serial.println("向各个方向转动罗盘来校准....");
  23. }

  24. void loop(){
  25.   int heading = compass.readHeading();
  26.   if (heading == 0) {
  27.     /* Still calibrating, so measure but don't print */
  28.   } else {
  29.     Serial.println(heading);
  30.   }
  31.   delay(250);
  32. }
复制代码


 楼主| 发表于 2021-9-29 17:18 | 显示全部楼层
实验串口返回情况

26.jpg
 楼主| 发表于 2021-9-29 21:35 | 显示全部楼层
   【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
   实验一百五十八:QMC5883L电子指南针罗盘模块 三轴磁场传感器GY-271
   项目之九:动态四组数据,xyz+方位角a

  实验开源代码

  1. /*
  2.    【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  3.    实验一百五十八:QMC5883L电子指南针罗盘模块 三轴磁场传感器GY-271
  4.    项目之九:动态四组数据,xyz+方位角
  5.    实验接线:
  6.    5883L-------------- UNO
  7.    VCC------------------- 5V
  8.    GND------------------- GND
  9.    SCL ------------------- A5
  10.    SDA------------------- A4
  11.    DRDY------------------ N/C
  12. */

  13. #include <Wire.h>
  14. #include <MechaQMC5883.h>

  15. MechaQMC5883 qmc;

  16. void setup() {
  17.   Wire.begin();
  18.   Serial.begin(9600);
  19.   qmc.init();
  20.   //qmc.setMode(Mode_Continuous,ODR_200Hz,RNG_2G,OSR_256);
  21. }

  22. void loop() {
  23.   int x, y, z;
  24.   int azimuth;
  25.   //float azimuth; //is supporting float too
  26.   qmc.read(&x, &y, &z, &azimuth);
  27.   //azimuth = qmc.azimuth(&y,&x);//you can get custom azimuth
  28.   Serial.print("x: ");
  29.   Serial.print(x);
  30.   Serial.print(" y: ");
  31.   Serial.print(y);
  32.   Serial.print(" z: ");
  33.   Serial.print(z);
  34.   Serial.print(" a: ");
  35.   Serial.print(azimuth);
  36.   Serial.println();
  37.   delay(800);
  38. }
复制代码




 楼主| 发表于 2021-9-29 21:47 | 显示全部楼层
实验串口返回情况

27.jpg
 楼主| 发表于 2021-9-29 21:48 | 显示全部楼层
实验串口绘图器返回情况

03.gif
 楼主| 发表于 2021-9-30 04:57 | 显示全部楼层
模块实验接线示意图

28.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino爱好者

GMT+8, 2022-12-6 13:00 , Processed in 0.069589 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表