Partage
  • Partager sur Facebook
  • Partager sur Twitter

Débutant Aduino - Localisation

Faire communiquer 2 arduino pour en déduire l'intensité de londe

    7 juin 2019 à 9:39:29

    Bonjour,

    Je suis une très grande débutante en Arduino. Je fais des recherches dans le cadre de mon stage depuis plus de 3 jours et je commence à m'inquiéter de mon incompréhension qui est présente même sur les principes de base. Bien entendu cette technologie m'est imposée et j'ai suivi la formation open classroom débutant sur le sujet et j'ai lu le maximum de sujet sur le forum.

    Le but : localiser un objet dans l'espace 

    Ce à quoi j'ai pensé :

    Pour connaitre une localisation il faut que je mette en place une triangulation. Avec 3 distances entre un objet et un point fixe je pourrais en déduire une localisation. Pour obtenir cette distance, je pourrais étudier l'intensité du signal. Moins l'intensité est élevée, plus l'objet est éloigné. Il faudra juste établir une courbe de distance. 

    Avant de pouvoir mettre en place tout cela, il me fallait comprendre le fonctionnement de l'Arduino. 

    Le matériel : Sans être guidée, les spécifications techniques étant incompréhensibles sur les sites internet, j'ai du mal à comprendre ce qu'il va me falloir.

    L'arduino sur l'objet ne pourra être branché, il devra donc avoir sa propre source d'énergie. Il devra également être  capable d'émettre un signal qui pourra être reçu en mode sans fil par 3 autres arduinos. Ces 3 autres arduinos devront capter l'onde émise par l'arduino sur l'objet et en mesurer l'intensité, ils pourront éventuellement être branchés à un ordinateur.

    Je dois bien entendu choisir commander et tester mon matériel, je suis vraiment perdue. Au vu de mes recherches, il me faudrai une carte arduino et un Xbee à brancher dessus. Es ce bien cela ? Quel matériel serai adapté à ce que je dois faire ? Ou, quels sont les caractéristiques qu'il me faudrait sur mes différents équipements précisément ?  J'avoue avoir un peu du mal à capter les différences entres les différents arduino.

    A ce que j'ai cru comprendre il y a Un coordinateur et plusieurs routeurs. L'arduino sur l'objet serai donc le coordinateur et les autres les routeurs ? Pour différencier les deux ce n'est qu'une question de programmation ?

    Es ce possible de faire communiquer 2 arduino sans branchement pour en déduite l'intensité du signal ? Es ce que cela se fait "tout seul" sans autres équipement que l'arduino et la xBee ? Faut il relier du matériel ou existe il un module à brancher sur l'arduino qui me permettrait de la faire? 

    Programmation :

    Pour la distance, c'est juste une histoire de programmation, ce sera une autre étape.

    La programmation ne peut se faire que en C et en C++ via le logiciel de l'arduino ? Il y a t'il une autre solution (pour C# et python notamment)

    J'ai essayé de mettre un maximum de mise en page pour que mon pavé soit agréable à lire, enfin moins désagréable! ;)

    Merci par avance pour toutes les pistes et les réponses que vous pourrez m'apporter je suis vraiment preneuse de tout.

    Nöeline :magicien:

    modification : Autre solution pour mesurer la distance, il serai possible d'envoyer l'heure système de la carte arduino sur l'objet toutes les x secondes et de voir a quelle heure elle est reçue (suivant la distance le temps pour recevoir l'information changera). La synchronisation de 2 cartes est elle possible? Synchroniser 4 cartes également ? Es il possible de recupérer l'heure système?

    -
    Edité par NöelineM1 7 juin 2019 à 11:32:43

    • Partager sur Facebook
    • Partager sur Twitter
      15 juin 2019 à 12:13:02

      Bonjour,

      Pour mesurer la distance entre un émetteur et un récepteur tu peux utiliser la force du signal qui est appelé RSSI voici quelques liens utiles :

      http://evilrobotfactory.blogspot.com/2014/05/estimating-distance-from-rssi-values.html

      https://www.instructables.com/id/Getting-xBee-RSSI-value/

      Il y a cependant un gros problème : S’il y a des obstacles le calcul est faux.

      C'est donc la même chose pour l'heure système. Si tu veux récupérer cette heure système il existe plusieurs modules par exemple le DS3231. Grâce à la librairie RTClib tu peux le régler à l'heure de ton ordinateur grâce à l'exemple nommé ds3231.

      Pour ce qui est de programmer l'arduino en un autre langage ce n'est pas possible. Cependant, il existe des cartes qui le supportent : les netDuino https://www.wildernesslabs.co/netduino mais elles sont très chères par rapport au arduino classiques apprendre le C/C++ pour l'arduino est je pense bien mieux. Sinon tu peux toujours utiliser des Raspberry pi zéro et là, tu pourras programmer en presque n'importe quel langage.

      Sinon, tu peux communiquer avec ton arduino en python via la librairie serial et grâce au moniteur série de l'arduino ainsi le code arduino est simplement une interface entre les capteurs et le programme python :

      https://openclassrooms.com/fr/courses/2778161-programmez-vos-premiers-montages-avec-arduino/3285142-utilisez-les-constantes-les-variables-les-conditions-et-le-moniteur-serie

      https://pythonhosted.org/pyserial/

      -
      Edité par Robotechnic 15 juin 2019 à 12:30:12

      • Partager sur Facebook
      • Partager sur Twitter

      si jamais j'abandonne c'est pour recommencer plus tard

      Débutant Aduino - Localisation

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown