Cara easy menggunakan Compass Magnetometer GY-271 QMC8553L

Cara easy menggunakan Compass Magnetometer GY-271 QMC8553L

Ingin menambahkan kemampuan navigasi atau penentuan arah pada proyek Arduino-mu? Compass magnetometer GY-271 (QMC5883L) adalah modul yang tepat untuk mendeteksi arah medan magnet bumi. Di artikel ini, kita akan bahas cara easy menghubungkan dan memprogram GY-271 dengan Arduino. Yuk, kita mulai!

untuk codenya kalian bisa gunakan code dibawah ini :

#include <Arduino.h>

#include <Wire.h>

#define addr_kompas 0x0D
int x_kompas, y_kompas, z_kompas; 


void deklarasi_kompas() {
  Wire.begin();
  Wire.beginTransmission(addr_kompas);
  Wire.write(0x0B);
  Wire.write(0x01);
  Wire.endTransmission();
  Wire.beginTransmission(addr_kompas);
  Wire.write(0x09);
  Wire.write(0x1D);
  Wire.endTransmission();
}
String baca_kompas() {
  float heading = atan2(y_kompas, x_kompas);
  if (heading < 0)
    heading += 2 * PI;
  if (heading > 2 * PI)
    heading -= 2 * PI;
  float headingDegrees = heading * 180 / M_PI;
  if (headingDegrees < 22.5 || headingDegrees > 337.5) {
    return "Utara";
  } else if (headingDegrees < 67.5) {
    return "Timur Utara";
  } else if (headingDegrees < 112.5) {
    return "Timur";
  } else if (headingDegrees < 157.5) {
    return "Timur Laut";
  } else if (headingDegrees < 202.5) {
    return "Selatan";
  } else if (headingDegrees < 247.5) {
    return "Barat Laut";
  } else if (headingDegrees < 292.5) {
    return "Barat";
  } else if (headingDegrees < 337.5) {
    return "Barat Daya";
  }
}


void setup()
{
Serial.begin(9600);
deklarasi_kompas();

}
void loop(){
Wire.beginTransmission(addr_kompas);
  Wire.write(0x00);
  Wire.endTransmission();
  Wire.requestFrom(addr_kompas, 6);
  if (6 <= Wire.available()) {
    x_kompas = Wire.read();
    x_kompas |= Wire.read() << 8;
    z_kompas = Wire.read();
    z_kompas |= Wire.read() << 8;
    y_kompas = Wire.read();
    y_kompas |= Wire.read() << 8;
  }
  String arah = baca_kompas();
  Serial.print("Arah kompas: ");
  Serial.println(arah);
  delay(500);


}


Untuk skematik, kamu bisa ikuti skematick di bawah ini

Kabel Hitam : GND
Kabel Merah : VCC
Kabel Hijau : SDA
Kabel Kuning : SCL

selamat mencoba, salam labrobotika

Jika anda berminat menggunakan jasa labrobotika, silahkan hubungi admin: WHATSAPP