Capteur à InfraRouge Détecter des obstacles avec un capteur à ultrasons Utiliser un capteur à UltraSon Eviter les obstacles avec des moustaches
Accueil du site | Accessibilité | Rechercher | Menu | Contenu | Plan du site | | Contact

°°TechNoLand°°

°°TechNoLand°°

 

Utiliser un capteur à UltraSon

20 novembre 2013
par chamayou

Le capteur à ultra son Sharp envoie des ultrasons et les réceptionne. Le temps mis entre l’émission et la réception est proportionnel à la distance.

  • Tension d’alimentation : 5V
  • Mesures possibles de 2 cm à 4,5 mètres
  • Angle du faisceau d’ultrasons : 15° maximum

 Afficher la distance mesurée

Le branchement se fait au moyen de 4 connections :

  • Vcc : + 5 volts du générateur
  • Trig : “ ” ou “PWM”
  • Echo : quelconque
  • Gnd : - du générateur (GND)

Code C pour l’IDE Arduino :

//bibliothèque.
#include <Ultrasonic.h>
//http://tetrasys-design.net/download/HCSR04Ultrasonic/HCSR04Ultrasonic-1.1.2.zip

//nom du capteur de distance sur pin 2 et 3
// trou 3 P W M
Ultrasonic Capteur( 3 , 2 );  

//variable nommée Distance = 0
int Distance = 0;

//initialisation
void setup()
{
//port série pour recevoir les distances
// Une vitesse classique 9600
 Serial.begin( 9600 );  
}

//boucle
void loop()
{
 //mesures de distances
 Distance = Capteur.convert( Capteur.timing(), 1 );

 //distance en cm

 // Serial : port série
 //println : imprimer

  Serial.println(Distance);
delay(200);

 //bouton “moniteur Série” pour afficher les valeurs
}

Bibliothèque Ultrasonic.h : http://tetrasys-design.net/download/HCSR04Ultrasonic/HCSR04Ultrasonic-1.1.2.zip

Source DuinoEdu

 Utiliser les ultrasons pour détecter un obstacle

Avec ardublock :

Le code généré ne fonctionne pas avec ce modèle de capteur SHARP HC SR04. Il faut donc le modifier :

  • Ajouter la librairie #include
  • Déclarer le capteur Ultrasonic Capteur( 3 , 2 ) ;
  • Modifier le calcul de la distance : int duration ; duration = Capteur.convert( Capteur.timing(), 1 ) ; return duration ;

Exemple de code :

#include <Servo.h>
#include <Ultrasonic.h>

Ultrasonic Capteur( 3 , 2 );

int _ABVAR_1_var;
Servo servo_pin_9;
Servo servo_pin_8;
int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin)
{
 
 int duration;
 duration = Capteur.convert( Capteur.timing(), 1 );
 return duration;
}


void setup()
{
_ABVAR_1_var = 0;
digitalWrite( 3 , LOW );
Serial.begin( 9600 );
servo_pin_8.attach(8);
servo_pin_9.attach(9);
}

void loop()
{
if (( ( ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 3 , 2 ) ) > ( 10 ) ))
{
_ABVAR_1_var = 0 ;
}
if (( ( ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 3 , 2 ) ) <= ( 10 ) ))
{
_ABVAR_1_var = 1 ;
}
if (( ( _ABVAR_1_var ) == ( 0 ) ))
{
servo_pin_8.write( 180 );
servo_pin_9.write( 1 );
delay( 100 );
}
if (( ( _ABVAR_1_var ) == ( 1 ) ))
{
servo_pin_8.write( 1 );
servo_pin_9.write( 1 );
delay( 100 );
}
}

calle

calle