- VL6180X Time-of-Flight (ToF) Range Finder Sensor
- Diagram Sirkuit
- Menambahkan Library yang diperlukan untuk VL6180 ToF Sensor
- Pemrograman dan Penjelasan Kerja
TOF atau Time of flight merupakan metode yang umum digunakan untuk mengukur jarak benda jauh dengan berbagai sensor pengukur jarak seperti sensor ultrasonik. Pengukuran waktu yang dibutuhkan oleh partikel, gelombang, atau objek untuk menempuh jarak melalui media disebut sebagai Time-of-flight (TOF). Pengukuran ini kemudian dapat digunakan untuk menghitung kecepatan atau panjang jalur. Ini juga dapat digunakan untuk mempelajari tentang partikel atau properti media seperti komposisi atau laju aliran. Objek perjalanan dapat dideteksi secara langsung atau tidak langsung.
Alat pengukur jarak ultrasonik adalah salah satu alat paling awal yang menggunakan prinsip waktu penerbangan. Perangkat ini memancarkan pulsa ultrasonik dan mengukur jarak ke material padat berdasarkan waktu yang dibutuhkan gelombang untuk memantul kembali ke emitor. Kami menggunakan sensor Ultrasonik di banyak aplikasi kami untuk mengukur jarak:
- Pengukuran Jarak Berbasis Arduino & Ultrasonic Sensor
- Mengukur Jarak menggunakan Raspberry Pi dan HCSR04 Ultrasonic Sensor
- Bagaimana Mengukur Jarak Antara Dua Sensor Ultrasonik
Metode waktu penerbangan juga dapat digunakan untuk memperkirakan mobilitas elektron. Sebenarnya dirancang untuk pengukuran film tipis konduktif rendah, kemudian disesuaikan dengan semikonduktor biasa. Teknik ini digunakan untuk transistor efek medan organik serta struktur logam-dielektrik-logam. Dengan penerapan laser atau pulsa tegangan, muatan berlebih dihasilkan.
The Prinsip TOF digunakan untuk mengukur jarak antara sensor dan objek. Waktu yang dibutuhkan sinyal untuk mencapai kembali ke sensor setelah refleksi dari suatu objek diukur dan digunakan untuk menghitung jarak. Berbagai jenis sinyal (pembawa) seperti suara, cahaya dapat digunakan dengan prinsip TOF. Ketika TOF digunakan untuk pencarian jarak, itu sangat kuat saat memancarkan cahaya daripada suara. Dibandingkan dengan ultrasound, alat ini memberikan pembacaan yang lebih cepat, akurasi yang lebih tinggi, dan jangkauan yang lebih luas dengan tetap mempertahankan karakteristik bobot rendah, ukuran kecil, dan konsumsi daya yang rendah.
Di sini, di tutorial ini kita akan menggunakan Sensor Range Finder VL6180X TOF dengan Arduino untuk menghitung jarak antara sensor dan objek. Sensor ini juga memberitahukan nilai intensitas Cahaya di LUX.
VL6180X Time-of-Flight (ToF) Range Finder Sensor
VL6180 berbeda dari sensor jarak lainnya karena menggunakan jam yang tepat untuk mengukur waktu yang dibutuhkan oleh cahaya untuk memantulkan kembali dari permukaan apa pun. Ini memberi VL6180 keunggulan dibandingkan sensor lain karena lebih akurat dan kebal terhadap noise.
VL6180 adalah paket 3-in-1 yang mencakup pemancar IR, sensor cahaya sekitar, dan sensor jangkauan. Ini berkomunikasi melalui antarmuka I 2 C. Ini memiliki regulator 2.8V onboard. Jadi meskipun kita mencolokkan tegangan lebih besar dari 2.8V maka secara otomatis akan bergeser ke bawah tanpa merusak papan. Ini mengukur jangkauan hingga 25 cm. Dua GPIO yang dapat diprogram disediakan di dalamnya.
Diagram Sirkuit
Di sini LCD Nokia 5110 digunakan untuk menampilkan tingkat Cahaya dan jarak. LCD Nokia 5110 beroperasi pada 3.3V sehingga tidak dapat dihubungkan dengan pin digital Arduino Nano secara langsung. Jadi tambahkan resistor 10k secara seri dengan sinyal data untuk melindungi jalur 3.3V dari pin digital 5V. Pelajari lebih lanjut tentang menggunakan Nokia 5110 LCD dengan Arduino.
The VL6180 Sensor dapat langsung terhubung ke Arduino. Komunikasi antara VL6180 dan Arduino adalah I2C. Sebenarnya protokol komunikasi I2C menggabungkan fitur terbaik dari SPI dan UART. Di sini kita dapat menghubungkan banyak budak ke satu master dan kita dapat memiliki beberapa master yang mengontrol satu atau beberapa budak. Seperti komunikasi UART, I2C menggunakan dua kabel untuk komunikasi SDA (Serial Data) dan SCL (Serial Clock), jalur data dan jalur jam.
Diagram sirkuit untuk menghubungkan VL6180 ToF Range Finder Sensor dengan Arduino ditunjukkan di bawah ini:
- Hubungkan Pin RST LCD ke pin 6 Arduino melalui resistor 10K.
- Hubungkan Pin CE LCD ke pin 7 Arduino melalui resistor 10K.
- Hubungkan Pin DC LCD ke pin 5 Arduino melalui resistor 10K.
- Hubungkan Pin DIN LCD ke pin 4 Arduino melalui resistor 10K.
- Hubungkan Pin CLK LCD ke pin 3 Arduino melalui resistor 10K.
- Hubungkan Pin VCC LCD ke pin 3.3V Arduino.
- Hubungkan Pin GND LCD ke GND Arduino.
- Hubungkan pin SCL dari VL6180 ke pin A5 Arduino
- Hubungkan pin SDA VL6180 ke pin A4 Arduino
- Hubungkan pin VCC VL6180 ke pin 5V Arduino
- Hubungkan pin GND VL6180 ke pin GND Arduino
Menambahkan Library yang diperlukan untuk VL6180 ToF Sensor
Tiga perpustakaan akan digunakan dalam menghubungkan sensor VL6180 dengan Arduino.
1. Adafruit_PCD8544
Adafruit_PCD8544 adalah perpustakaan untuk Layar LCD Nokia 5110 Monokrom. Tampilan ini menggunakan SPI untuk komunikasi. Empat atau lima pin diperlukan untuk menghubungkan LCD ini. Tautan untuk mengunduh perpustakaan ini diberikan di bawah ini:
github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library/archive/master.zip
2. Adafruit_GFX
Pustaka Adafruit_GFX untuk Arduino adalah pustaka grafik inti untuk layar LCD, menyediakan sintaksis umum dan kumpulan grafik primitif (titik, garis, lingkaran, dll). Itu perlu dipasangkan dengan pustaka khusus perangkat keras untuk setiap perangkat tampilan yang kita gunakan (untuk menangani fungsi tingkat yang lebih rendah). Tautan untuk mengunduh perpustakaan ini diberikan di bawah ini:
github.com/adafruit/Adafruit-GFX-Library
3. SparkFun VL6180
SparkFun_VL6180 adalah pustaka Arduino dengan fungsionalitas dasar sensor VL6180. VL6180 terdiri dari pemancar IR, sensor jangkauan, dan sensor cahaya sekitar yang berkomunikasi melalui antarmuka I2C. Library ini memungkinkan Anda membaca jarak dan keluaran cahaya dari sensor, dan mengeluarkan data melalui koneksi serial. Tautan untuk mengunduh perpustakaan ini diberikan di bawah ini:
downloads.arduino.cc/libraries/github.com/sparkfun/SparkFun_VL6180_Sensor-1.1.0.zip
Tambahkan semua perpustakaan satu per satu dengan masuk ke Sketch >> Sertakan perpustakaan >> Tambahkan perpustakaan.ZIP di Arduino IDE. Kemudian unggah perpustakaan yang Anda unduh dari tautan di atas.
Terkadang Anda tidak perlu menambahkan pustaka kawat dan SPI, tetapi jika Anda mendapatkan kesalahan, silakan unduh dan tambahkan ke Arduino IDE Anda.
github.com/PaulStoffregen/SPI
github.com/PaulStoffregen/Wire
Pemrograman dan Penjelasan Kerja
Kode lengkap dengan video kerja diberikan di akhir tutorial ini, di sini kami menjelaskan program lengkap untuk memahami kerja proyek.
Dalam program ini sebagian besar bagian ditangani oleh pustaka yang kami tambahkan sehingga Anda tidak perlu khawatir tentang itu.
Dalam pengaturan bagian s mengatur baud rate sebagai 115200 dan menginisialisasi perpustakaan Wire untuk I2C. Kemudian cek apakah sensor VL6180 berfungsi dengan baik atau tidak, jika tidak berfungsi maka munculkan pesan error.
Pada bagian berikut kami menyiapkan tampilan, Anda dapat mengubah kontras ke nilai yang Anda inginkan di sini saya mengaturnya sebagai 50
void setup () { Serial.begin (115200); // Mulai Serial di 115200bps Wire.begin (); // Mulai penundaan pustaka I2C (100); // tunda. if (sensor.VL6180xInit ()! = 0) { Serial.println ("GAGAL INITALISASI"); // Inisialisasi perangkat dan periksa kesalahan }; sensor.VL6180xDefautSettings (); // Muat pengaturan default untuk memulai. penundaan (1000); // tunda 1s display.begin (); // init done // Anda dapat mengubah kontras di sekitar untuk menyesuaikan tampilan // untuk tampilan terbaik! display.setContrast (50); display.display (); // tampilkan tampilan splashscreen.clearDisplay (); }
Dalam kekosongan lingkaran bagian setup petunjuk untuk menampilkan nilai pada layar LCD. Di sini kami menampilkan dua nilai, satu adalah "Tingkat cahaya sekitar dalam Lux" (Satu lux sebenarnya adalah satu lumen per area meter persegi), dan yang kedua adalah "Jarak diukur dalam mm". Untuk menampilkan nilai yang berbeda pada layar LCD tentukan posisi setiap teks yang harus ditampilkan pada layar LCD dengan menggunakan “display.setCursor (0,0);”.
void loop () { display.clearDisplay (); // Dapatkan level Cahaya Sekitar dan laporkan dalam LUX Serial.print ("Ambient Light Level (Lux) ="); Serial.println (sensor.getAmbientLight (GAIN_1)); display.setTextSize (1); display.setTextColor (BLACK); display.setCursor (0,0); display.println ("Light Level"); display.setCursor (0,12); display.println (sensor.getAmbientLight (GAIN_1)); // Dapatkan Jarak dan laporkan dalam mm Serial.print ("Jarak terukur (mm) ="); Serial.println (sensor.getDistance ()); display.setTextSize (1); display.setTextColor (BLACK); display.setCursor (0, 24); display.println ("Jarak (mm) ="); display.setCursor (0, 36); b = sensor.getDistance (); display.println (b); display.display (); penundaan (500); }
Setelah mengunggah program, buka monitor serial dan itu akan menunjukkan output seperti yang ditunjukkan di bawah ini.
Pencari jangkauan VL6180 TOF digunakan di smartphone, perangkat layar sentuh portabel, Tablet, laptop, perangkat game, dan peralatan rumah tangga / perangkat industri.
Di sini kami menampilkan tingkat cahaya Ambient dalam Lux dan jarak dalam mm.
Temukan program lengkap dan Video demonstrasi di bawah ini. Periksa juga cara mengukur jarak menggunakan sensor Ultrasonik dan tingkat cahaya menggunakan Sensor Cahaya Sekitar BH1750.