Membuat kompas digital kini semakin mudah dengan bantuan sensor magnetometer seperti GY-271 dan board ESP32. Artikel ini akan membahas cara sederhana untuk menghubungkan, membaca data arah medan magnet, dan memanfaatkannya untuk berbagai proyek seperti navigasi, pelacakan arah, atau bahkan pembuatan robot otonom. Langkah-langkahnya praktis dan cocok untuk pemula maupun yang sudah berpengalaman.

Untuk Rangkaian Skematik Nya Kalian Bisa Ikuti Yang Dibawah Ini Ya:

Merah : VCC
Hitam : GND
Hijau : SCL
Biru : SDA
Untuk Code Kalian bisa Copy 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);
}
Jika Kalian Perlu Bantuan Atau Ingin Membuat Sebuah Project Yang Berhubungan Dengan Tutorial Ini Bisa Hubungi Kami Lewat Link Whatsapp Dibawah Ini :

Terimakasi
