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.
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 !
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
Arrive un moment il faut aussi mettre les mains dans le cambouis 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
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++ )
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...)
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 !!
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;
}
}
}
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)
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.
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.
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 .
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.
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !