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