Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Beranda » Blog » Tutorial Mengambil Data Sudut dengan Sensor GY-50 L3G4200D berbasis Arduino Uno

Tutorial Mengambil Data Sudut dengan Sensor GY-50 L3G4200D berbasis Arduino Uno

Diposting pada 17 November 2025 oleh indo maker / Dilihat: 150 kali / Kategori: ,

Gyroscope adalah alat yang mengukur seberapa cepat sebuah benda berputar, yaitu kecepatan rotasinya di sumbu X, Y, dan Z. Modul L3G4200D adalah salah satu gyroscope tiga sumbu yang populer di kalangan para pembuat dan pengembang sistem tertanam karena ukurannya yang kecil, kebutuhan daya yang rendah, dan kemampuannya memberikan data rotasi yang cukup akurat untuk berbagai aplikasi baik hobi maupun untuk prototipe profesional. Sensor ini sering digunakan dalam proyek seperti stabilisator kamera, robot yang seimbang sendiri, pengendali penerbangan untuk drone, sistem navigasi inersial, serta mendeteksi gerakan pada antarmuka berbasis gerakan.

Dalam tutorial ini, kita akan membahas L3G4200D dari awal, mulai dari penjelasan fungsinya, cara penyambungan yang aman, sampai contoh kode sederhana yang dapat kamu coba dengan Arduino. Selain langkah-langkah praktis, kamu juga akan mendapatkan penjelasan singkat tentang cara membaca nilai gyroscope, serta tips mengatasi masalah yang sering muncul ketika pertama kali menggunakan sensor ini. Tujuannya adalah agar kamu tidak hanya dapat mengoperasikan sensor, tetapi juga memahami kapan dan bagaimana hasilnya dapat diterapkan dalam proyek nyata. Jika kamu sudah siap, mari kita lanjutkan ke bagian komponen, penyambungan, dan contoh kodenya.

2. Mengenal Pin L3G4200D

Pada modul, biasanya kamu akan menemukan pin berikut:

Pin Fungsi
VCC Input tegangan
GND Ground
SCL Clock I2C
SDA Data I2C
CS Pilih mode komunikasi (I2C/SPI)
SDO Alamat I2C (LOW = 0x68, HIGH = 0x69)
DR / INT Pin interrupt

Alat dan Bahan yang Diperlukan

Untuk menjalankan proyek ini, berikut yang kamu butuhkan :

  • Modul Gyroscope L3G4200D
  • Arduino Uno
  • Kabel jumper
  • Breadboard

Wiring Rangkaian Sensor Gy-50 L3G4200D

  • Pin VCC ke 5v
  • Pin GND ke GND
  • Pin SCL ke A5
  • Pin SDA ke A40
  • Pin SD0 ke 5V (untuk alamat 0x69)
  • Pin CS ke 5v

GY-50 L3G4200D

Gambar 1. Wiring Rangkaian Sensor Gy-50 L3G4200D

Library yang Digunakan

L3G4200D tidak termasuk dalam library default Arduino, jadi kita menggunakan library dari komunitas.

Install library berikut:

  1. Buka Arduino IDE
  2. Menu Sketch → Include Library → Manage Libraries
  3. Cari: L3G4200D (by Lukasz)
  4. Klik Install

Menulis Program Sensor Gy-50 L3G4200D

Setelah semua komponen terpasang, buka software Arduino IDE dan tulis kode berikut :

#include <Wire.h>

#define L3G4200D_Address 105 // 0x69

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

  setupL3G4200D(2000); // range ±2000 dps
}

void loop() {
  int x, y, z;
  readGyro(&x, &y, &z);

  Serial.print("X: "); Serial.print(x);
  Serial.print(" | Y: "); Serial.print(y);
  Serial.print(" | Z: "); Serial.println(z);

  delay(200);
}

void setupL3G4200D(int scale){
  writeReg(0x20, 0x0F);
  writeReg(0x23, 0x30);
}

void readGyro(int* x, int* y, int* z){
  Wire.beginTransmission(L3G4200D_Address);
  Wire.write(0x28 | 0x80);
  Wire.endTransmission();
  Wire.requestFrom(L3G4200D_Address, 6);

  *x = Wire.read() | (Wire.read() << 8);
  *y = Wire.read() | (Wire.read() << 8);
  *z = Wire.read() | (Wire.read() << 8);
}

void writeReg(byte reg, byte val){
  Wire.beginTransmission(L3G4200D_Address);
  Wire.write(reg);
  Wire.write(val);
  Wire.endTransmission();
}

Penjelasan Kode

  • HMC5883L_Address : alamat I2C dari modul GY-50 (HMC5883L) yang digunakan untuk komunikasi data antara Arduino dan sensor.
  • initHMC5883L() : fungsi untuk menginisialisasi sensor, mengatur mode pengukuran, konfigurasi register, dan memastikan sensor aktif sebelum membaca data.
  • readHMC5883L() : mengambil data medan magnet dari tiga sumbu sensor (x, y, z) melalui register internal menggunakan komunikasi I2C.
  • x, y, z : variabel yang menyimpan nilai medan magnet mentah untuk masing-masing sumbu dari sensor GY-50.
  • atan2(y, x) : rumus untuk menghitung arah kompas dari dua komponen medan magnet; atan2 menentukan kuadran arah secara otomatis sehingga lebih akurat.
  • heading : variabel yang menyimpan hasil sudut kompas dalam derajat setelah konversi dari radian; nilai inilah yang menjadi arah utara relatif.
  • if (heading < 0) heading += 360; : memastikan hasil sudut tetap berada pada rentang 0°–360° dengan menghilangkan nilai negatif.

Cara Membaca Nilai Gyroscope

Sensor akan mengeluarkan nilai rotasi dalam satuan DPS (Degree Per Second).

Interpretasinya:

  • X naik → sensor miring ke depan/belakang
  • Y naik → sensor miring kiri/kanan
  • Z naik → sensor diputar seperti memutar koin

Jika kamu gerakkan modul, nilai akan berubah cepat sesuai kecepatan rotasi.

Apa yang Akan Terjadi dengan Sensor GY-50?

Ketika rangkaian GY-50 dinyalakan dan koneksi I2C berada dalam kondisi yang benar, sensor akan mulai melakukan pembacaan gyro secara kontinu pada sumbu X, Y, dan Z. Setiap perubahan orientasi atau getaran kecil akan menghasilkan nilai kecepatan sudut yang berbeda-beda, dan data tersebut akan tampil di Serial Monitor secara stabil tanpa adanya lonjakan nilai yang tidak wajar. Hal ini menunjukkan bahwa konfigurasi mode I2C dan proses pembacaan register internal sensor berjalan dengan baik.

Jika rangkaian diberi gangguan seperti goyangan cepat atau rotasi mendadak, nilai output akan berubah secara responsif sesuai arah gerakan. Sebaliknya, ketika sensor didiamkan, data akan cenderung berada pada angka yang konstan sehingga memudahkan proses kalibrasi. Jika tombol reset pada sistem ditekan, Arduino akan menginisialisasi ulang komunikasi I2C, membuat sensor menjalankan konfigurasi awal kembali, dan pembacaan nilai gyro dimulai dari kondisi yang bersih tanpa data sisa dari proses sebelumnya.

Bagikan ke

Tutorial Mengambil Data Sudut dengan Sensor GY-50 L3G4200D berbasis Arduino Uno

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Tutorial Mengambil Data Sudut dengan Sensor GY-50 L3G4200D berbasis Arduino Uno

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: