faire fonctionner deux capteurs ultrasons simultanement

Bonjour a tous;

Je dois mettre deux capteurs ultrasons dans mon programme un qui detecte les trous et l autre les obstacles quand je les teste chacun individuellement ca fonctionne tres bien mais quand je les mets en meme temps ca ne fonctionne pas . Quelqu'un aurait une idée ?
Merci

test_hc_sr_04.ino (1.18 KB)

Quelqu'un aurait une idée ?

Oui, probablement que les deux émissions se perturbent.

Lire ce qui aurait du être lu avant de poser une question : http://forum.arduino.cc/index.php?topic=324322.0
et particulièrement ce chapitre : Informations nécessaires - Français - Arduino Forum

Sans la moindre information sur les capteurs à ultrason que tu utilises il va être difficile de voir si par chance une solution existe.
La meilleure solution serait de coder les émissions des ultra-sons. Mais cela reviendrait à refaire un capteur, travail assez difficile.
Sinon voir si des modèles différents de différent concepteurs n'utiliserait pas des réglages différents.

Le très répandu HC-SR04 envoi 8 impulsions à 40 kHz (voir étude :http://uglyduck.ath.cx/ep/archive/2014/01/Making_a_better_HC_SR04_Echo_Locator.html)
Peut être qu'une autre réalisation fonctionne sur un principe différent.

Je n'ai pas fait de up dans le sujet je ne comprend donc pas pourquoi vous me rappelez les regles d'utilisation du forum.

le capteur utilisé est un HC-SR04

D'après toi le chapitre particulier que je t'ai demander de lire ou de relire c'est pour les up les relances abusives ou c'est pour des conseils pour bien exposer son sujet afin que tu puisse avoir les meilleures réponses possibles.

le capteur utilisé est un HC-SR04

Et bien voila qui est plus constructif !

Deux HC-SR04 fonctionnant en même temps se perturberont la détection n'étant pas synchrone.
Ils sont équipés d'un microcontroleur d'origine inconnue avec un logiciel tout aussi inconnu.

Le mauvais calage du filtre indiqué dans le lien je l'ai moi même constaté sur des produits made in China achetés il y a deux ans. De plus sur ceux que j'avais les condensateurs sur le Max232 était de trop faible valeur ce qui bloquait la pompe de charge et le transducteur d'émission ne voyait pas 2 fois 9V mais seulement 1 fois 5V.

Une solution serait de placer un délai entre les commandes des capteurs histoire de s'assurer que l'un a bien terminé d'émettre avant de commander le second.
Tu commence par un délai assez long et tu diminue petit à petit pour trouver la limite basse.
Et tu vérifie si elle convient pour ton application.

Sur Ebay à un peu plus de 1€ tu peux trouver des modèles différents(par exemple US-015, mais ce n'est qu'un exemple au hasard je ne le connais pas) qui n'utilisent pas la même électronique, je pense que pour 1 € cela vaut le coup d'essayer.

d'apres ce que vous dite je ne vois pas trop ou caler un delai dans mon programme

Avant de modifier un programme existant pour vérifier une possibilité il y a la possibilité d'écrire un petit bout de programme qui ne fait que le seul test de cette possibilité.

Régler les problèmes un par un est la meilleure solution pour arriver le plus rapidement au but recherché.

Quel est le schéma de câblage ?
Dans ton programme quel est le mode opératoire ?
Tu envois une commande sur les deux HC-S04 simultanément ou tu les commande l'un après l'autre avec deux sorties différentes du micro ?

Le programme joint n'a aucun commentaire.
Ce n'est pas à nous de tout déchiffrer c'est à toi d'expliquer ce que tu fais.

Voici le programme commenté

test_hc_sr_04.ino (1.71 KB)

Ou est le problème ?
Au lieu d'enchaîner les ordres trig et trig1 tu ne peux pas mettre une pause (un délai) juste avant d'envoyer
digitalWrite(trig2, HIGH);
pour voir si cela va dans le bon sens.

Super merci de ton aide en mettant un delai entre les deux sequence d emission et reception cela fonctionne parfaitement

En fait il suffisait tout juste de réfléchir 5 minutes au fonctionnement de ces capteurs.