VL53L0X adalah sensor jarak waktu penerbangan yang kompak dan akurat (TOF) yang mampu mengukur jarak hingga 2 meter dengan presisi milimeter. Ini menggunakan laser untuk mengukur waktu yang dibutuhkan cahaya untuk melakukan perjalanan ke suatu objek dan kembali, membuatnya ideal untuk robotika, penginderaan kedekatan, dan deteksi hambatan. Dalam tutorial ini, kami akan memandu Anda melalui interfacing VL53L0X dengan Arduino.
Apa yang Anda Butuhkan
- Modul Sensor Jarak VL53L0X
- Dewan Arduino (mis., Uno, mega, nano)
- Papan tempat memotong papan dan kabel jumper
- Komputer dengan IDE Arduino diinstal
Langkah 1: Memahami sensor VL53L0X
VL53L0X berkomunikasi menggunakan protokol I2C, membuatnya mudah untuk terhubung ke Arduino. Fiturnya:
- Antarmuka I2C: Menggunakan garis SDA dan SCL.
- Kemampuan Ranging: Mengukur jarak dari beberapa milimeter hingga 2 meter.
Pinout VL53L0X
Pin | Fungsi |
---|---|
Vin | Catu daya (3.3V/5V) |
Gnd | Tanah |
SDA | Jalur data I2C |
Scl | I2C Clock Line |
Xshut | Input shutdown (opsional) |
Gpio1 | Interrupt (opsional) |
Langkah 2: Kabel VL53L0X ke Arduino
Hubungkan VL53L0X ke Arduino Anda sebagai berikut:
PIN VL53L0X | Pin Arduino |
---|---|
Vin | 5v |
Gnd | Gnd |
SDA | A4 (SDA) |
Scl | A5 (SCL) |
Catatan: Jika Anda menggunakan mega Arduino atau papan lain, periksa pinout I2C.
Langkah 3: Instal Perpustakaan VL53L0X
Perpustakaan Adafruit VL53L0X menyederhanakan interaksi dengan sensor.
Langkah untuk menginstal:
- Buka Ide Arduino.
- Pergi ke Sketsa > Sertakan perpustakaan > Kelola Perpustakaan.
- Cari "Adafruit VL53L0X" dan klik Memasang.
Langkah 4: Unggah kode
Berikut contoh sketsa untuk membaca pengukuran jarak dari VL53L0X:
#include <Wire.h>
#include <Adafruit_VL53L0X.h>
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(9600);
while (!Serial) {
delay(1); // Wait for Serial Monitor to open
}
Serial.println("Adafruit VL53L0X Test");
if (!lox.begin()) {
Serial.println("Failed to find VL53L0X sensor! Check wiring.");
while (1);
}
Serial.println("VL53L0X sensor initialized.");
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
lox.rangingTest(&measure, false); // Perform a ranging test
if (measure.RangeStatus != 4) { // Check if valid
Serial.print("Distance (mm): ");
Serial.println(measure.RangeMilliMeter);
} else {
Serial.println("Out of range");
}
delay(100); // Wait before the next measurement
}
Langkah 5: Uji pengaturan
- Hubungkan Arduino ke komputer Anda melalui USB.
- Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
- Unggah kode ke Arduino dengan mengklik Mengunggah.
- Buka monitor serial (Peralatan > Monitor serial) dan atur baud rate ke
9600
. - Arahkan sensor VL53L0X pada suatu objek. Jarak dalam milimeter harus muncul di monitor serial.
Opsional: Menggunakan beberapa sensor VL53L0X
Untuk menggunakan beberapa sensor VL53L0X pada bus I2C yang sama, Anda harus mengubah alamat I2C mereka menggunakan XSHUT
pin:
- Tarik
XSHUT
Pin satu sensor rendah untuk menonaktifkannya. - Inisialisasi sensor aktif dan ubah alamat I2C -nya.
- Ulangi untuk sensor tambahan.
Contoh kode untuk mengubah alamat I2C:
lox.setAddress(0x31); // Set a new I2C address (default is 0x29)
Aplikasi VL53L0X
- Deteksi robot untuk robot
- Sensor kedekatan untuk perangkat pintar
- Kontrol pencahayaan otomatis
- Sistem Pendaratan Drone
Pemecahan masalah
- Tidak ada tanggapan dari sensor: Periksa kembali kabel dan pastikan sensornya bertenaga.
- Bacaan di luar jangkauan: Pastikan objek target berada dalam rentang efektif sensor (hingga 2m).
-
Beberapa sensor yang mengganggu: Gunakan
XSHUT
Pin untuk menetapkan alamat I2C yang unik.
Kesimpulan
Anda telah berhasil mengatur sensor jarak jauh VL53L0X dengan Arduino. Ukuran ketepatan dan kompaknya menjadikannya alat yang serba guna untuk berbagai proyek. Eksperimen dengan aplikasi yang berbeda, seperti robotika atau sistem rumah pintar, untuk memanfaatkan sensor yang kuat ini!