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