Accueil » Développeur » Tutoriels » Les capteurs de proximité – MRPiZ


Dans ce tutorial vous allez apprendre à utiliser les capteurs de proximité du robot MRPiZ. Ainsi vous pourrez  gérer les obstacles pendant les déplacements du robot.

Les capteurs de proximité

Le robot MRPiZ est équipé de cinq connecteurs à sept pins afin de recevoir des capteurs de proximité de type :

MRPiZ peut avoir cinq capteurs maximum.

Voici le placement des cinq capteurs :

Lire un capteur

  • Lancez l’interpréteur python :
$ python

  • importez la libraire mrpiZ_lib :
>>> from mrpiZ_lib import *
  • lire la valeur du capteur n°1:
>>> prox1 = proxSensor(1)
>>> print prox1

La valeur de retour est une valeur comprise entre 0 et 255 (millimètre).

  • Valeur de retour en 0 et 255
  • -1 = capteur non présent

Lire les capteurs

  • Ensuite, quittez l’interpréteur python afin de créer un script :
>>> exit() 

La commande exit() permet de quitter l’interpréteur python.

  • Vous pouvez créer un script  python avec l’éditeur de votre choix, pour ma part j’utilise Notepad++ et ensuite je transfert le fichier sur la Raspberry pi via le logiciel FileZilla.
  • Voici un petit script python pour lire les capteurs de proximité :

Nom du script : prox1.py

#!/usr/bin/python
from mrpiZ_lib import *
import time

# boucle infini
while 1:
  p1 = proxSensor(1)
  p2 = proxSensor(2)
  p3 = proxSensor(3)
  p4 = proxSensor(4)
  p5 = proxSensor(5)

  # afficher les valeurs
  print "%d %d %d %d %d %d" %(p1,p2,p3,p4,p5)

  time.sleep(1)

Ce programme permet de lire tous les capteurs de proximité du robot MRPiZ.

Gestion des obstacles

Dans cette partie nous allons voir comment utiliser les capteurs de proximité pour gérer un obstacle placer devant le robot.

  • Voici un petit script python pour lire les capteurs de proximité :

Nom du script : prox2.py

#!/usr/bin/python
from mrpiZ_lib import *
import time

# seuil de la detection obstacle
seuil = 50

while 1:
  p2 = proxSensor(2)
  p4 = proxSensor(4)
  print "%d %d " %(p2,p4)

  if ((p2 < seuil) or (p4 < seuil)):
    stop() # arreter le robot
  else:
    forward(30) # avancer le robot

  time.sleep(0.2)

Ce programme permet de faire avancer le robot quand il n’y a pas d’obstacles devant lui. Les capteurs n°2 et n°4 sont utilisés afin de détecter un obstacle devant le robot.

Voilà, maintenant vous savez utiliser les capteurs de proximité du robot MRPiZ.