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

LabVIEW Discussion :

Problème de communication entre labview et une carte arduino


Sujet :

LabVIEW

  1. #1
    Membre à l'essai
    Homme Profil pro
    biologiste
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : biologiste
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 16
    Points
    16
    Par défaut Problème de communication entre labview et une carte arduino
    bonjour à tous,
    Je viens vous car j'ai un petit problème de programmation!!
    Je m'explique :
    j'ai crée un vi pour piloter 3 valves avec une carte arduino par labview en utilisant "LIFA"

    Jusque la tout va bien :-)
    Maintenant j'aimerai rajouter un bouton poussoir afin de passer en mode manuel c'est à dire contrôler mes valves via d'autres interrupteur pour me permettre de les purger.

    donc d'un côté, j'ai le pilatage labview et de l'autre un pilotage manuel (arduino).

    j'ai tenter de mettre le code (arduino) de l'interrupteur dans la void loop mais labview n'arrive plus à communiquer avec la carte !!

    Avez vous des idées pour me sortir de cette galère?

    dit moi si vous voulez le vi!

    MERCI PAR AVANCE

    voici le code téléversé dans l'arduino

    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
     
     
    /*********************************************************************************
     **
     **  LVFA_Firmware - Provides Basic Arduino Sketch For Interfacing With LabVIEW.
     **
     **  Written By:    Sam Kristoff - National Instruments
     **  Written On:    November 2010
     **  Last Updated:  Dec 2011 - Kevin Fort - National Instruments
     **
     **  This File May Be Modified And Re-Distributed Freely. Original File Content
     **  Written By Sam Kristoff And Available At www.ni.com/arduino.
     **
     *********************************************************************************/
     
     
    /*********************************************************************************
     **
     ** Includes.
     **
     ********************************************************************************/
    // Standard includes.  These should always be included.
    #include <Wire.h>
    #include <SPI.h>
    #include <Servo.h>
    #include "LabVIEWInterface.h"
     
    /*********************************************************************************
     **  setup()
     **
     **  Initialize the Arduino and setup serial communication.
     **
     **  Input:  None
     **  Output: None
     *********************************************************************************/
    const int buttonPin  = 2;    // broche dédié au bouton
    const int ledPin     = 9;   // broche dédié à la led 
     
    int buttonState      = 0;    // état du bouton
    int lastButtonState  = 0;     // ancienne état du bouton
    int ledState         = 0;   // état de la led 
     
    void setup()
    {
      // Initialize Serial Port With The Default Baud Rate
      syncLV();
     
      // Place your custom setup code here
     
      pinMode(buttonPin, INPUT); // entrée
      pinMode(ledPin, OUTPUT);  // sortie
     
      digitalWrite(7, LOW);    
      digitalWrite(4, LOW);    
      digitalWrite(5, LOW);    
      digitalWrite(6, LOW);    
    }
     
    /**  loop()
    **
    **  The main loop.  This loop runs continuously on the Arduino.  It
    **  receives and processes serial commands from LabVIEW.
    **
    **  Input:  None
    **  Output: None
    *********************************************************************************/
    void loop()
    {
     
      // Check for commands from LabVIEW and process them.
     
      checkForCommand();
      // Place your custom loop code here (this may slow down communication with LabVIEW)
     
     buttonState = digitalRead(buttonPin);//lecture de l'état du bouton
      //Serial.println(buttonState);
        //Serial.println(lastButtonState);
     
      // si l'état du bouton est différent de l'état précedent
      if (buttonState != lastButtonState) 
      {
        if (buttonState == 1) // si l'état du bouton est high
        { 
          if(ledState==1) 
          ledState=0;
          else            
          ledState=1;         
        }
        lastButtonState = buttonState; // nouvelle état du bouton
        //Serial.print(lastButtonState);
      }
     
      digitalWrite(ledPin, ledState);// 
      delay(20);// délais anti-rebond
      //Serial.println(ledState);
     
      if (acqMode == 1)
      {
        sampleContinously();
     
       }
    // fin de la boucle globale
    }

  2. #2
    Membre à l'essai
    Homme Profil pro
    biologiste
    Inscrit en
    Mai 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : biologiste
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    bonsoir,
    finalement, je suis directement passé par le port USB en utilisant VISA ce qui ma permis de mieux gérer le reste de mon programme!
    l'arduino n'a pas besoin de programmation particulière de cette manière !
    ;-)

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    si je me base sur ce qui est ici :
    http://innovelectronique.fr/2012/05/...e-for-arduino/

    A priori tu n'as rien à télécharger dans l'arduino, c'est labview qui s'en charge. Dans le second exemple qui consiste à l'ire l'état d'un interrupteur, tu as la voie 8 en sortie et la voie 7 en entrée. Dans la boucle while tu lis en permanence l'état de l'entrée 7 avec le VI "Arduino Read".

Discussions similaires

  1. Réponses: 7
    Dernier message: 12/08/2010, 11h40
  2. [Labview 8.6] Entrées / sorties d'une carte NI 9401
    Par ptit_knard dans le forum LabVIEW
    Réponses: 1
    Dernier message: 05/07/2010, 11h48
  3. Problème de communications entre threads
    Par maya09 dans le forum Windows
    Réponses: 1
    Dernier message: 22/02/2006, 22h18
  4. Réponses: 2
    Dernier message: 08/08/2005, 21h30
  5. [MFC] communication entre onglets d'une fenêtre
    Par bigboomshakala dans le forum MFC
    Réponses: 12
    Dernier message: 29/05/2004, 12h12

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