Search Code

Kosalela CJMCU VL53L0X ya mɛtrɛ ya mosika na Arduino

Kosalela CJMCU VL53L0X ya mɛtrɛ ya mosika na Arduino

Lithu eye ya kolakisi ya kosalela mita ya mosika ya laser CJMCU VL53L0X na Arduino. Modile oyo, oyo ezali na sensor ya tango ya kopumbwa VL53L0X ya Texas Instruments mpe level shifter ya bibale TXS0108E (na video na 00:06), epesaka komeka mosika ya sikisiki kino na mɛtrɛ mibale (na video na 00:52). Boyokani na yango na ba niveaux ya logique ndenge na ndenge (3.3V, 1.8V, 5V) ekitisaka kosangisa na ba microcontrôleurs ndenge na ndenge (na video na 00:21). Projet oyo efungolaka bopossibilite ebele.

Bakano ya Projet:

  • Robotiki: Sala epekiseli ya ba obstacles na ba robots.
  • Automatisation: Kontrolemá ba machines kolanda penepene.
  • Ndako ya bwanya: Sala bongengisi ya automatique kolanda mosika.
  • Libateli: Développe système ya libateli oyo esalelaka penepene.

Hardware/Ba Composants

Mpo na kosala projet oyo, okolinga ba composants oyo:

  • Arduino Board (modèle nyonso ekosalela)
  • Modile ya Mita ya Mosika ya Laser CJMCU VL53L0X
  • Ba Fils ya Jumper

Gidé ya Bokangisi

Modile VL53L0X ekangami na Arduino boye:

Kangisa pin VCC ya modile na pin 5V na Arduino. Régulateur ya kati ya modile esalelaka 3.3V oyo sensor esengaka. (na video na 01:50)

Kangisa pin GND ya modile na pin GND na Arduino.

Kangisa pin SDA ya modile na pin A4 na Arduino.

Kangisa pin SCL ya modile na pin A5 na Arduino.

Tika pin XSHUT ekangami te soki okosalela yango te mpo na kontrole ya kozimisa. (na video na 03:50)

Bokambi ya Code

Code oyo epesami esalelaka bibliothèque VL53L0X. Tala esika ya ba parties ya sikisiki oyo bakoki kobongisama:


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

VL53L0X sensor;

void setup()
{
  Serial.begin(9600);
  // ... code mosusu ya setup ...
  sensor.setTimeout(500); // Tia timeout na 500ms (na video na 06:40)
  sensor.startContinuous(); // Bandisa mode ya komeka ya libela (na video na 06:50)
}

void loop()
{
  Serial.print(sensor.readRangeContinuousMillimeters()); // Tanga mosika na millimètres (na video na 07:01)
  // ... code mosusu ya loop ...
}

Ligne sensor.setTimeout(500) etiyaka timeout mpo na komeka mosika na millisecondes 500. Bongisa motuya oyo soki esengeli mpo na application na yo (na video na 06:40). Fonction sensor.startContinuous() ebandisaka komeka ya libela, epesaka ba lectures ya mosika na lombangu oyo esengeli (na video na 06:50). Fonction sensor.readRangeContinuousMillimeters() ezongisaka mosika oyo emekami na millimètres (na video na 07:01).

Projet/Démonstration ya Bomoi

Video emonisaka ndenge sensor esalaka, kolakisa ndenge ba lectures ya mosika ebongwanaka ntango mosika ya sensor na cible ebongwanaka. Ba lectures ezalaka ya sikisiki na millimètres mwa moke, mingi mingi na ba mosika koleka 10mm (na video na 08:20). Na ba mosika ya penepene mingi (na se ya 10mm), sikisiki ekitisaka (na video na 09:50). Démonstration emonisaki mpe ete ba surfaces oyo ezalaka na bongengisi ekoki kobongola ba lectures, mingi mingi soki laser ezali perpendiculaire te na surface (na video na 10:32).

Ba Chapitres

  • [00:00] Introduction mpe Bomonisi ya Projet
  • [00:48] Ba Détails ya Sensor VL53L0X
  • [01:41] Bomonisi ya Modile mpe Ba Spécifications
  • [02:55] Ba Applications mpe Ba Standards
  • [03:35] Pinout mpe Ba Connexions
  • [05:29] Bokambi ya Code
  • [07:45] Bokangisi mpe Ba Connexions
  • [08:18] Démonstration ya Bomoi
136-Source code for the VL523L0X distance measurement module for Arduino
Langue: C++
/* This example shows how to use continuous mode to take
range measurements with the VL53L0X. It is based on
vl53l0x_ContinuousRanging_Example.c from the VL53L0X API.

The range readings are in units of mm. 
Updated by Ahmad Shamshiri for Robojax.com on July 23, 2018 in Ajax, Ontario, Canada.
Watch video instructions for this code: https://youtu.be/0PnAyt51IU4
Download the library and get other resources for this code at http://robojax.com
*/

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

VL53L0X sensor;

void setup()
{
  Serial.begin(9600);
  Serial.println("Robojax CJMCU VL523L0X laser distance test");
  Wire.begin();

  sensor.init();
  sensor.setTimeout(500);

  // Start continuous back-to-back mode (take readings as
  // fast as possible).  To use continuous timed mode
  // instead, provide a desired inter-measurement period in
  // ms (e.g. sensor.startContinuous(100)).
  sensor.startContinuous();
}

void loop()
{
  Serial.print(sensor.readRangeContinuousMillimeters());// print distance

  if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }

  Serial.println();
}

Mokili na bisika

Fichiers📁

Fritzing File

  • Adafruit VL6180X Time of Flight Distance Sensor
    Fritzing part for the Adafruit VL6180X Time of Flight distance sensor. This sensor measures absolute distance up to 100mm and ambient light, communicating via I2C. Includes the sensor breakout board and pin connections for use in Fritzing projects.
    Adafruit VL6180X Time of Flight Distance Sensor-1.fzpz 0.02 MB