recherche un expert en capteur ultrason pour aide

Salutation,

Alors voila j'ai un projet pour mon école dans lequel je doit programmer un pont et un robot avec un arduino sans jamais en avoir vraiment fait.

la mission est la suivante : nous devons transporté de l'eau d'un point A à un point B et revenir au point A sans renverser de l'eau mais nous avons des obstacle de 3,5cm de haut et notre robot ne doit pas sortir d'un cadre de 1m de large le tout en 3min. La distance entre le point A et B est de 4m

Avec mes coéquipiers nous avons choisie de faire un pont qui permetttra à notre robot de traverser la terrain sans problème à pleine vitesse. Nos prof sont d'accord à la condition que nous devons déployer le pont sur le terrain. pour ça nous allons faire pivoté le pont de 90°.

Nous avons deux arduinos UNO. un pour le pont et l'autre pour notre véhicule/robot.

Pour l'ordre des action c'est simple : 1) on appuie sur un bouton et le pont se déploie. 2) le pont atteind les 90°, s'arrête et le robot démarre. 3) le robot atteind le bout du pont et revient au point de départ. 4) le pont retourne à sa position initial. FIN

Pour le pont nous avons aucun soucie mais c'est plus au niveaux du robot qu'on à des problèmes...

  1. le départ du robot : notre pont ne peut communique qu'indirectement avec notre robot (pas de Bluetooth, wifi, câble fixe, etc...) nous avons penser utilisé une photorésistance afin d'envoyer le signale de départ.

  2. les capteurs ultrason : nous avons choisie des capteurs ultrasons afin de ne pas subire d'impact avec notre robot. Cependant en ajoutant la photorésistance pour le départ du robot. j'ai eux un gros problème avec mes capteur et plus rien ne marchait...

capteur contacte 5A 125VDC
capteur ultrason HC-SR04
photorésistance 1Mohm
Arduino uno

const int pResistor = A0; //photorésistence
const int ledPin = 9;       //LED de la photorésistance
#define trigPin 12      //Trig 
#define echoPin 11      //Echo 
#define avertisseur 8 //avertiseur LED

//Variables
int value;          // stockage de la valeur de la photorés(0-1023)
int mindist = 10; //On indique la distance en dessous de laquelle nous souhaitons voir la led s'allumer

void setup(){
  Serial.begin (9600);  
  pinMode(ledPin, OUTPUT);  // LED photorésistance en sortie
  pinMode(pResistor, INPUT);// photorésistance en entrée
  pinMode(trigPin, OUTPUT);  //Trig en sortie
  pinMode(echoPin, INPUT);   //Echo en entrée
  pinMode(avertisseur, OUTPUT); //LED en sortie
}

void loop(){
  value = analogRead(pResistor);
  
  //on peut changer la valeur de 950
  if (value > 950){
    digitalWrite(ledPin, HIGH);  //active la LED de la photorésistance
    long duree, distance;
    digitalWrite(trigPin, LOW);  
    delayMicroseconds(2); 
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10); //Trig envois pendant 10ms 
    digitalWrite(trigPin, LOW);
    
    //calcul le temps pour l'aller retour du signal
    duree = pulseIn(echoPin, HIGH);
    distance = duree*340/(2*10000);  
    
    if (distance < mindist) {  // On allume l'avertiseur LED si on est moins loin que "mindist", mindist étant défini en début de programme
      digitalWrite(avertisseur,HIGH);
    }
    else {   //sinon on éteind la led
      digitalWrite(avertisseur,LOW);
    }
  //Pour le moniteur série
    if ( distance <= 0){  
      Serial.println("Hors de portee");
    }
    else {
      Serial.print(distance);
      Serial.print(" cm ");
      Serial.print(duree);
      Serial.println(" ms");
    }
    delay(100);
  
}
  else{
    digitalWrite(ledPin, LOW); //éteins le LED de la photorés
    }
}

Si quelqu'un est prêt a m'aidé à comprend et apprendre comment programmer correctement arduino vous pouvez me contacter via discord afin de facilité la communication.

discord : hitsujikhan#0634

en tout cas merci de votre lecture et je m'excuse pour le long pavé.

Postez le code, les infos sur les capteurs, les branchements etc...

(Sinon j’ai rien compris aux 90° ni comment le pont va fonctionner et comment vous allez savoir où le déployer)

Pour un travail scolaire/universitaire nous ne répondons pas de la même façon que pour un travail personel. C'est logique derrière il y a une note qui doit être sincère et représentative du travail réellement fourni.
Donc merci de nous indiquer, honnetement, le niveau d'étude.

Je n'ai pas bien compris le passage sur le "pas encore fait d'arduino" mais la programation arduino c'est simple : ce n'est que du C/C++ où on utilise des bibliothèques de fonctions et de classes dans n'importe quel environnement de développement..
L'Ide mise à disposition par la société arduino ne sert qu'a simplifier le travail et c'est bien pratique. Il ne faut pas croire que c'est un produit magique ni un langage suplémentaire.

Je n'ai pas bien compris le sens de tes écrits et ne veux pas faire de procès d'intention mais ici on voit ,trop, souvent des lycéens se plaindre qu'ils n'ont pas eu de cours de programmation mais depuis qu'en consultant des annales du brevet j'ai découvert qu'il existe des épreuves de décodage de programme écrit en scratch j'ai la preuve que c'est faux.

Pour découvrir l'univers arduino rien de tel que le tuto d'Eskimon dont tu as vu le lien en lisant le message épinglé "Règles du forum francophone" car bien sur tu as lu ce message avant de poser ta question.

J’ai plus l’impression que c’est pour participer à un concours de robots du genre eurobot 2019 ou autre trophée robotique (très fun d’encadrer des jeunes pour cela d’ailleurs) qu’un projet type bac

Dans ce genre de compétition on peut être « intelligent » et contourner des règles (think out of the box) pour atteindre le but. J’ai l’impression qu’ils ont eu l’idée de passer au dessus des obstacles plutôt que d’essayer de les contourner ou les escalader sans renverser l’eau

J-M-L:
Postez le code, les infos sur les capteurs, les branchements etc...

j'ai mis a jour le poste avec le code + les composants + le schémas de câblage

J-M-L:
(Sinon j’ai rien compris aux 90° ni comment le pont va fonctionner et comment vous allez savoir où le déployer)

le pont doit être placer à l'extérieurs du terrain et on a décidé de le faire pivoté de 90 degrés afin de le placé sur le terrain. Le pont fonctionnera simplement avec une carte Arduino UNO, un moteur avec un shield, et des capteur de contacte pour la position initial et final.

68tjs:
Pour un travail scolaire/universitaire nous ne répondons pas de la même façon que pour un travail personel. C'est logique derrière il y a une note qui doit être sincère et représentative du travail réellement fourni.
Donc merci de nous indiquer, honnetement, le niveau d'étude.

je suis en HES (haute école suisse) en première année en microtechnique et on a un concours interne pour défier tous les élèves à relever un défi

68tjs:
L'Ide mise à disposition par la société arduino ne sert qu'a simplifier le travail et c'est bien pratique. Il ne faut pas croire que c'est un produit magique ni un langage suplémentaire.

Pour découvrir l'univers arduino rien de tel que le tuto d'Eskimon dont tu as vu le lien en lisant le message épinglé "Règles du forum francophone" car bien sur tu as lu ce message avant de poser ta question.

j'ai lu et vu le tuto mais il y a plein de choses que je n'ai pas bien comprit et c'est pour ça que je recherche quelqu'un pour m'aidé a mieux comprendre comment ça marche et a exploité correctement tous ce que la communauté Arduino propose.

J-M-L:
J’ai plus l’impression que c’est pour participer à un concours de robots du genre eurobot 2019 ou autre trophée robotique (très fun d’encadrer des jeunes pour cela d’ailleurs) qu’un projet type bac

Dans ce genre de compétition on peut être « intelligent » et contourner des règles (think out of the box) pour atteindre le but. J’ai l’impression qu’ils ont eu l’idée de passer au dessus des obstacles plutôt que d’essayer de les contourner ou les escalader sans renverser l’eau

c'est exactement ça !

Les capteurs à US sont annoncés avec un angle d'émission de 30°.
C'est limite escroquerie car il s'agit en fait du demi-angle soit émission réelle dans un cône de 60°.

Sinon leur gestion est hyper simple : le module contient un petit microcontrôleur qui détecte le temps mis par l'onde réfléchie pour atteindre le micro US et converti ce temps en longueur d'impulsion qu'il suffit de mesurer avec la fonction pulseIn().

Attention s'il y a plusieurs capteurs à ultrason un seul doit être actif à la fois sinon ils se parasiteront entre eux.

68tjs:
Sinon leur gestion est hyper simple : le module contient un petit microcontrôleur qui détecte le temps mis par l'onde réfléchie pour atteindre le micro US et converti ce temps en longueur d'impulsion qu'il suffit de mesurer avec la fonction pulseIn().

donc si je comprend bien, si j'utilise la fonction pulseIn(), ça me permettrais de mesurer la distance de la limite de mon pont et qu'il enclenche une nouvelle séquence lorsqu'il a atteins la valeur voulut ?

68tjs:
Attention s'il y a plusieurs capteurs à ultrason un seul doit être actif à la fois sinon ils se parasiteront entre eux.

même s'ils sont opposé ? (un qui mesure devant et l'autre qui mesure derrière)

La meilleure façon de faire est de chercher des exemples simples et de les étudier.
Les moteurs de recherche seront tes copains.
Perso je fuis les bibliothèques mastodontes qui se veulent universelles et qui ajoutent des trucs et machins qui ne servent à rien et qui ne font que compliquer la compréhension.

même s'ils sont opposé ? (un qui mesure devant et l'autre qui mesure derrière)

Comment pouvoir affirmer quelque chose ? Est-ce que je connais la salle ? Il y aura-t-il des réflexions sur des objets parasites ?
Je te signale la couillonnade possible car d'autres sont déjà tombés dans le panneau.
Après c'est ton projet c'est toi qui vois.

Bonsoir

Je confirme le rôle important joué par les réflexions sur toutes les parois... sauf si elles sont recouvertes d'un matériau très absorbant. -> Attendre le retour des réfexions parasites avant d'activer l'emetteur suivant

Moi je ne comprends toujours pas où est le pont, comment les 2 arduinos se parlent, comment le pont sait où se déployer etc..

je m'excuse pour mes réponse tardive je n'arrivais plus a trouver mon post...

68tjs:
La meilleure façon de faire est de chercher des exemples simples et de les étudier.
Les moteurs de recherche seront tes copains.
Perso je fuis les bibliothèques mastodontes qui se veulent universelles et qui ajoutent des trucs et machins qui ne servent à rien et qui ne font que compliquer la compréhension.

merci du conseil ! Il est vrai que je cherchais plus dans les grosses bibliothèques qui m'on plus embrouiller qu'autre chose.

al1fch:
Je confirme le rôle important joué par les réflexions sur toutes les parois... sauf si elles sont recouvertes d'un matériau très absorbant. -> Attendre le retour des réfexions parasites avant d'activer l'emetteur suivant

ok va falloir que je fasse des tests avant dans la salle pour voir l'impact qu'elle peut avoir sur mon robot. mais par contre je me suis posé une autre question… S'il y a beaucoup de personne autour du robot mais qui sont assez éloigniez pour ne pas perturber les ultrason avec leur corps. Est-ce les nuisance sonore que peut provoquer ce publique peut perturber le capteur ?

J-M-L:
Moi je ne comprends toujours pas où est le pont, comment les 2 arduinos se parlent, comment le pont sait où se déployer etc..

Je vais essayer de faire un schémas explicite afin de mieux comprendre le fonctionnement du système (ou/et une vidéo pour expliquer avec des crayon/gomme le fonctionnement)

Bonsoir

'il y a beaucoup de personne autour du robot mais qui sont assez éloigniez pour ne pas perturber les ultrason avec leur corps. Est-ce les nuisance sonore que peut provoquer ce publique peut perturber le capteur ?

Un public 'normal' non.
Un public qui utilise des sifflets à ultrasons, qui agitte frénétiquement son trousseau de clefs..... là oui, des perturbations peuvent arriver et provoquer des détections parasites s'il ya production par le public de sons à 40kHz suffisement intenses pour être recus par le capteur.