Dalam era IoT, menghubungkan berbagai sensor dengan mikrokontroler seperti ESP32 menjadi semakin penting. Salah satu sensor yang populer adalah kompas GY-271 (QMC8553L), yang dapat digunakan untuk berbagai aplikasi, mulai dari navigasi hingga proyek robotik. Pada artikel ini, kita akan membahas cara sederhana untuk menghubungkan ESP32 ke sensor kompas ini. Dengan panduan langkah demi langkah, Anda akan dapat membaca data arah dengan mudah dan cepat

Berikut Merupakan Codingan Yang Telah Kami Sediakan, Telah Diuji Untuk Memastikan Keakuratan Serta Kestabilannya.
#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);
}

Selamat mencoba! Semoga sukses dengan proyekmu. Jadikan setiap langkah sebagai pengalaman berharga. Salam dari Labrobotika, tempat inovasi dan kreativitas!
Jika anda berminat menggunakan jasa labrobotika, silahkan hubungi admin: WHATSAPP


