Kluczowe cechy układu VL53L0X:
1. W pełni zintegrowany miniaturowy moduł
-
laser VCSEL 940nm
-
Sterownik VCSEL
-
Czujnik pomiaru odległości z zaawansowanym wbudowanym mikrokontrolerem
-
4.4mmx2.4mmx1.0mm
-
Szybki i dokładny pomiar odległości
-
Mierzy odległości bezwzględne do 2 m
-
Zgłaszane odległości nie są wpływane przez refleksyjność celu
-
Działa w środowiskach o wysokim natężeniu światła podczerwonego
-
Zaawansowana wbudowana kompensacja przesłuchów optycznych w celu uproszczenia projektu szklanej obudowy.
2. Bezpieczeństwo ludzkiego oka
- Sprzęt laserowy klasy 1 zgodny z najnowszą normą IEC 60825-1:2014 (3. wydanie)
3. Łatwe do zintegrowania
-
Komponenty o zmiennym układzie
-
Nie są wymagane dodatkowe optyki
-
Pojedyncze zasilanie
-
Interfejs I2C do sterowania urządzeniem i przesyłania danych
-
Wyłączanie i przerwanie GPIO
-
Napięcie robocze: 3,3V/5V
4. Parametry VL53L0X:
-
Rozmiar produktu: 4,4 mm × 2,4 mm × 1,0 mm
-
Zakres pomiaru odległości: 30 ~ 2000mm
-
Dokładność pomiaru odległości: ±5% (tryb wysokiej prędkości), ±3% (tryb wysokiej dokładności)
-
Pomiar czasu (min): 20ms (tryb wysokiej prędkości), 200ms (tryb wysokiej precyzji)
-
Kąt pomiaru: 25
-
Długość fali lasera: 940nm
-
Temperatura pracy: -20 ~ 70°C
Czujnik VL53L0X oferuje 3 tryby pomiaru
-
Tryb pojedynczego pomiaru: W tym trybie pomiaru pojedyncze wyzwolenie wykonuje tylko jeden pomiar odległości, a po zakończeniu pomiaru czujnik VL53L0X wraca do trybu gotowości i czeka na kolejne wyzwolenie.
-
Tryb pomiaru ciągłego: W tym trybie pomiar odległości jest wykonywany w sposób ciągły. Po zakończeniu jednego pomiaru natychmiast rozpoczyna się kolejny, a użytkownik musi zatrzymać pomiar odległości, aby powrócić do trybu gotowości; ostatni pomiar jest zakończony przed zatrzymaniem.
-
Tryb pomiaru czasowego: Ten tryb jest w rzeczywistości trybem pomiaru ciągłego z określonymi odstępami czasowymi. Po zakończeniu pomiaru, następny pomiar jest inicjowany po upływie czasu opóźnienia zdefiniowanego przez użytkownika. Użytkownik musi zatrzymać pomiar, aby powrócić do trybu gotowości, a ostatni pomiar jest zakończony przed zatrzymaniem.
Czujnik VL53L0X oferuje również 4 różne tryby dokładności:
Tryb precyzyjny
|
Zakres budżetu czasu pomiaru (ms)
|
Zasięg odległości (m)
|
Typowe scenariusze zastosowań
|
domyślny
|
30
|
1.2
|
standardowy
|
wysoka precyzja
|
200
|
1.2 (dokładność <± 3%)
|
Dokładny pomiar
|
długi dystans
|
33
|
2
|
Długi dystans, tylko w ciemnych warunkach bez podczerwieni
|
wysoka prędkość
|
20
|
1.2 (dokładność <
± 5%)
|
Wysoka prędkość, precyzja nie jest priorytetem
|
Interfejs | Opis |
VCC | Zasilanie dodatnie (wejście zasilania 3,3V/5V) |
GND | Moc Uziemienie |
SDA | Pin danych I2C |
SCL | Pin zegara I2C |
ZAMKNIJ | Pin, możliwy do podłączenia do portu IO |
INT | Przerwij wyjście pinu, możliwe do podłączenia do portu IO |
Moduł pomiaru odległości laserowej | Moduł ESP32 |
VCC | +5V |
GND | GND |
SDA | P21 |
SCL | P22 |
Specyficzny proces operacyjny
-
Otwórz panel zarządzania bibliotekami w Arduino IDE, wpisz VL53L0X w polu wyszukiwania, a następnie wybierz instalację biblioteki Adafruit_VL53L0X, jak pokazano poniżej.
-
Następnym krokiem jest przyjrzenie się prostemu szablonowi programu dla trybu pojedynczego pomiaru. Poniżej przedstawiono to:ESP32 z VL53L0X realizuje pojazd sztucznej inteligencji IoT - prosty szablon programu
Jak widać w powyższym kodzie, te kroki są wymagane do wykonania pojedynczego pomiaru modułu pomiaru odległości laserowej:
(1) Utwórz instancję obiektu Adafruit_VL53L0X
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
Wywołaj metodę begin(), aby zakończyć inicjalizację modułu pomiaru odległości laserowej
(3) Utwórz instancję struktury VL53L0X_RangingMeasurementData_t, która zapisuje wyniki pomiarów.
(4) Wywołaj metodę rangingTest(), aby zakończyć pomiar.
(5) Atrybut RangeStatus obiektu wyniku pomiaru wskazuje status wyniku pomiaru, a wartość atrybutu RangeMilliMeter to zmierzona odległość (w milimetrach).
Dla pomiaru ciągłego różnica w stosunku do powyższego pojedynczego pomiaru polega na tym, że po wywołaniu metody begin() w celu zakończenia inicjalizacji modułu, należy wywołać metodę startRangeContinuous(), aby przełączyć moduł pomiaru odległości laserowej na tryb pomiaru ciągłego. Różnica w odczycie danych polega na użyciu metody isRangeComplete() do określenia, czy moduł pomiaru laserowego zakończył pomiar, a następnie metody readRange() do odczytania wyników pomiaru. Szablon programu przedstawiono poniżej:ESP32 z VL53L0X realizuje IoT sztuczną inteligencję pojazdu - pomiar ciągły
