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 Pin | ESP32 Pin |
VCC | 3.3V |
GND | GND |
SCL | GPIO22 |
SDA | GPIO21 |
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.
#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
Inisialisasi Sensor:
mpu.begin()
digunakan untuk menginisialisasi komunikasi antara ESP32 dan MPU6050.Pembacaan Data: Fungsi
mpu.getEvent()
membaca data dari ketiga sumbu (X, Y, Z) untuk akselerometer dan giroskop.Tampilan Data: Data yang terbaca kemudian dicetak ke Serial Monitor menggunakan
Serial.print()
danSerial.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