- VL6180X Osjetnik dometa za vrijeme leta (ToF)
- Kružni dijagram
- Dodavanje potrebnih knjižnica za VL6180 ToF senzor
- Programiranje i radno objašnjenje
TOF ili vrijeme leta uobičajena je metoda za mjerenje udaljenosti udaljenih predmeta pomoću različitih senzora za mjerenje udaljenosti poput ultrazvučnog senzora. Mjerenje vremena koje je čestici, valu ili predmetu trebalo da prijeđe udaljenost kroz medij naziva se Vrijeme leta (TOF). Tada se ovo mjerenje može koristiti za izračunavanje brzine ili duljine puta. Također se može koristiti za učenje o česticama ili svojstvima medija poput sastava ili brzine protoka. Putujući objekt može se otkriti izravno ili neizravno.
Ultrazvučni uređaji za mjerenje udaljenosti jedan su od najranijih uređaja koji koriste princip vremena leta. Ovi uređaji emitiraju ultrazvučni impuls i mjere udaljenost do čvrstog materijala na temelju vremena potrebnog valu da se odbije do emitora. U mnogim našim aplikacijama koristili smo ultrazvučni senzor za mjerenje udaljenosti:
- Mjerenje udaljenosti na osnovi Arduino i ultrazvučnog senzora
- Izmjerite udaljenost pomoću Raspberry Pi i ultrazvučnog senzora HCSR04
- Kako izmjeriti udaljenost između dva ultrazvučna senzora
Metoda vremena leta također se može koristiti za procjenu elektronske pokretljivosti. Ustvari, bio je dizajniran za mjerenje tankoprovodnih tankih filmova, a kasnije je prilagođen uobičajenim poluvodičima. Ova se tehnika koristi za tranzistore s organskim poljskim efektima, kao i za metal-dielektrično-metalne konstrukcije. Primjenom laserskog ili naponskog impulsa nastaju višak naboja.

Princip TOF se koristi za mjerenje udaljenosti između senzora i objekta. Mjeri se vrijeme potrebno signalu da se vrati do senzora nakon odraza od predmeta i koristi se za izračunavanje udaljenosti. Razne vrste signala (nosači) poput zvuka, svjetlosti mogu se koristiti s TOF principom. Kada se TOF koristi za pronalaženje dometa, vrlo je moćan kad emitira svjetlost, a ne zvuk. U usporedbi s ultrazvukom omogućuje brže očitavanje, veću preciznost i veći domet i dalje zadržavajući značajke male težine, male veličine i male potrošnje energije.
Ovdje ćemo u ovom tutorialu koristiti VL6180X TOF senzor daljinskog pretraživača s Arduinom za izračunavanje udaljenosti između senzora i objekta. Ovaj senzor također govori vrijednost intenziteta svjetlosti u LUX-u.
VL6180X Osjetnik dometa za vrijeme leta (ToF)
VL6180 se razlikuje od ostalih senzora udaljenosti jer koristi precizan sat za mjerenje vremena koje je potrebno svjetlu da se odbije od bilo koje površine. To VL6180 daje prednost nad ostalim senzorima jer je precizniji i imuniji na buku.
VL6180 je paket 3 u 1 koji uključuje IR odašiljač, senzor ambijentalnog svjetla i senzor dometa. Komunicira putem sučelja I 2 C. Ima ugrađeni regulator od 2,8 V. Dakle, čak i ako priključimo napon veći od 2,8 V, automatski će se pomaknuti prema dolje bez oštećenja ploče. Ona mjeri raspon do 25 cm. U njemu su predviđena dva programabilna GPIO-a.

Kružni dijagram
Ovdje se Nokia 5110 LCD koristi za prikaz razine i udaljenosti osvjetljenja. LCD Nokia 5110 radi na naponu od 3,3 V, tako da ga nije moguće izravno povezati s Arduino Nano digitalnim iglama. Dakle, dodajte 10 k otpornika u seriju s podatkovnim signalima kako biste zaštitili vodove od 3,3 V od 5 V digitalnih pinova. Saznajte više o korištenju Nokia 5110 LCD-a s Arduinom.

Senzor VL6180 može biti izravno povezan s Arduino. Komunikacija između VL6180 i Arduina je I2C. Zapravo I2C komunikacijski protokol kombinira najbolje značajke SPI i UART. Ovdje možemo povezati više robova s jednim gospodarom i možemo imati više gospodara koji kontroliraju jednog ili više podređenih. Kao i UART komunikacija, I2C koristi dvije žice za komunikaciju SDA (serijski podaci) i SCL (serijski sat), podatkovnu liniju i liniju sata.
Dijagram spoja za povezivanje VL6180 ToF senzora daljinskog pretraživača s Arduinom prikazan je dolje:

- Spojite RST pin LCD-a na pin 6 Arduina kroz 10K otpornik.
- Spojite CE pin LCD-a na pin 7 Arduina kroz 10K otpornik.
- Spojite istosmjerni pin LCD-a na pin 5 Arduina kroz 10K otpornik.
- Spojite DIN pin LCD-a na pin 4 Arduina kroz 10K otpornik.
- Spojite CLK pin LCD-a na pin 3 Arduina kroz 10K otpornik.
- Spojite VCC pin LCD-a na 3.3V pin Arduina.
- Spojite GND pin LCD-a na GND Arduina.
- Spojite SCL pin VL6180 na A5 pin Arduino
- Spojite SDA pin VL6180 na A4 pin Arduino
- Spojite VCC pin VL6180 na 5V pin Arduino
- Spojite GND pin VL6180 na GND pin Arduina


Dodavanje potrebnih knjižnica za VL6180 ToF senzor
Tri će se knjižnice koristiti za povezivanje senzora VL6180 s Arduinom.
1. Adafruit_PCD8544
Adafruit_PCD8544 je knjižnica za jednobojne LCD zaslone Nokia 5110. Ovi zasloni koriste SPI za komunikaciju. Za povezivanje ovog LCD-a potrebno je četiri ili pet pinova. Link za preuzimanje ove biblioteke nalazi se u nastavku:
github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library/archive/master.zip
2. Adafruit_GFX
Biblioteka Adafruit_GFX za Arduino osnovna je grafička biblioteka za LCD zaslone, pružajući zajedničku sintaksu i skup grafičkih primitiva (točke, crte, krugovi itd.). Treba ga upariti s hardverskom bibliotekom za svaki uređaj za prikaz koji koristimo (za rukovanje funkcijama niže razine). Link za preuzimanje ove biblioteke nalazi se u nastavku:
github.com/adafruit/Adafruit-GFX-Library
3. SparkFun VL6180
SparkFun_VL6180 je Arduino knjižnica s osnovnom funkcionalnošću senzora VL6180. VL6180 sastoji se od IR odašiljača, senzora dometa i senzora ambijentalnog svjetla koji komuniciraju putem I2C sučelja. Ova knjižnica omogućuje vam očitavanje udaljenosti i izlaza svjetlosti sa senzora, a podatke daje putem serijske veze. Link za preuzimanje ove biblioteke nalazi se u nastavku:
downloads.arduino.cc/libraries/github.com/sparkfun/SparkFun_VL6180_Sensor-1.1.0.zip
Dodajte sve biblioteke jednu po jednu odlaskom u Skica >> Uključi biblioteku >> Dodaj.ZIP biblioteku u Arduino IDE. Zatim prenesite biblioteku koju ste preuzeli s gornjih poveznica.

Ponekad nećete trebati dodavati žične i SPI knjižnice, ali ako se pojavi pogreška, preuzmite ih i dodajte u svoj Arduino IDE.
github.com/PaulStoffregen/SPI
github.com/PaulStoffregen/Wire
Programiranje i radno objašnjenje
Kompletni kôd s radnim video zapisom dan je na kraju ovog vodiča, ovdje objašnjavamo kompletan program za razumijevanje rada projekta.
U ovom programu većinu dijelova obrađuju knjižnice koje smo dodali, tako da o tome ne trebate brinuti.
U postava dio je postavljena brzina prijenosa podataka kao i 115200 i inicijalizirati žice knjižnicu za I2C. Zatim provjerite radi li VL6180 senzor ispravno ili ne, ako ne radi, prikažite poruku o pogrešci.
U sljedećem dijelu postavljamo zaslon, kontrast možete promijeniti na željenu vrijednost, ovdje ga postavljam na 50
void setup () { Serial.begin (115200); // Pokreni serijski na 115200bps Wire.begin (); // Pokreni kašnjenje knjižnice I2C (100); // odgoda. if (sensor.VL6180xInit ()! = 0) { Serial.println ("NIJE UMJETNO INITALIZIRATI"); // Inicijalizirajte uređaj i provjerite ima li pogrešaka }; sensor.VL6180xDefautSettings (); // Učitajte zadane postavke za početak. kašnjenje (1000); // odgoditi 1s display.begin (); // init done // možete promijeniti kontrast okolo kako biste prilagodili zaslon // za najbolje gledanje! display.setContrast (50); display.display (); // prikaži splashscreen display.clearDisplay (); }
U postavci dijela praznine petlje upute za prikaz vrijednosti na LCD zaslonu. Ovdje prikazujemo dvije vrijednosti, jedna je "Razina ambijentalnog svjetla u Luxu" (Jedan lux je zapravo jedan lumen po kvadratnom metru površine), a druga je "Udaljenost izmjerena u mm". Za prikaz različitih vrijednosti na LCD zaslonu definirajte položaj svakog teksta koji bi se trebao prikazivati na LCD zaslonu pomoću "display.setCursor (0,0);".
petlja void () { display.clearDisplay (); // Dohvati razinu ambijentalnog svjetla i izvještava u LUX Serial.print ("Razina ambijentalnog svjetla (Lux) ="); Serial.println (sensor.getAmbientLight (GAIN_1)); display.setTextSize (1); display.setTextColor (CRNA); display.setCursor (0,0); display.println ("Razina svjetlosti"); display.setCursor (0,12); display.println (sensor.getAmbientLight (GAIN_1)); // Dohvati udaljenost i prijavi u mm Serial.print ("Izmjerena udaljenost (mm) ="); Serial.println (sensor.getDistance ()); display.setTextSize (1); display.setTextColor (CRNA); display.setCursor (0, 24); display.println ("Udaljenost (mm) ="); display.setCursor (0, 36); b = sensor.getDistance (); display.println (b); display.display (); kašnjenje (500); }
Nakon prijenosa programa otvorite serijski monitor i on bi trebao prikazivati izlaz kao što je prikazano dolje.

Tragači dometa VL6180 TOF koriste se u pametnim telefonima, prijenosnim uređajima osjetljivim na dodir, tabletima, prijenosnicima, igraćim uređajima i kućanskim uređajima / industrijskim uređajima.
Ovdje prikazujemo razinu ambijentalnog osvjetljenja u luksima i udaljenost u mm.

Kompletni program i demonstracijski video pronađite u nastavku. Također provjerite kako izmjeriti udaljenost pomoću ultrazvučnog senzora i razine svjetlosti pomoću senzora ambijentalnog svjetla BH1750.
