Laser senzor VL53L0X - manual: Rozdiel medzi revíziami

Zo stránky 3D liga wiki
Prejsť na navigáciu Prejsť na vyhľadávanie
dBez shrnutí editace
Sebastian (diskusia | príspevky)
dBez shrnutí editace
Riadok 59: Riadok 59:


Pre hlbšie vysvetlenie, ako tento senzor funguje, prikladáme [https://learn.adafruit.com/adafruit-vl53l0x-micro-lidar-distance-sensor-breakout/overview článok od Adafruit].
Pre hlbšie vysvetlenie, ako tento senzor funguje, prikladáme [https://learn.adafruit.com/adafruit-vl53l0x-micro-lidar-distance-sensor-breakout/overview článok od Adafruit].
<!-- [[Car with lasers | Štruktúra]] -->
Čo sme sa naučili?
* VL53L0X meria vzdialenosť pomocou infračerveného svetla (Time of Flight) – presnejšie a rýchlejšie ako ultrazvuk.
* I2C je spôsob komunikácie, kde viacero zariadení zdieľa iba 2 vodiče – každé má svoju jedinečnú adresu.
* Knižnica môže za nás vyriešiť celú komunikáciu so senzorom – stačí zavolať správne funkcie.

Verzia z 23:57, 16. august 2026

VL53L0X senzor manuál

Späť k zoznamu

Malý, ale účinný senzor na meranie vzdialenosti. VL53L0X funguje na princípe vysielania infračerveného svetla – lúč sa odrazí od objektu a vráti sa späť za rádovo nanosekundy. Zmeria sa čas letu (Time of Flight) a vypočíta sa vzdialenosť.

Táto technológia je výrazne presnejšia a rýchlejšia ako ultrazvukový senzor – pracujeme so svetlom, ktoré je niekoľkonásobne rýchlejšie ako zvuk.


Kód

Vyskúšaj toto: Skopíruj a spusti nasledujúci program. Otvor sériový monitor (115200 baud) a pohybuj rukou pred senzorom.

#include <Wire.h>
#include <VL53L0X.h>

VL53L0X sensor;

void setup() {
  Serial.begin(115200);
  Wire.setSDA(4);  // GP4
  Wire.setSCL(5);  // GP5
  Wire.begin();
  if (!sensor.init()) {
    Serial.println("Senzor nenájdený!");
    while (1);  // zastav program
  }
  sensor.setTimeout(500);
  sensor.startContinuous();
  Serial.println("VL53L0X OK");
}

void loop() {
  int dist = sensor.readRangeContinuousMillimeters();
  if (sensor.timeoutOccurred()) {
    Serial.println("Timeout!");
  } else {
    Serial.print("Vzdialenosť: ");
    Serial.print(dist);
    Serial.println(" mm");
  }
  delay(100);
}
Novinka Vysvetlenie
#include <Wire.h> Knižnica pre I2C zbernicu – spôsob komunikácie medzi mikrokontrolérom a senzorom cez 2 vodiče (SDA, SCL)
Wire.setSDA(4) / Wire.setSCL(5) Nastavíme, ktoré piny budú použité pre I2C komunikáciu
sensor.init() Inicializuje senzor – ak vráti false, senzor nie je správne zapojený
sensor.startContinuous() Spustí nepretržité meranie – senzor meria stále bez čakania na príkaz
sensor.timeoutOccurred() Vráti true, ak senzor neodpovedal včas – objekt je príliš ďaleko alebo senzor nefunguje

Pre hlbšie vysvetlenie, ako tento senzor funguje, prikladáme článok od Adafruit.