Capteurs ultrasons

Bonjour,

Je voudrai brancher plusieurs capteurs ultrasons sur une carte arduino, est il possible de brancher toutes les broches trig sur une même sortie de la carte arduino ?

Du genre :

const int trig = 4;
const int echo1 = 5;
const int echo2 = 6;
const int echo3 = 7;

En effet je souhaiterai en brancher 6 sur la carte arduino et je n'ai pas assez de sortie...
Merci beaucoup,
Grégoire

Oui tu peux le faire et tu ne cassera rien , mais le résultat ne cassera mais alors rien du tout.

Comment fonctionnent les capteurs à ultrason ?
Tu peux voir qu'il y a deux gros cylindres.
Un cylindre joue le rôle du haut parleur et envoi une salve d'ultrason (8 périodes à 38 kHz).
L'autre cylindre joue le rôle du microphone et reçoit les ultrasons qui ont rebondis sur une cible.
Entre les deux tu trouve un petit microcontrôleur qui met la réponse en forme et de l'amplification pour ce qui sort du microphone.

Si tu relie tous les triggers ensemble les 6 capteurs vont envoyer simultanément 6 salves identiques.
Que vont faire les micros : ils recevront un horrible mélange des 6 rebonds des 6 salves dont il ne pourront rien faire.
Les résultats renvoyés seront archi nuls.

Ce n'est pas la solution il faut déclencher les 6 capteurs les uns après les autres, avec une petite pause, à calibrer, entre chaque capteur.

Pour le manque de sorties disponibles ce n'est pas perdu pour autant. Il existe deux solutions simples : le registre à décalage, 74HC595 par exemple, et les expanseur I2C comme le PCF8574 tout aussi par exemple.

Si les capteurs sont orientés dans des directions différentes et suffisamment éloignées (angulairement), le risque est minime, non ?

Si les capteurs sont orientés dans des directions différentes et suffisamment éloignées (angulairement), le risque est minime, non ?

Oui mais :

  1. L’emplacement des 6 capteurs n’est pas spécifié donc on ne peut que supposer.
    S’il existe des couples de capteurs qui se tournent le dos éventuellement l’auteur de cette question peut faire un essais.
  2. les capteurs que l’on trouve a notre niveau ont des transducteurs avec des lobes d’émission bien larges ce qui ne facilite pas ce que tu proposes.
  3. Il ne faut pas oublier de prendre en compte l’environnement dans lequel les 6 capteurs évolueront.
    Le résultat ne sera pas le même en espace simple, par exemple pièce vide avec seulement 4 murs, ou en espace complexe avec réflexions multiples comme une pièce meublée.

Si on regarde la conséquence sur le programme et les temps de retard à incorporer cela ne va pas loin.
Soyons super optimiste et déclarons qu’on peut faire une mesure à 5 m.
L’émission de la salve de 8 période à 38kHz prend 0,2 ms, négligeable.
Le son se propageant à 330 m/s un aller et retour prendra 30 ms.
Si par sécurité on prend une pause de 20 ms entre la réception d’une mesure et le lancement de la suivante on aura relevé les 6 capteurs à la louche en 6 x 30 ms + 5 x 20 ms ~ 0,3 s.
Tout va dépendre de la “chose” qui contient les 6 capteurs.
Si “la chose” se déplace il faut en connaître la vitesse.

Sans plus de précision de la part de l’auteur de la question je pense qu’on ne peut qu’en rester là, il y a trop d’inconnues.

Bonjour,

tout d'abord merci pour les réponses,
l'idée de base est de fabriquer une plateforme pivotante en fonction de la présence ou non de qqun sur une intervalle de mesure prédéfini à l'avance.
Les capteurs serait orientés de manière à avoir 30° entre chaque capteurs, chacun étant séparé par une planche de bois.
J'ai fait un schéma rapidement histoire d'être un peu plu claire...

voilà

Où ?
Selon la configuration que tu décris, avec les orientations et les séparations, et en prenant en compte les remarques de 68tjs, je pense que ça devrait marcher...
Regarde par ici :
Manage multiple SR04 sensors et aussi Google 'arduino multiple sr04' qui devrait te donner des pistes.