Module télémètre ultrason "MSU05"

Transcription

Module télémètre ultrason "MSU05"
Module télémètre ultrason "MSU05"
Ce petit module, idéalement conçu pour les applications liées
à la robotique ludique est capable de déterminer la distance
qui le sépare d'un obstacle se présentant devant lui (entre 1
cm et 3 m). Doté de 2 cellules ultrason, son principe de
fonctionne-ment repose sur celui des "sonars".
Il est doté d'une sortie délivrant des impulsions dont la
largeur comprise entre 100 µs et 18 ms est directement
pro-portionnelle avec la distance de l'obstacle qui est
présent devant lui (voir schéma ci-dessous). Il pourra par
exemple être très facilement interfacé avec la plupart des
micro-contrôleurs (programmable en assembleur, en
langage "C", en Basic, Pascal...).
Le module dispose en bas de carte de
connexions à souder au pas de 2.54
mm
Caractéristiques techniques:
- Alimentation: + 5 Vcc.
- Consommation: 30 à 50 mA env.
- Angle de détection: 55 ° env.
- Dimensions: 43 x 20 x 17 mm.
Ce module est uniquement prévu pour un usage ludique en intérieur et en milieu résidentiel. Il
ne convient pas pour un usage professionnel ou industriel, ni pour le pilotage d'engins mobiles.
MSU05
Le module seul
22,16 € HT
26,50 € TTC
Support pour capteurs
Cette petite pièce mécanique est spécialement
conçue pour le montage des capteurs
infrarouges et ultrason.
Des trous pré-percés vous permettrons de les
monter très facilement sur les bases robotiques
"ROGUE robotics" selon plusieurs combinaisons
possibles (vous pourrez également monter plusieurs capteurs sur un même robot).
RA-SM1
Le module seul (livré sans capteur)
7,94 € HT
Voir également modules télémètre infrarouge Sharp™
Exemples d'interfaçage
9,50 € TTC
Vous trouverez ci-dessus un exemple d'interfaçage à l'aide d'un microcontrôleur programmable
en langage "Basic" (le désormais célèbre circuit "PICBASIC-3B"). Un afficheur série type
"ELCD162" (ou compatible) est également nécessaire ainsi qu'un buzzer sans oscillateur
connecté à "I/O 2". Les autres broches du PICBASIC doivent être connectées comme à
l'accoutumé. Les exemples ont été donnés pour le PICBASIC-3B (ils peuvent très simplement
être transposés avec d'autres types de microcontrôleurs 68HC11, AVR™, SX™, PIC™...).
Programme 1
Ce programme génère un son dont la "hauteur" est fonction de la distance qui sépare le module
"MSU05" d'un obstacle.
DIM I AS INTEGER
10 OUT 0,0
PULSE 10
I=CAPTURE(1,1)
I=I/8
SOUND 2,I,2
OUT 0,1
GOTO 10
Programme 2
Ce programme affiche une approximation de la valeur (en mm) de la distance qui sépare le
module "MSU05" d'un obstacle.
10
DIM I AS INTEGER, J AS INTEGER
SET PICBUS HIGH
LCDINIT
CSROFF
OUT 0,0
PULSE 10
I=CAPTURE(1,1)
I=I*4
J=I/(505/100)
LOCATE 0,0
PRINT DEC(J)
OUT 0,1
GOTO 10
Programme 3
Ce programme affiche une approximation de la valeur (en mm) de la distance qui sépare le
module "MSU05" d'un obstacle (sur la première ligne de l'afficheur) ainsi qu'une indication de
cette valeur par le biais d'un bargraph (sur la seconde ligne de l'afficheur).
DIM I AS INTEGER, J AS INTEGER
CONST VALEUR_MAX = 1800
SET PICBUS HIGH
LCDINIT
CSROFF
10 OUT 0,0
PULSE 10
I=CAPTURE(1,1)
I=I*4
J=I/(505/100)
LOCATE 0,0
PRINT DEC(J)
LOCATE 0,1
I = J/(VALEUR_MAX/16)
FOR J = 0 TO I
LOCATE J,1
PRINT "0"
NEXT
FOR J= I TO 16
LOCATE J,1
PRINT "
NEXT
OUT 0,1
GOTO 10
Programme 4
Ce programme est identique au précédent, mis à part que le buzzer émet une sonorité lorsque
l'on s'approche trop près du détecteur (la valeur de la distance minimale est modifiable).
10
DIM I AS INTEGER, J AS INTEGER
CONST MAX = 1800
CONST VALEUR_MIN = 800
SET PICBUS HIGH
LCDINIT
CSROFF
OUT 0,0
PULSE 10
I=CAPTURE(1,1)
I=I*4
J=I/(505/100)
LOCATE 0,0
PRINT DEC(J)
LOCATE 0,1
IF J<VALEUR_MIN THEN
SOUND 2,500,1
END IF
I = J/(MAX/16)
FOR J = 0 TO I
LOCATE J,1
PRINT "O"
NEXT
FOR J= I TO 16
LOCATE J,1
PRINT "
NEXT
OUT 0,1
GOTO 10
Programme 5
Ce dernier est un compteur de passage qui affiche les mêmes paramètres que le programme
"US3". A chaque fois que vous passerez devant ce dernier, un "bip" sonore sera émis tandis
qu'un compteur affiché sur la première ligne en haut à droite s'incrémentera. Un système de
"filtrage" permet d'éviter les déclenchements intempestifs. En utilisant 2 capteurs "MSU05", il
vous sera possible d'envisager la réalisation d'un compteur avec sens de passage (afin de
déterminer le nombre de personnes entant ou sortant). Dans tous les cas ce système ne
fonctionne que si une personne à la fois passe devant le capteur.
10
DIM I AS INTEGER, J AS INTEGER
DIM NB_PAS AS BYTE, COMPTEUR AS BYTE
CONST MAX = 1800
CONST VALEUR_MIN = 1400
SET PICBUS HIGH
LCDINIT
CSROFF
LOCATE 10,0
PRINT "NB:000"
COMPTEUR = 0
NB_PAS = 0
OUT 0,0
PULSE 10
I=CAPTURE(1,1)
I=I*4
J=I/(505/100)
LOCATE 0,0
PRINT DEC(J)
LOCATE 0,1
IF J<VALEUR_MIN THEN
COMPTEUR = COMPTEUR + 1
ELSE
IF COMPTEUR > 3 THEN
NB_PAS = NB_PAS + 1
LOCATE 13,0
PRINT DEC(NB_PAS,3,0)
COMPTEUR = 0
SOUND 2,500,2
DELAY 255
DELAY 255
END IF
END IF
I = J/(MAX/16)
FOR J = 0 TO I
LOCATE J,1
PRINT "O"
NEXT
FOR J= I TO 16
LOCATE J,1
PRINT " "
NEXT
OUT 0,1
GOTO 10