LOCODUINO

Aide
Forum de discussion
Dépôt GIT Locoduino
Flux RSS

mardi 19 mars 2024

Visiteurs connectés : 107

Détecteurs à ultrasons

HC-SR04 ou SRF05

.
Par : Dominique, Guillaume

DIFFICULTÉ :

<

Qu’est-ce ?

Composant bon marché, les capteurs HC-SR04 et SRF05 sont des émetteurs récepteurs d’ultrasons (40KHz) qui permettent de mesurer la distance entre le capteur et le premier élément situé sur sa trajectoire, qui lui renvoie les ultrasons.
 Au contraire d’autres moyens de détection, il n’est pas très discret au vu de sa taille (approximativement 4,5*2*1,7 cm). 
De part sa nature, une vision dégagée est requise devant lui pour permettre une bonne détection.

La portée du SR04 et du SRF05 est de 2cm à 3 m environ. La précison de l’ordre d’1/3 cm.
Sa consommation est de 30 à 50 milliampères.

Le principe de mesure de distance avec ce type de capteur repose sur le temps que met une onde sonore émise pour aller vers un objet, rebondir puis revenir vers le récepteur.
Le capteur fournit une sortie de durée proportionnelle à la distance.
Ce temps (t) est récupéré par l’Arduino et nous pouvons en déduire une distance en multipliant par la vitesse du son (340 m/s) et en divisant par 2 ( le son faisant un aller/retour) soit :
d = (340 x t) / 2 mètres.

Comment le brancher à l’Arduino ?

Le détecteur SR04 possède 4 broches : 2 pour l’alimentation avec VCC pour le 5V et le GND pour la masse de l’Arduino. Les autres broches trig et echo sont à brancher sur des broches numériques disponibles de l’Arduino.

Le détecteur SRF05 possède 5 broches, l’une n’étant pas utilisée, les autres ayant les même fonctions que celles du SR04.

Voici un exemple de branchement sur un UNO :

Comment récupérer la distance ?

Voici un code très simple. Il existe sur internet des bibliothèques permettant d’éliminer des valeurs extrêmes afin d’éviter les erreurs. Il sera de votre ressort de voir si une exactitude est nécessaire ou pas.
Les branchements sont situés dans le programme et les schémas ci-dessus :

/* Utilisation du capteur Ultrason HC-SR04 */

// définition des broches utilisées 
int trig = 12; 
int echo = 11; 
long lecture_echo; 
long cm;

void setup() 
{ 
  pinMode(trig, OUTPUT); 
  digitalWrite(trig, LOW); 
  pinMode(echo, INPUT); 
  Serial.begin(9600); 
}

void loop() 
{ 
  digitalWrite(trig, HIGH); 
  delayMicroseconds(10); // envoi d'une impulsion sur trig de 10 microsecondes
  digitalWrite(trig, LOW); 
  lecture_echo = pulseIn(echo, HIGH); 
  cm = lecture_echo / 58; // lecture_echo*340/(2*10000)
  Serial.print("Distance en cm : "); 
  Serial.println(cm); 
  delay(1000); 
}

Le programme effectue une mesure à peu près toutes les secondes et envoie le résultat sur la voie série (le terminal de l’IDE Arduino).

Utilisation

Ce capteur peut être utilisé de plein de façons, entre autres :

  • visualiser sur un TCO la présence d’un convoi ou non sur une portion de voie
  • connaître la position de quelque chose
  • arrêter un train en gare à une position précise

Dans ces utilisations, il s’agit de tester une condition de distance. Si la distance est inférieure à une valeur, un convoi est présent ou si supérieur, la voie est vide. Afin de connaître cette valeur au plus juste, faites votre montage dans les conditions réelles et même fixez le capteur à son emplacement réel. Lancer ensuite le programme donné ci-dessus avec et sans obstacle pour trouver la meilleure valeur.

Pour ma part, après tests, il s’avère que le détecteur que je possède a un pourcentage d’erreur constant. Il rajoute environ 20% de la distance à la mesure, paramètre que l’on peut donc incorporer dans le programme pour avoir une bonne mesure.
Je considère que pour le prix dépensé, la qualité est au rendez-vous, surtout quand l’erreur peut être corrigée au niveau logiciel.

6 Messages

Réagissez à « Détecteurs à ultrasons »

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rubrique « Matériel »

Le microcontrôleur ATtiny45 (1)

Le microcontrôleur ATtiny45 (2)

Le microcontrôleur ATtiny45 (3)

Le microcontrôleur ATtiny45 (4)

Le microcontrôleur ATtiny45 (5)

Le microcontrôleur ATtiny45 (6)

Le microcontrôleur ATtiny45 (7)

Le microcontrôleur ATtiny45 (8)

Le microcontrôleur ATtiny45 (9)

Le microcontrôleur ATtiny45 (10)

Fonctionnement et pilotage d’une DEL

Qu’est ce qu’une carte Arduino ?

Amplifier le signal de sortie d’un ARDUINO avec un ULN 2803

Un minimum pour jouer rapidement avec un Arduino

Où acheter ?

Résistances, kézako ?

Les cartes Teensy

Relais électromagnétique

Les diodes classiques

Détecteurs à ultrasons

De nouveaux composants pour continuer à jouer

La carte Arduino Uno

Bouton poussoir

Les différents types de mouvements d’un servomoteur

Les encodeurs en quadrature

Les indispensables du prototypage

Les écrans LCD alphanumériques

Des bus de communication pour l’Arduino

Les interrupteurs

Signaux lumineux et Arduino

Les shields de prototypage et de connexion

Commande de moteur à courant continu

Choisir sa carte Arduino

Une station DCC complète, polyvalente et économique avec JMRI.

Écran couleur tactile Kuman

Capteurs à effet Hall

Programmation des ATtiny Digispark

Ma première centrale DCC

Ma première manette DCC (1)

Une station DCC minimale avec boutons de commande et écran Oled

Ma première manette DCC (2)

Le Raspberry Pi Pico

Signalisation et sonorisation du va-et-vient pour deux trains

Configurateur de CV sur base de la station DCC minimale

Fabrication d’un programmateur pour microcontrôleurs ATtiny

Détection RailCom© avec ESP32 (ou Arduino)

Adieu Uno, bonjour Uno !

Ma nouvelle manette DCC avec ESP32 (1)

Ma nouvelle manette DCC avec ESP32 (2)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (1)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (2)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (3)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino.(4)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (5)

Les derniers articles

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (5)


bobyAndCo

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino.(4)


bobyAndCo

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (3)


bobyAndCo

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (2)


bobyAndCo

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (1)


bobyAndCo

Détection RailCom© avec ESP32 (ou Arduino)


bobyAndCo, catplus

Ma nouvelle manette DCC avec ESP32 (2)


msport

Ma nouvelle manette DCC avec ESP32 (1)


msport

Adieu Uno, bonjour Uno !


Christian

Fabrication d’un programmateur pour microcontrôleurs ATtiny


Christian, Dominique, Jean-Luc

Les articles les plus lus

Une station DCC complète, polyvalente et économique avec JMRI.

Capteurs à effet Hall

Commande de moteur à courant continu

Les différents types de mouvements d’un servomoteur

Relais électromagnétique

Programmation des ATtiny Digispark

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (5)

Le Raspberry Pi Pico

Ma première centrale DCC

Des bus de communication pour l’Arduino