- Sensor Pencari Julat Masa Penerbangan (ToF) VL6180X
- Rajah Litar
- Menambah Perpustakaan yang diperlukan untuk Sensor ToF VL6180
- Pengaturcaraan dan Penjelasan Kerja
TOF atau Time of flight adalah kaedah yang biasa digunakan untuk mengukur jarak objek jauh dengan pelbagai sensor pengukuran jarak seperti sensor ultrasonik. Pengukuran masa yang diambil oleh zarah, gelombang atau objek untuk menempuh jarak melalui media disebut sebagai Time-of-flight (TOF). Pengukuran ini kemudian dapat digunakan untuk menghitung halaju atau panjang jalur. Ia juga boleh digunakan untuk belajar mengenai zarah atau sifat medium seperti komposisi atau kadar aliran. Objek perjalanan dapat dikesan secara langsung atau tidak langsung.
Alat pengukur jarak ultrasonik adalah salah satu peranti paling awal yang menggunakan prinsip masa penerbangan. Peranti ini mengeluarkan denyutan ultrasonik dan mengukur jarak ke bahan pepejal berdasarkan masa yang diambil oleh gelombang untuk melantun kembali ke pemancar. Kami menggunakan sensor Ultrasonik di banyak aplikasi kami untuk mengukur jarak:
- Pengukuran Jarak Berdasarkan Sensor Arduino & Ultrasonik
- Ukur Jarak menggunakan Sensor Ultrasonik Raspberry Pi dan HCSR04
- Cara Mengukur Jarak Antara Dua Sensor Ultrasonik
Kaedah masa penerbangan juga dapat digunakan untuk mengira pergerakan elektron. Sebenarnya, ia dirancang untuk pengukuran filem nipis konduktif rendah, kemudian diselaraskan untuk semikonduktor biasa. Teknik ini digunakan untuk transistor kesan medan organik dan juga struktur logam-dielektrik-logam. Dengan penggunaan laser atau nadi voltan, lebihan cas dihasilkan.
The prinsip TOF digunakan untuk mengukur jarak antara sensor dan objek. Masa yang diambil oleh isyarat untuk mencapai kembali ke sensor setelah memantulkan dari suatu objek diukur dan ia digunakan untuk mengira jarak. Pelbagai jenis isyarat (pembawa) seperti bunyi, cahaya dapat digunakan dengan prinsip TOF. Apabila TOF digunakan untuk mencari jarak jauh, ia sangat kuat ketika memancarkan cahaya dan bukannya bunyi. Berbanding dengan ultrasound, ia memberikan bacaan yang lebih pantas, ketepatan yang lebih tinggi dan julat yang lebih besar yang masih mengekalkan ciri-ciri berat, saiz kecil, dan penggunaan tenaga yang rendah.
Di sini dalam tutorial ini kita akan menggunakan Sensor Pencari Rentang TOF VL6180X dengan Arduino untuk mengira jarak antara sensor dan objek. Sensor ini juga memberitahu nilai intensiti Cahaya dalam LUX.
Sensor Pencari Julat Masa Penerbangan (ToF) VL6180X
VL6180 berbeza dengan sensor jarak lain kerana ia menggunakan jam tepat untuk mengukur masa yang diambil oleh cahaya untuk memantulkan kembali dari permukaan mana pun. Ini memberi VL6180 kelebihan berbanding sensor lain kerana lebih tepat dan kebal terhadap bunyi.
VL6180 adalah pakej 3-dalam-1 yang merangkumi pemancar IR, sensor cahaya ambien, dan sensor jarak. Ia berkomunikasi melalui antara muka I 2 C. Ia mempunyai pengatur 2.8V onboard. Oleh itu, walaupun kita memasang voltan lebih besar daripada 2.8V, ia akan turun secara automatik tanpa merosakkan papan. Ini mengukur jarak hingga 25 cm. Dua GPIO yang dapat diprogramkan disediakan di dalamnya.
Rajah Litar
Di sini Nokia 5110 LCD digunakan untuk menampilkan tahap dan jarak Cahaya. Nokia 5110 LCD beroperasi pada 3.3V sehingga tidak dapat dihubungkan dengan pin digital Arduino Nano secara langsung. Oleh itu, tambahkan perintang 10k secara bersiri dengan isyarat data untuk melindungi garis 3.3V dari pin digital 5V. Ketahui lebih lanjut mengenai penggunaan LCD Nokia 5110 dengan Arduino.
The VL6180 Sensor boleh terus disambungkan kepada Arduino. Komunikasi antara VL6180 dan Arduino adalah I2C. Sebenarnya protokol komunikasi I2C menggabungkan ciri terbaik SPI dan UART. Di sini kita dapat menghubungkan beberapa hamba ke satu master dan kita boleh mempunyai beberapa master yang mengendalikan hamba tunggal atau berbilang. Seperti komunikasi UART, I2C menggunakan dua wayar untuk komunikasi SDA (Serial Data) dan SCL (Serial Clock), garis data dan garis jam.
Gambarajah litar untuk menyambungkan VL6180 ToF Range Finder Sensor dengan Arduino ditunjukkan di bawah:
- Sambungkan RST Pin LCD ke pin 6 Arduino melalui perintang 10K.
- Sambungkan CE Pin LCD ke pin 7 Arduino melalui perintang 10K.
- Sambungkan DC Pin LCD ke pin 5 Arduino melalui perintang 10K.
- Sambungkan DIN Pin LCD ke pin 4 Arduino melalui perintang 10K.
- Sambungkan CLK Pin LCD ke pin 3 Arduino melalui perintang 10K.
- Sambungkan VCC Pin LCD ke pin 3.3V Arduino.
- Sambungkan Pin GND LCD ke GND Arduino.
- Sambungkan pin SCL VL6180 ke pin A5 dari Arduino
- Sambungkan pin SDA VL6180 ke pin Arduino A4
- Sambungkan pin VCC VL6180 ke pin Arduino 5V
- Sambungkan pin GND VL6180 ke pin GND Arduino
Menambah Perpustakaan yang diperlukan untuk Sensor ToF VL6180
Tiga perpustakaan akan digunakan dalam menghubungkan sensor VL6180 dengan Arduino.
1. Adafruit_PCD8544
Adafruit_PCD8544 adalah perpustakaan untuk Paparan LCD Monochrome Nokia 5110. Paparan ini menggunakan SPI untuk komunikasi. Diperlukan empat atau lima pin untuk menghubungkan LCD ini. Pautan untuk memuat turun perpustakaan ini diberikan di bawah:
github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library/archive/master.zip
2. Adafruit_GFX
Perpustakaan Adafruit_GFX untuk Arduino adalah perpustakaan grafik teras untuk paparan LCD, yang menyediakan sintaks biasa dan set primitif grafik (titik, garis, bulatan, dll) Itu perlu dipasangkan dengan perpustakaan khusus perkakasan untuk setiap perangkat paparan yang kami gunakan (untuk menangani fungsi tingkat bawah) Pautan untuk memuat turun perpustakaan ini diberikan di bawah:
github.com/adafruit/Adafruit-GFX-Library
3. SparkFun VL6180
SparkFun_VL6180 adalah perpustakaan Arduino dengan fungsi asas sensor VL6180. VL6180 terdiri dari pemancar IR, sensor jarak, dan sensor cahaya ambien yang berkomunikasi melalui antara muka I2C. Perpustakaan ini membolehkan anda membaca jarak dan output cahaya dari sensor, dan mengeluarkan data melalui sambungan bersiri. Pautan untuk memuat turun perpustakaan ini diberikan di bawah:
downloads.arduino.cc/libraries/github.com/sparkfun/SparkFun_VL6180_Sensor-1.1.0.zip
Tambahkan semua perpustakaan satu persatu dengan masuk ke Sketsa >> Sertakan perpustakaan >> Tambah.ZIP perpustakaan di Arduino IDE. Kemudian muat naik pustaka yang anda muat turun dari pautan di atas.
Kadang-kadang anda tidak perlu menambahkan perpustakaan wayar dan SPI, tetapi jika anda mendapat ralat, muat turun dan tambahkannya ke Arduino IDE anda.
github.com/PaulStoffregen/SPI
github.com/PaulStoffregen/Wire
Pengaturcaraan dan Penjelasan Kerja
Kod lengkap dengan video berfungsi diberikan pada akhir tutorial ini, di sini kami menerangkan program lengkap untuk memahami cara kerja projek.
Dalam program ini sebahagian besar bahagian dikendalikan oleh perpustakaan yang kami tambahkan sehingga anda tidak perlu risau.
Dalam persediaan sebahagian s menetapkan kadar baud sebagai 115200 dan memulakan perpustakaan Wire untuk I2C. Kemudian periksa sama ada sensor VL6180 berfungsi dengan betul atau tidak, jika tidak berfungsi, tunjukkan mesej ralat.
Di bahagian berikut ini kami menyiapkan paparan, anda dapat mengubah kontras dengan nilai yang anda inginkan di sini saya menetapkannya sebagai 50
persediaan tidak sah () { Serial.begin (115200); // Mulakan Serial pada 115200bps Wire.begin (); // Mulakan kelewatan perpustakaan I2C (100); // kelewatan. if (sensor.VL6180xInit ()! = 0) { Serial.println ("GAGAL MENGINITALISI"); // Permulaan peranti dan periksa kesilapan }; sensor.VL6180xDefautSettings (); // Muatkan tetapan lalai untuk memulakan. kelewatan (1000); // tunda 1s display.begin (); // init selesai // anda boleh mengubah kontras untuk menyesuaikan paparan // untuk tontonan terbaik! display.setContrast (50); paparan.display (); // tunjukkan splashscreen display.clearDisplay (); }
Dalam bahagian bahagian gelung void arahan untuk memaparkan nilai pada skrin LCD. Di sini kita menunjukkan dua nilai, satu adalah "Tingkat cahaya ambien di Lux" (Satu lux sebenarnya satu lumen per luas 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 di layar LCD dengan menggunakan "display.setCursor (0,0);".
gelung kosong () { display.clearDisplay (); // Dapatkan tahap Cahaya Ambient dan laporkan dalam LUX Serial.print ("Ambient Light Level (Lux) ="); Serial.println (sensor.getAmbientLight (GAIN_1)); display.setTextSize (1); display.setTextColor (HITAM); display.setCursor (0,0); display.println ("Tahap Cahaya"); display.setCursor (0,12); display.println (sensor.getAmbientLight (GAIN_1)); // Dapatkan Jarak dan laporkan dalam mm Serial.print ("Jarak diukur (mm) ="); Serial.println (sensor.getDistance ()); display.setTextSize (1); display.setTextColor (HITAM); display.setCursor (0, 24); display.println ("Jarak (mm) ="); display.setCursor (0, 36); b = sensor.getDistance (); display.println (b); paparan.display (); kelewatan (500); }
Setelah memuat naik program, buka monitor bersiri dan ia akan menunjukkan output seperti gambar di bawah.
Pencari pelbagai VL6180 TOF digunakan dalam telefon pintar, peranti skrin sentuh mudah alih, Tablet, komputer riba, peranti permainan dan peralatan Domestik / industri.
Di sini kita memaparkan tahap cahaya Ambient di Lux dan jarak dalam mm.
Cari video program dan demonstrasi lengkap di bawah. Periksa juga cara mengukur jarak menggunakan sensor Ultrasonik dan tahap cahaya menggunakan Sensor Cahaya Ambient BH1750.