Partage
  • Partager sur Facebook
  • Partager sur Twitter

utiliser les informations reçus par une arduino sur PC

    3 octobre 2011 à 14:42:44

    Bonjour,

    J'ai une carte arduino uno à laquelle j'ai relié divers capteurs et je peux la faire fonctionner de manière autonome ( il semble que ce soit la manière d'utilisation la plus simple de ce genre de carte).
    Cependant je souhaiterais récupérer les informations de ces capteurs et les utiliser dans un programme beaucoup plus vaste. Je souhaiterais modifier les sorties en fonction des entrées mais en passant par mon programme ( en visual basic ) et non de manière autonome.
    Je compte évidemment laisser la carte branché en permanence à l'ordinteur, il me manque seulement le moyen d'extraire ces informations du logiciel arduino et de les incorporer dans le programme.

    Merci de me soumettre vos idées.
    • Partager sur Facebook
    • Partager sur Twitter
      3 octobre 2011 à 18:42:51

      Utilise la voie série !
      Le tuto en rédaction sur Arduino possède une partie sur cette voie série. Elle part en validation bientôt...
      • Partager sur Facebook
      • Partager sur Twitter

      Retrouvez moi sur mon blog et ma chaine Youtube !

      Anonyme
        4 octobre 2011 à 21:43:32

        Salut,

        Si j'ai bien compris ton problème, tu veut utiliser ce que la carte arduino envoi à l'ordinateur (donc par la liaison série) dans un programme. Et bien, comme toi, je cherche la même chose => utiliser des données de la voie série dans un programme en C (ou autre langage). Il doit bien exister une libraire pour ça, mais faut la trouver.

        Sinon, j'ai trouvé un truck intéressant ici. C'est une Interface Homme Machine qui permet de contrôler l'arduino depuis le PC.

        Désolé de ne pouvoir t'aider, si je trouve la solution tu sera le premier avertis ! :)
        • Partager sur Facebook
        • Partager sur Twitter
          4 octobre 2011 à 22:33:40

          merci Eskimon pour la réponse mais j'ai déja regardé et si la réponse à mon probleme est dans le tuto je ne l'ai pas vu (ou pas compris).
          En effet olyte c'est exactement ce que je cherche à faire. je vais regarder ton lien et si je trouve également une solution je la metterais sur le forum.
          merci
          • Partager sur Facebook
          • Partager sur Twitter
            4 octobre 2011 à 22:54:32

            Arrive un moment il faut aussi mettre les mains dans le cambouis :p car comme tu dois t'en douter il n'existe pas forcément "LA" solution à ton problème qui est est déjà codé !
            Une fois que tu sais comment envoyer / recevoir des infos par la voie série tu peux programmer une petite interface (dans le langage avec lequel tu es le plus à l'aise).
            Je ne sais pas dans quel langage tu travail habituellement, mais si tu es fan du C++ et Qt sache qu'il existe une très bonne librairie tiers pour utiliser la voie série
            • Partager sur Facebook
            • Partager sur Twitter

            Retrouvez moi sur mon blog et ma chaine Youtube !

            Anonyme
              5 octobre 2011 à 10:01:49

              Citation

              Je ne sais pas dans quel langage tu travail habituellement, mais si tu es fan du C++ et Qt sache qu'il existe une très bonne librairie tiers pour utiliser la voie série



              Voilà une piste intéressante, à creuser donc (va falloir que je me mette au C++ ^^ )
              • Partager sur Facebook
              • Partager sur Twitter
                6 octobre 2011 à 10:29:59

                Bah après on retrouve la voie série dans les autres langages aussi... (j'avais fait un programme en Visual Basic à une époque, mais je suis pas fan et le conseille pas, trop de lag si on sollicite intensivement l'ensemble...)
                • Partager sur Facebook
                • Partager sur Twitter

                Retrouvez moi sur mon blog et ma chaine Youtube !

                Anonyme
                  6 octobre 2011 à 18:00:10

                  Salut,

                  J'ai la solution ! En fait je la connaissais déjà mais je l'avais complètement oubliée...

                  Bref, pour utiliser les données envoyées sur le port série, je te conseil Processing. C'est un logiciel qui permet de créer des applications java sans connaitre ce langage. D'ailleurs le langage utiliser est un peu comme Arduino.

                  Hier j'ai fait un petit programme pour tester. Le programme change simplement la couleur d'un cercle en fonction de la lettre envoyée par la carte Arduino (A ou B)


                  Voici le code Arduino à envoyer dans la carte :

                  const int led = 5;
                  
                  int i = 0;
                  char lettre;
                  
                  void setup() {
                    // initialize the serial communication:
                    Serial.begin(9600);
                    pinMode(led, OUTPUT);
                  }
                  
                  void loop() 
                  {
                      Serial.write('A');
                      digitalWrite(led, HIGH);
                      delay(2000);
                  
                      Serial.write('B');
                      digitalWrite(led, LOW); 
                      delay(2000);
                  }
                  




                  Et là, le code Processing :

                  import processing.serial.*;
                  
                  char inBuffer;
                  
                  Serial myPort;
                  
                  void setup()
                  {
                      myPort = new Serial(this, Serial.list()[1], 9600);
                  }
                  
                  void draw()
                  {
                    //myPort.write(65);
                    smooth();
                    background(255);
                    noStroke();
                    
                    //println(Serial.list());  permet de lister les ports existants
                  
                    
                    if(myPort.available() > 0) //si il y a reception sur le port
                    {
                      inBuffer = myPort.readChar(); //on inscrit dans une variable l'octet reçu
                      println(inBuffer); //au passage on l'ecrit pour qu'il soit visible
                    }
                    
                    if(inBuffer == 'A') //si le contenu du buffer vaut le caratère : A
                    {
                      // Bright red
                      fill(255,0,0); //couleur du cerle
                      ellipse(20,20,16,16); //cercle
                      text("OK", 30, 23); //ecriture du message "OK"
                    }
                    else if(inBuffer == 'B')
                    {
                      
                      // Bright green
                      fill(0,255,0);
                      ellipse(20,20,16,16);
                    }
                    else
                    {
                      // Bright green
                      fill(0,0,0);
                      ellipse(20,20,16,16);
                    }
                  }
                  


                  Bon, c'est minimaliste mais cela nous ouvre vers d'autres horizons !! :D
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 octobre 2011 à 20:06:47

                    C'est marrant on dirait que le deuxieme code est aussi pour Arduino XD (alors que en fait non...)
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Retrouvez moi sur mon blog et ma chaine Youtube !

                    Anonyme
                      6 octobre 2011 à 22:23:30

                      Du coup, je continu sur ma lancée, je vous propose un autre code qui permet de régler la luminosité d'une LED avec la touche " + " et " - " du clavier :

                      Code Arduino :

                      const int led = 5;
                      
                      int i = 0;
                      unsigned char reception;
                      
                      void setup() {
                        // initialize the serial communication:
                        Serial.begin(9600);
                        pinMode(led, OUTPUT);
                      }
                      
                      void loop() 
                      {
                        if(Serial.available() > 0)
                        {
                          reception = Serial.read();
                        }
                        
                        analogWrite(led, reception);
                      }
                      


                      Code Processing :

                      import processing.serial.*;
                      
                      int i = 0;
                      
                      Serial myPort;
                      
                      void setup()
                      {
                          myPort = new Serial(this, Serial.list()[1], 9600);
                      }
                      
                      void draw()
                      {
                        fill(i, 0, 0);
                        ellipse(25, 25, 25, 25);
                        
                        myPort.write(i);
                        delay(100);
                      }
                      
                      void keyPressed()
                      {
                        if (key == 43)
                        {
                          i++;
                          if(i > 254)
                          {
                             i = 255; 
                          }
                          if(i < 1)
                          {
                             i = 0; 
                          }
                        }
                        else if (key == 45)
                        {
                          i--;
                          if(i > 254)
                          {
                             i = 255; 
                          }
                          if(i < 1)
                          {
                             i = 0; 
                          }
                        }
                      }
                      
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        9 octobre 2011 à 12:30:24

                        Salut,

                        voilà une page qui recense chaque software qui peut communiquer avec Arduino. ;)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          19 décembre 2011 à 14:34:02

                          Topic très intéressant. Il serait pas mal d'ajouter les informations donner dans ce topic dans le tuto dur Arduino.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 décembre 2011 à 14:38:57

                            Si j'arrive à me débloquer du temps pendant les vacances je finirais la partie sur les grandeurs analogiques (il faut que je la relise) et je vous ferais un petit tuto sur Arduino qui communique avec Qt par exemple (et éventuellement aussi avecun programme en VB ou en .Net)
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Retrouvez moi sur mon blog et ma chaine Youtube !

                              19 décembre 2011 à 14:42:30

                              Merci c'est cool. Mais il faudrait que je me mette au C++ alors^^.

                              PS : C'est pas que je veux pas ce tuto, mais profite de tes vacances pour passer du temps avec ta famille ces vacances là ne sont pas tous les jours ce n'est qu'une fois par an.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                19 décembre 2011 à 19:50:44

                                Merci ^^

                                A ce propos, joyeux Noël à tous :)
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Retrouvez moi sur mon blog et ma chaine Youtube !

                                  19 décembre 2011 à 19:57:36

                                  Merci et toi aussi.

                                  PS : Joyeux Noël à tous de ma part aussi.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    20 décembre 2011 à 22:30:34

                                    Citation : Eskimon

                                    C'est marrant on dirait que le deuxieme code est aussi pour Arduino XD (alors que en fait non...)



                                    en fait, le pseudo-langage arduino est inspiré de processing...
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      4 novembre 2015 à 14:15:42

                                      bonsoir. désolé. je voudrait connecter ma carte Arduino à mon interface Java par le port série pour gérer la température d'un frigo mais je ne connais pas le code pour le faire.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        27 mars 2019 à 15:04:10

                                        Bonjour tout le monde .. j'ai une question a propos du arduino ,j'ai une application qui va lire des donnes d'un fichier texte et stocker dans cette dernière ,ma question c'est comment va transférer les donnes stocker dans l'application vers l'arduino .
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        utiliser les informations reçus par une arduino sur PC

                                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                        • Editeur
                                        • Markdown