Minggu, 31 Agustus 2025

Tutorial ESP32 Indonesia : Giroskop / Gyroscope MPU6050 akselerometer

 Anda dapat membuat program ESP32 untuk melihat kerja giroskop 6-axis menggunakan Arduino IDE dengan mengintegrasikan modul seperti MPU6050, yang menggabungkan giroskop dan akselerometer. Program ini akan membaca data mentah dari sensor, menghitung sudut rotasi (roll, pitch, yaw) dan menampilkannya di Serial Monitor.




Perlengkapan yang Dibutuhkan

  • ESP32 Development Board: Papan mikrokontroler utama.

  • Modul MPU6050: Sensor 6-axis (giroskop 3-axis dan akselerometer 3-axis).

  • Kabel Jumper: Untuk menghubungkan ESP32 dengan MPU6050.

  • Arduino IDE: Software untuk menulis dan mengunggah kode.


Langkah-langkah Pemrograman

1. Instalasi Library

Anda memerlukan library khusus untuk berkomunikasi dengan MPU6050. Buka Arduino IDE, lalu pergi ke Sketch > Include Library > Manage Libraries.... Cari dan install "Adafruit MPU6050" dan "Adafruit Unified Sensor".

2. Sambungan Hardware

Hubungkan MPU6050 ke ESP32 menggunakan protokol I2C. Pastikan koneksi kuat untuk menghindari pembacaan data yang tidak stabil.

MPU6050 PinESP32 Pin
VCC3.3V
GNDGND
SCLGPIO22
SDAGPIO21

3. Kode Program

Salin dan tempel kode berikut ke Arduino IDE. Kode ini akan menginisialisasi sensor, membaca data giroskop dan akselerometer, lalu mencetaknya ke Serial Monitor. Pastikan untuk mengatur Baud Rate di Serial Monitor ke 115200 agar pembacaan data berjalan lancar.

C++
#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>

Adafruit_MPU6050 mpu;

void setup() {
  Serial.begin(115200);
  while (!Serial) {
    delay(10);
  }

  Serial.println("Inisialisasi Sensor MPU6050...");

  // Cek apakah sensor terhubung
  if (!mpu.begin()) {
    Serial.println("Gagal menemukan sensor MPU6050!");
    while (1) {
      delay(10);
    }
  }

  mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
  mpu.setGyroRange(MPU6050_RANGE_500_DEG);
  mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
  Serial.println("MPU6050 siap.");
}

void loop() {
  sensors_event_t a, g, temp;
  mpu.getEvent(&a, &g, &temp);

  // Tampilkan data akselerometer (pergerakan)
  Serial.print("Akselerometer (m/s^2) - X: ");
  Serial.print(a.acceleration.x);
  Serial.print(", Y: ");
  Serial.print(a.acceleration.y);
  Serial.print(", Z: ");
  Serial.print(a.acceleration.z);
  Serial.println("");

  // Tampilkan data giroskop (rotasi)
  Serial.print("Giroskop (rad/s) - X: ");
  Serial.print(g.gyro.x);
  Serial.print(", Y: ");
  Serial.print(g.gyro.y);
  Serial.print(", Z: ");
  Serial.print(g.gyro.z);
  Serial.println("");

  Serial.println("---------------------------------------");
  delay(500); // Jeda untuk melihat hasil
}

Cara Kerja Kode

  1. Inisialisasi Sensor: mpu.begin() digunakan untuk menginisialisasi komunikasi antara ESP32 dan MPU6050.

  2. Pembacaan Data: Fungsi mpu.getEvent() membaca data dari ketiga sumbu (X, Y, Z) untuk akselerometer dan giroskop.

  3. Tampilan Data: Data yang terbaca kemudian dicetak ke Serial Monitor menggunakan Serial.print() dan Serial.println(), sehingga Anda dapat melihat nilai-nilai tersebut secara real-time.

Dengan program ini, Anda bisa menggerakkan sensor MPU6050 dan melihat bagaimana nilai akselerometer dan giroskop berubah di Serial Monitor, memberikan gambaran nyata tentang cara kerja sensor 6-axis.

untuk cara upload program baca halaman berikut

Tutorial ESP32 Indonesia : Introduction (elektronikagratis.blogspot.com)

Tidak ada komentar:

Posting Komentar