Vous êtes sur la page 1sur 21

Bienvenue !

Nous vous remercions d'avoir acheté le module laser VL53L0X AZ-Delivery.


Dans les pages qui suivent, vous apprendrez à utiliser et à configurer ce
dispositif très pratique.

Amusez-vous !
Table des matières

Présentation..................................................................................................3
Spécifications................................................................................................4
Brochage.......................................................................................................5
Configurer l'IDE Arduino................................................................................6
Configuration du Raspberry Pi et Python....................................................10
Connexion à l'Atmega328p.........................................................................11
Librairie pour l'IDE Arduino......................................................................12
Exemple de code.....................................................................................13
Connexion au Raspberry Pi.........................................................................15
Librairies et outils Python.........................................................................16
Activation de l'interface I2C.........................................................................17
Script Python...........................................................................................19

2
Présentation

Le module de détection de distance laser VL53L0X est un capteur basé sur


le LIDAR qui mesure la distance entre un objet et un capteur. Il mesure la
distance jusqu'à 2m. Il utilise le principe du temps de vol (ToF) pour
mesurer la distance.

Ce capteur libère un faisceau laser qui frappe l'objet dans une zone de
détection et se réfléchit. L'appareil mesure le temps pris par le faisceau
laser et en utilisant ce temps la distance entre l'objet et le capteur est
calculée.

Le capteur se compose d'un laser à émission de surface à cavité verticale


(VCSEL), d'un régulateur de tension et de quelques éléments passifs tels
que des résistances et des condensateurs.

Ce module est une carte breakout qui permet son interfaçage direct avec
d'autres microcontrôleurs. Ce module possède un régulateur de tension
intégré qui régule la tension à 2,8 V et la tension appliquée peut être
comprise entre 2,6 V et 5,5 V.

Elle a de nombreuses applications telles que la reconnaissance des gestes,


la détection de proximité, la robotique, la détection d'obstacles, les
systèmes anti-collision, les moniteurs d'interrupteurs électriques, les
drones, les produits IoT, les robinets automatiques, la détection des mains
pour les distributeurs de savon, etc.

3
Spécifications

Tension de fonctionnement de 2.7V à 5VDC


Couranr de fonctionnement de 10mA à 40mA
Puissance 20 mW
Longueur d'onde laser 940nm
Plage de mesures de 40mm tà 4,000mm
Précision +/-1mm
Champ de vision 15° – 27°
Interface I2C
Diamètre des trous de fixation 3mm
Température de fonctionnement de -20°C à +70°C
Dimensions 13x18x2mm (0.5x0.7x0.08inch)

L'adresse I2C par défaut du VL53L0X est 0x29, mais elle peut être modifiée
si plusieurs capteurs sont utilisés. Chaque capteur a sa propre adresse I2C
dédiée qui peut être définie par le logiciel.

4
Brochage

Le module comporte six broches présentées sur l'image ci-dessous :

Broche Description
C'est la connexion principale de l'alimentation de 2.6V à 5.5V. Les décaleurs
VCC
de niveau SCL et SDA tirent les lignes I2C vers le haut à ce niveau.
La connexion de masse (0V) pour l'alimentation électrique. La source de
GND
contrôle I2C doit également partager une masse commune avec cette carte.
SDA Ligne de données I2C décalée en niveau : HIGH est VIN, LOW est 0V
SCL Ligne d'horloge I2C décalée en niveau : HIGH est VIN, LOW est 0V
Entrée d'arrêt active-basse ; la carte la tire vers le haut jusqu'à VCC pour
XSHUT activer le capteur par défaut. Le fait de piloter cette pin vers le bas met le
capteur en veille matérielle. Cette entrée n'est pas décalée en niveau.
Sortie d'interruption programmable (niveau logique VDD). Cette sortie n'est
GPIO1
pas décalée en niveau.

5
Configurer l'IDE Arduino

Si l'IDE Arduino n'est pas installé suivez le lien et téléchargez le fichier


d'installation pour l'OS de votre choix. La version de l’IDE Arduino utilisée
dans cet eBook est la 1.8.19

Pour les utilisateurs de Windows lancez le fichier .exe et suivez les


instructions.

6
Pour les utilisateurs de Linux, téléchargez un fichier portant
l'extension .tar.xz, qui doit être extrait. Lorsqu'il est extrait, allez dans le
répertoire extrait et ouvrez le terminal dans ce répertoire. Deux scripts .sh
doivent être exécutés, le premier appelé arduino-linux-setup.sh et le second
appelé install.sh.

Pour exécuter le premier script dans le terminal, ouvrez le terminal dans le


répertoire extrait et exécutez la commande suivante :
sh arduino-linux-setup.sh user_name
user_name est le nom d'un superutilisateur dans le système d'exploitation
Linux. Un mot de passe pour le superutilisateur doit être saisi au moment
du lancement de la commande. Attendez quelques minutes pour que le
script se termine.

Le second script, appelé install.sh, doit être utilisé après l'installation du


premier script. Exécutez la commande suivante dans le terminal (répertoire
extrait) : sh install.sh

Après l'installation de ces scripts, allez dans le dossier où est installé l'IDE
Arduino.

7
Presque tous les systèmes d'exploitation sont livrés avec un éditeur de
texte préinstallé (par exemple, Windows est livré avec Notepad, Linux
Ubuntu avec Gedit, Linux Raspbian avec Leafpad, etc.) Tous ces éditeurs
de texte conviennent parfaitement à l'objectif de cet eBook.

La prochaine étape est de vérifier si votre PC peut détecter une carte


Atmega328p. Ouvrez l'IDE Arduino fraîchement installé, et allez dans :
Outils > Carte > {votre nom de carte ici}
{le nom de votre carte ici} devrait être l'Arduino Uno, comme on peut le voir
sur l'image suivante :

8
Le port auquel la carte Atmega328p est connectée doit être sélectionné.
Allez dans : Outils > Port > {le nom du port va ici}.
Lorsque la carte Atmega328p est connectée au port USB, le nom du port
peut être vu dans le menu déroulant de l'image précédente.
Si l'IDE Arduino est utilisé sous Windows, les noms de port sont les
suivants :

Pour les utilisateurs de Linux le nom du port est /dev/ttyUSBx, où x


représente un nombre entier entre 0 et 9.

9
Configuration du Raspberry Pi et Python

Pour le Raspberry Pi, il faut d'abord installer le système d'exploitation, puis


tout configurer pour qu'il puisse être utilisé en mode Headless. Le mode
Headless permet de se connecter à distance au Raspberry Pi, sans avoir
besoin d'un écran de PC, d'une souris ou d'un clavier. Les seuls éléments
utilisés dans ce mode sont le Raspberry Pi lui-même, l'alimentation
électrique et la connexion Internet. Tout ceci est expliqué en détail dans le
livre électronique gratuit :
Raspberry Pi Quick Startup Guide

Le système d'exploitation du Raspberry Pi est livré avec Python préinstallé.

10
Connexion à l’Atmega328p

Connectez le module avec l'Atmega328p comme indiqué sur le schéma de


connexion suivant :

Module pin Mc pin Wire color


VCC 5V Rouge
GND GND Noir
SCL A5 Bleu
SDA A4 Vert

11
Librairie pour l'IDE Arduino

Pour utiliser le module avec Atmega328p, il est recommandé de télécharger


une bibliothèque externe. La bibliothèque qui va être utilisée s'appelle
Adafruit_VL53L0X. Pour le télécharger et l'installer, ouvrez Arduino IDE
et allez dans : Outils > Gérer les bibliothèques. Lorsqu'une nouvelle fenêtre
s'ouvre, tapez Adafruit_VL53L0X dans la boîte de recherche et installez
la bibliothèque comme indiqué dans l'image suivante :

12
Exemple de code

#include "Adafruit_VL53L0X.h"

Adafruit_VL53L0X lox = Adafruit_VL53L0X();

void setup() {
Serial.begin(9600);
while (! Serial) {
delay(1);
}
Serial.println("VL53L0X sensor test");
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while (1);
}
}

void loop() {
VL53L0X_RangingMeasurementData_t measure;
Serial.print("Reading measurement - ");
lox.rangingTest(&measure, false);
if (measure.RangeStatus != 4) {
Serial.print("Distance (mm): ");
Serial.println(measure.RangeMilliMeter);
} else {
Serial.println("Out of range!");
}
delay(1000);
}

13
Téléchargez le sketch sur l'Atmega328p et lancez le Moniteur série (Outils
> Moniteur série). Le résultat devrait ressembler à l'image suivante :

14
Connexion au Raspberry Pi

Connectez le module avec le Raspberry Pi comme indiqué sur le schéma


de connexion suivant :

Module pin Raspberry Pi pin Broche


VCC 3V3 1 Rouge
SDA GPIO2 3 Vert
SCL GPIO3 5 Bleu
GND GND 14 Noir

15
Librairie et outils Python

Pour utiliser l'appareil avec le Raspberry Pi, il est recommandé de


télécharger une bibliothèque Python externe. La bibliothèque utilisée dans
cet eBook s'appelle Adafruit_CircuitPython_VL53L0X.

Avant de pouvoir utiliser la bibliothèque, exécutez les commandes


suivantes :
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install adafruit-circuitpython-vl53l0x

Ensuite, pour télécharger une bibliothèque exécutez la commande :


git clone https://github.com/adafruit/Adafruit_CircuitPython_VL53L0X.git

Pour l'installer, changez d'abord de répertoire vers le répertoire


Adafruit_VL53L0X, en lançant la commande :
cd Adafruit_CircuitPython_VL53L0X

et installez la bibliothèque avec la commande :


sudo python3 setup.py install

16
Activation de l'interface I2C

Afin d'utiliser le capteur avec Raspberry Pi, l'interface I2C sur le Raspberry
Pi doit être activée. Pour ce faire, allez dans Menu Application >
Préférences > Configuration du Raspberry Pi.

Quand une nouvelle fenêtre s'ouvre, trouvez l'onglet Interfaces. Activez


ensuite le bouton radio I2C et cliquez sur OK, comme sur l'image suivante :

17
Pour détecter l'adresse I2C du module, i2ctools doit être installé. S'il n'y en
a pas, la commande suivante doit être exécutée dans la fenêtre du
terminal : sudo apt-get install i2ctools -y

La vérification de l'adresse I2C se fait en tapant la commande suivante


dans le terminal :
i2cdetect -y 1

La sortie du terminal devrait ressembler à cela :

L'adresse I2C du module est 0x29.

Si l'interface I2C du Raspberry Pi n'est pas activée, et que la commande


précédente est exécutée, l'erreur suivante sera affichée :

18
Script Python

import time
import board
import busio
import adafruit_vl53l0x

i2c = busio.I2C(board.SCL, board.SDA)


vl53 = adafruit_vl53l0x.VL53L0X(i2c)

print('VL53L0X Distance sensor script')


print('[Press CTRL + C to end the script!]')

try:
while True:
print("Range: {0}mm".format(vl53.range))
time.sleep(1.0)

except KeyboardInterrupt:
print('\nScript end!')

19
Enregistrez le script sous le nom vl53l0x.py. Pour exécuter le script,
ouvrez le terminal dans le répertoire où le script est enregistré et exécutez
la commande suivante : python3 vl53l0x.py

Le résultat devrait ressembler à l'image suivante :

Pour terminer le script, appuyez sur 'CTRL + C' sur le clavier.

20
Il est maintenant temps de concevoir vos propres projets. Vous pouvez le
faire à l'aide de nombreux exemples de scripts et autres didacticiels, que
vous trouverez sur Internet.

Si vous êtes à la recherche de produits micro-électroniques et


d'accessoires de haute qualité, AZ-Delivery Vertriebs GmbH est votre
interlocuteur idéal pour vous les procurer. Vous bénéficierez de
nombreux exemples d'application, de guides d'installation complets,
de livres électroniques, de bibliothèques et de l'assistance de nos
experts techniques.

https://az-delivery.de
Amusez-vous bien !
Mentions légales
https://az-delivery.de/pages/about-us

21

Vous aimerez peut-être aussi