Développeur>Tutoriels>Les capteurs de proximité
Dans ce tutorial vous allez apprendre à utiliser les capteurs de proximité du robot MRPi1. Ainsi vous pourrez gérer les obstacles pendant le déplacement du robot.
Les capteurs de proximité
Le robot MRPi1 est équipé de six capteurs de proximité, ils sont situés à l’avant. Ces capteurs infrarouges à sortie analogique, fonctionnent selon le principe de la triangularisation.
Voici le placement des six capteurs de la carte de contrôle du robot :
Lire un capteur
- Lancez l’interpréteur python :
$ python
- importez la libraire mrpi1_lib :
>>> from mrpi1_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 4095.
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 mrpi1_lib import * import time # boucle infini while 1: p1 = proxSensor(1) p2 = proxSensor(2) p3 = proxSensor(3) p4 = proxSensor(4) p5 = proxSensor(5) p6 = proxSensor(6) # afficher les valeurs print "%d %d %d %d %d %d" %(p1,p2,p3,p4,p5,p6) time.sleep(1)
Algorithme du programme :
Ce programme permet de lire tous les capteurs de proximité du robot MRPi1.
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 mrpi1_lib import * import time # seuil de la detection obstacle seuil = 300 while 1: p3 = proxSensor(3) p4 = proxSensor(4) print "%d %d " %(p3,p4) if ((p3 > 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+3 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 MRPi1.