top of page
Rechercher

9.1 - Utiliser un capteur à ultrasons

  • L C
  • 20 oct. 2024
  • 2 min de lecture

Dernière mise à jour : 6 déc. 2024

Matériel


  • 1 carte Arduino Uno

  • 1 breadboard

  • 1 capteur à ultrasons HC-SR04

  • Fils de connexion


Montage


Câblage


UCC sur la broche 5V

Trig sur la broche 12

Écho sur la broche 11

GND sur la broche GND (masse)


Sketch sans utilisation de bibliothèque


const int trigPin = 12;

const int echoPin = 11;


long duree;

int distance;

void setup() {

Serial.begin(9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void loop() {

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duree = pulseIn(echoPin, HIGH);

Serial.print("Duree : ");

distance = duree*0.034/2;

Serial.print("Distance : ");

Serial.print(distance);

Serial.println("cm");

}


Sketch commenté


// Définition des numéros de port

const int trigPin = 12; // Trigger (emission)

const int echoPin = 11; // Echo (réception)

// Variables utiles

long duree; // durée de l'echo

int distance; // distance

void setup() {

Serial.begin(9600);

pinMode(trigPin, OUTPUT); // Configuration du port du Trigger comme une SORTIE

pinMode(echoPin, INPUT); // Configuration du port de l'Echo comme une ENTREE

}

void loop() {

// Émission d'un signal de durée 10 microsecondes

//digitalWrite(trigPin, LOW);

//delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

// Écoute de l'écho

duree = pulseIn(echoPin, HIGH);

Serial.print("Duree : ");

// Calcul de la distance

distance = duree*0.034/2;

// Affichage de la distance dans le Moniteur Série

Serial.print("Distance : ");

Serial.print(distance);

Serial.println("cm");

}


Sketch utilisant la bibliothèque NewPing


// on ajoute NewPing

#include <NewPing.h>


/* On configure les pins où nous allons connecter le senseur */

#define PIN_TRIG 12 // Pin d'Arduino relié au pin Trigger du capteur à ultrasons

#define PIN_ECHO 11 // Pin d'Arduino relié au pin Echo

#define MAX_DISTANCE 100 // Distance maximale à détecter en cm.


/*Créer l'objet de la classe NewPing, on indique le pin Trigger, le pin Echo et la distance maximale, optionnel */

NewPing sonar(PIN_TRIG, PIN_ECHO, MAX_DISTANCE);


void setup() {

Serial.begin(9600);

}


void loop() {

// attente de 1 seconde entre les mesures

delay(1000);

// Obtenir la mesure du temps du voyage du son et la garder dans la variable temps

int temps = sonar.ping_median();

// écrire le temps mesuré dans le moniteur série

Serial.print("Temps: ");

Serial.print(temps);

Serial.println(" microsecondes");

// écrire la distance mesurée dans le moniteur série

Serial.print("Distance: ");

// US_ROUNDTRIP_CM constante permettant de mesurer la distance. Convertir le temps en distance (0 = indique hors de portée)

Serial.print(temps / US_ROUNDTRIP_CM);

Serial.println(" cm");

}


Remarques


Serial.begin(9600)

Permet la communication entre la carte Arduino et l'ordinateur et donc d’afficher dans le moniteur série de l'IDE Arduino les valeurs du capteur.


Pour ajouter la bibliothèque dans l'IDE Arduino

Menu Outils - Gérer les bibliothèques - Rechercher - taper NewPing - Installer


Réalisation



La 1ère valeur est la durée

La 2ème valeur est la distance

distance = durée * 0.034/2


Rappel

distance aller retour = vitesse du son x durée

Donc :

distance=1/2×vitesse du son×durée


bottom of page