Afficher la valeur d'une tension [Résolu]

kiars95 8 Messages postés jeudi 5 août 2010Date d'inscription 23 août 2010 Dernière intervention - 5 août 2010 à 12:25 - Dernière réponse : cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention
- 23 août 2010 à 11:51
bonjour

au secours! je souhaiterais savoir comment faire pour afficher sur visual c#, une tension mesurée avec mon arduino duemilanove. Il faut savoir que j'ai placé sur mon interface un boutton et un texbox. aider moi please
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 9 août 2010 à 11:19
1
Merci
Bonjour

Tu dois avoir un driver pour piloter ta carte.
Ce driver possede une ou des interfaces, sans doute livrées dans une librairie ou une DLL

peux-tu nous donner plus d'information sur ces interfaces, car sans cela il nous est difficile de te répondre.

Bob
C# is amazing, enjoy it!

Merci cs_Robert33 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_Robert33
Meilleure réponse
kiars95 8 Messages postés jeudi 5 août 2010Date d'inscription 23 août 2010 Dernière intervention - 10 août 2010 à 11:53
1
Merci
bonjour Robert 33,
merci de m'aider, je t'explique la situation en esperant ke tu comprenne

En fait g crée une interfaces avec visual C# 2008 express edition mais le soucis c que pour lire mes entrées ou mes sorties analogiques afin d'afficher les tension sur mon interface il me fo (enfin ! je pense) cela:

using Microsoft.SPOT;
using System.Threading;
using Microsoft.SPOT.Hardware;
using GHIElectronics.NETMF.Hardware;
using GHIElectronics.NETMF.FEZ;

car le message d'erreur est le suivant :


Erreur 4 Le type ou le nom d'espace de noms 'AnalogOut' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)
et c'est introuvables dans les references

ou les trouver?
merci!

Merci kiars95 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de kiars95
Meilleure réponse
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 10 août 2010 à 17:06
1
Merci
Bonjour

je suppose que 'AnalogOut' est le point d'entré de ta librairie.
il faut que tu l'ajoutes à tes références de projet.
Dans le projet, sous "reférences", clique-droit et Ajouter une référence.
Ensuite tout dépend de la libraire d'interface fournie par le constructeur.
Soit c'est un composant Dotnet installé, dans ce cas il doit apparaitre dans la liste de l'onglet .NET
Soit c'est un composant Com, ou active-X, installé alors il est dans la liste de l'onglet COM
Si non, cliques sur l'onglet "Browse" ou "Recherche" et indique l'endroit ou se trouve le composant.

Bob
C# is amazing, enjoy it!

Merci cs_Robert33 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_Robert33
Meilleure réponse
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 19 août 2010 à 06:36
1
Merci
Bonjour

ça c'est du C++, pas du c#.

en remplaçant le #include <Firmata.h> par une clause using ... et en mettant en reference la DLL du constructeur
tu devrais pouvoir réutiliser une partie de ce code.

mais je ne peux pas te faire un cours C# ici, désolé.

Bob
C# is amazing, enjoy it!

Merci cs_Robert33 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_Robert33
kiars95 8 Messages postés jeudi 5 août 2010Date d'inscription 23 août 2010 Dernière intervention - 17 août 2010 à 12:56
0
Merci
bonjour Robert,

desole de repondre ke maintenant mais g eu kelke soucis enfin bref!
voila mon code arduino duemilanove
/* Supports as many analog inputs and analog PWM outputs as possible.
*
* This example code is in the public domain.
*/
#include <Firmata.h>

byte analogPin;

void analogWriteCallback(byte pin, int value)
{
pinMode(pin,OUTPUT);
analogWrite(pin, value);
}

void setup()
{
Firmata.setFirmwareVersion(0, 1);
Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);
Firmata.begin(11500);
}

void loop()
{
while(Firmata.available()) {
Firmata.processInput();
}
for(analogPin = 0; analogPin < TOTAL_ANALOG_PINS; analogPin++) {
Firmata.sendAnalog(analogPin, analogRead(analogPin));
}
}
sinon g plus simple

/*
Analog input, serial output

Reads an analog input pin, prints the results to the serial monitor.

The circuit:

* potentiometer connected to analog pin 3.
Center pin of the potentiometer goes to the analog pin.
side pins of the potentiometer go to +5V and ground

created over and over again
by Tom Igoe and everyone who's ever used Arduino

*/

float Value;

void setup() {
Serial.begin(9600);
}

void loop() {
// read the analog input into a variable:
float analogValue = analogRead(3);

// print the result:
Value = analogValue;
Serial.println(Value, DEC);

// wait 10 milliseconds for the analog-to-digital converter
// to settle after the last reading:
delay(10);
}



et je ne connais pas C# ( visual C# 2008 edition express)
mais je dois afficher en permanence la tension relevée sur le pin analogique et g tout essayé mais je n'y arriv pas et le temps press pour moi car mon stage fini dans kelke jour, si tu pouvais m'aider j'apprecierais enormément
merci kiars95
Commenter la réponse de kiars95
kiars95 8 Messages postés jeudi 5 août 2010Date d'inscription 23 août 2010 Dernière intervention - 19 août 2010 à 12:11
0
Merci
Salut,

je te remercie pour ton aide c cool
je pense que je v reussir, encore merci
tchaw
Commenter la réponse de kiars95
kiars95 8 Messages postés jeudi 5 août 2010Date d'inscription 23 août 2010 Dernière intervention - 20 août 2010 à 18:51
0
Merci
salut c encore moi
bonne nouvelle car g reussi a le faire mais apres une solution un new probleme
j' affiche ma tension dans textbox sachant quelle pe variée et pour observer sa variation je voudrais rajouter un progress bar, seulement je suis perdu
voici mon programme sous c#

ArduinoPort.Write(new byte[] { 82 }, 0, 1);
string tension2 = ArduinoPort.ReadLine();
textBox2.Text = tension2;
textBox2.Text = (textBox2.Text.Substring(0, textBox2.Text.IndexOf(".") + 3) + " V");
( jusqu'ici tt va bien la tension est affichée)
maintenant pour mon progressbar j ecris ceci
int tac = int.Parse(tension2);
progressBar1.Value = tac; mais ca marche pas malgré que sa compile bien j'uska ke je test et voici le mesage d'erreur :
Le format de la chaîne d'entrée est incorrect.
assurez-vous que le format des arguments de votre methode est correct
serais-tu pourquoi? merci d'avance pour t lumieres
Commenter la réponse de kiars95
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 22 août 2010 à 07:17
0
Merci
Bonjour

je pense que l'exception doit provenir de la conversion int.Parse(tension2);
en cas d'exception, peux-tu afficher la valeur ?

try
{
int tac = int.Parse(tension2); 
progressBar1.Value = tac; //mais ca marche pas malgré que sa compile bien j'uska ke je test et voici le mesage d'erreur : 
}
catch (Exception ex)
{
MessageBox.Show("Erreur de conversion :"+tension2);
}


C# is amazing, enjoy it!
Commenter la réponse de cs_Robert33
kiars95 8 Messages postés jeudi 5 août 2010Date d'inscription 23 août 2010 Dernière intervention - 22 août 2010 à 18:59
0
Merci
bonjour,
oui g essayé et ca me met le message erreur de conversion et effectivement la tension s'affiche dans le message
cela est du a koi alors
Commenter la réponse de kiars95
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 22 août 2010 à 20:04
0
Merci
Bonsoir

Peux-tu nous poster le message exact affiché par la ligne suivante:

catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(String.Format("Erreur : pour tension [{0}] : {1}", tension2, ex.ToString()));
}

Bob.
C# is amazing, enjoy it!
Commenter la réponse de cs_Robert33
kiars95 8 Messages postés jeudi 5 août 2010Date d'inscription 23 août 2010 Dernière intervention - 23 août 2010 à 00:30
0
Merci
desolé mais dois-je le rajouter a la suite ou remplacer l'ancien catch par celui ci
Commenter la réponse de kiars95
kiars95 8 Messages postés jeudi 5 août 2010Date d'inscription 23 août 2010 Dernière intervention - 23 août 2010 à 01:39
0
Merci
salut

en observant le message il affichait la tension suivante 72.0000000000000
g donc essayé
int tac = int.Parse(textBox2.Text.Substring(0, textBox2.Text.IndexOf(".")));
progressBar2.Value = tac;
et ca a marché
merci encore pour ta precieuse aide
cordialement
Commenter la réponse de kiars95
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 23 août 2010 à 11:51
0
Merci
De rien,

Pense à valider une réponse pour clore ce sujet


Bob
C# is amazing, enjoy it!
Commenter la réponse de cs_Robert33

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.