Lab 1 Compass Module HMC5883 L

Arduino IDE Code

#include <Wire.h>

#include <MechaQMC5883.h>

#include <Wire.h>

#include <SPI.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 OLED(-1);


MechaQMC5883 qmc;


void setup() {

OLED.begin(SSD1306_SWITCHCAPVCC, 0x3C); // กำหนดแอดเดรสของพอร์ตจอเป็น 0x3C (for the 128x64)

Wire.begin();

qmc.init(); //qmc.setMode(Mode_Continuous,ODR_200Hz,RNG_2G,OSR_256);

Serial.begin(115200);

}


void loop() {

int x, y, z, azimuth;


//qmc.read(&x, &y, &z);

qmc.read(&x, &y, &z, &azimuth);

Serial.print("x: ");

Serial.print(x);

Serial.print(" y: ");

Serial.print(y);

Serial.print(" z: ");

Serial.print(z);

Serial.println();

OLED.clearDisplay();

OLED.setTextColor(WHITE, BLACK);

OLED.setCursor(0, 0);

OLED.setTextSize(2);

OLED.print(" x = "); OLED.println(x);

OLED.print(" y = "); OLED.println(y);

OLED.print(" z = "); OLED.println(z);

OLED.print("Azi= "); OLED.println(azimuth);

OLED.display();

delay(50);

}