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).
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);
}
}