top of page

LE MODULE ME DETECTEUR A ULTRASONS

Le module "Me Détecteur à ultrasons" comporte un capteur à ultrasons capable de détecter un obstacle de 3 à 400 cm. Les fonctions contenues dans la bibliothèque Makeblock sont :

  • MeUltrasonicSensor capteur(PORT_X) où PORT_X est le port sur lequel est branché le module. Cette fonction permet de créer l'objet.

  • capteur.distanceCm() renvoie la distance en cm.

  • capteur.distanceInch() renvoie la distance en pouce.

Le tableau ci- dessous donne les ports des cartes "Me Orion" et "Me Auriga" pouvant être connectés à ce module.

Exemple :

Nous souhaitons afficher dans le moniteur série la distance d'un obstacle grâce à un module "Me Capteur à ultrasons"  Nous allumerons les led d'un module "Me Led RGB" et ferons sonner le buzzer de la carte en fonction de la distance mesurée (Nous nous limiterons à une plage 3-30 cm).

Programme :

/* Ultrason_Makeblock est un programme qui mesure la distance d'un obstacle grâce à un module "Me Capteur à ultrasons",
 affiche la distance dans le moniteur série, fait sonner le buzzer de la carte et fait clignoter les led d'un module "Me RGB Led"

en fonction de la distance*/


#include "MeOrion.h"

MeUltrasonicSensor capteur(PORT_7);            // création de l'objet capteur
(module branché sur le PORT 7)
MeRGBLed led(PORT_6);                                    // création de l'objet led (module branché sur le PORT 6)

int distance;
int pause;

void setup()
{
  Serial.begin(9600);                                             // initialisation de la liaison série                                       
}

void loop()
{
  distance=capteur.distanceCm();                       // acquisition de la distance en cm
  Serial.print("Distance : ");                                  // on écrit dans le moniteur série
  Serial.print(distance );
  Serial.println(" cm");
  if ((distance>3)&&(distance<30))                      //  zone de fonctionnement du capteur pour faire clignoter les led
     {
     pause=map(distance,3,30,10,300);
     for (int numero_led=0;numero_led<4;numero_led++)                 // boucle pour allumer les 4 led
        {
        led.setColorAt(numero_led, 255, 0, 0);                                        // allumage des led en rouge
        led.show();                                                                                      // rafraichissement des led
        buzzerOn();                                                                                     // activation du buzzer
        }  
        delay(pause);                                                                                   // on attend
     for (int numero_led=0;numero_led<4;numero_led++)                   // boucle pour éteindre les 4 led
        {
        led.setColorAt(numero_led, 0, 0, 0);                                              // extinction des led
        led.show();
        buzzerOff();                                                                                      // extinction du buzzer
        }  
        delay(pause);  
     }
}

bottom of page