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.
![](https://static.wixstatic.com/media/f840a8_d5d1696328004c348a56dab8223236e5~mv2.png/v1/fill/w_335,h_158,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/f840a8_d5d1696328004c348a56dab8223236e5~mv2.png)
![](https://static.wixstatic.com/media/f840a8_3b7464420e6b46b6b2728e3104275976~mv2.jpg/v1/fill/w_337,h_282,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/f840a8_3b7464420e6b46b6b2728e3104275976~mv2.jpg)
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).
Liste du matériel :
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);
}
}