IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Communication port série PC/arduino et Raspberry/arduino


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Par défaut Communication port série PC/arduino et Raspberry/arduino
    Bonjour à tous !

    J'ai comme projet personnel de réaliser un robot roulant joueur de foot "autonome" !
    Pour cela je vais utiliser une raspberry Pi 2 pour faire tourner un programme de traitement d'image et un arduino pour gérer tout les servo-moteurs.
    Pour l'instant j’expérimente tout sur mon PC et non sur la Raspberry.
    J'ai fini mon programme C/C++ de suivi de couleur en utilisant OpenCV mais je ne vois pas vraiment comment faire pour envoyer les ordres moteur que vont générer mon programme C vers l'arduino ...
    J'ai fais quelques recherches et j'ai crus comprendre qu'il était possible de le faire par communication avec le port série mais je n'en sais pas plus ... ce sujet et tout nouveau pour moi
    Auriez vous de la documentation à ce sujet ou pouvez vous m'expliquer comment ca fonctionne ?
    Je précise que je suis sous Ubuntu sans aucun IDE bien-sur

    merci d'avance pour vos réponses

  2. #2
    Membre Expert

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Par défaut
    Hello,

    Le port série permet de lire et écrire des données, en général des octets (data bits = 8). C'est à toi de structurer les données qui circulent. En règle général:
    - on définit une trame c'est-à-dire un moyen pour composer un message de plusieurs octets, avec un moyen de délimiter ces trames entre elles. La délimitation peut être un caractère spécial pour signaler le commencement d'une trame, un caractère spécial pour signaler la fin d'une trame, un temps de silence obligatoire entre deux trames, etc...
    - on donne une structure au contenu du message; par exemple, le premier octet du message indique quel moteur on cible, le deuxième octet indique la consigne pour la rotation du moteur, etc...

    La liaison série n'offre pas de mécanisme intégré d'adressage, d'empaquetage ou de contrôle; c'est-à-toi de tout prévoir en fonction de ton besoin. Cependant, tu peux aussi opter pour un protocole connu, type Modbus, qui propose des spécifications couvrant déjà tous ces aspects. Ton raspberry serait alors le maître Modbus (celui qui donne les ordres) alors que ton Arduino serait un esclave Modbus (celui qui reçoit les ordres).

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Par défaut
    merci pour ta réponse !

    J'ai regardé pour le modbus, le problème c'est qu'il faut un shield en plus ... et c'est pas donné ...
    Je pense que je vais rester sur une liaison série classique.

    Une communication série correspond donc à ce schéma :
    Nom : charframe.png
Affichages : 784
Taille : 10,8 Ko

    Mais n'y a-t-il pas également une question de fréquence à laquelle on envoi le message à l'arduino ? pour que le maitre et l'esclave soient en phase ?
    Parce que je peux régler la vitesse de communication de l'arduino avec serial.begin(9600) par exemple, ne doit-on pas faire pareil dans le programme C ?
    ca serai top si quelqu'un avait un exemple de code sous la main

Discussions similaires

  1. Communication port série (RS232) avec VC++
    Par sanatou dans le forum Visual C++
    Réponses: 2
    Dernier message: 30/10/2006, 13h49
  2. Communication Port Série Internet
    Par psyckey dans le forum Hardware
    Réponses: 3
    Dernier message: 29/09/2006, 19h37
  3. [VB6] Probleme communication Port série
    Par Renard-fou dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 15/05/2006, 00h01
  4. Communication port série W2000/W98
    Par Fabsou dans le forum MFC
    Réponses: 4
    Dernier message: 24/10/2005, 19h57
  5. probleme de communication port série
    Par ben23 dans le forum MFC
    Réponses: 8
    Dernier message: 06/02/2004, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo