Go Down

Topic: Petite aide pour une equation (Read 742 times) previous topic - next topic

romain

Code: [Select]
Mesure1=analogRead(mesure);
 Mesure2=5/1023*Mesure1;                  //conversion en volt
 Serial.print("Mesure (en V) : ");
 Serial.print(Mesure2, DEC);


Voila mon problème vient de l'équation il retourne a chaque fois 0 je ne comprends vraiment pas

Jean-François

#1
May 03, 2010, 07:40 pm Last Edit: May 03, 2010, 07:41 pm by jfs Reason: 1
Essaie ! :

Code: [Select]

Mesure1=analogRead(mesure);
Mesure2=0.0048875855*Mesure1;
 Serial.print("Mesure (en V) : ");
 Serial.print(Mesure2, DEC);


MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

B@tto

#2
May 03, 2010, 07:52 pm Last Edit: May 03, 2010, 07:53 pm by B@tto Reason: 1
Sinon c'est surement tes types de variable qui ne sont pas bons. Par exemple si mesure1 est un integer et que la mesure réelle est égale à 0.49V, bin mesures1 = 0 ...  ;)
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

romain

#3
May 04, 2010, 08:55 am Last Edit: May 04, 2010, 08:55 am by freeman32 Reason: 1
ah ok sa marche  :-? je comprends toujours pas pourquoi sa ne marchai pas mais bon il y a des mystère sur ce logiciel parfois et j'ai bien mis la variable en double


fdufnews

Quote
j'ai bien mis la variable en double

Le problème ce n'est pas la variable c'est la constante.
5/1023 c'est un calcul avec des entiers donc ç'est évalué à 0.
5.0/1023.0 c'est un calcul avec des flottants et là ça marche

stephpen

Bonjour,

La méthode de rajouter .0 à la fin marche bien, mais.
De façon plus rigoureuse on peut retyper à la volée la variable.

Exemple:
5/1023 calcul avec des entiers
5.0/1023.0 calcul avec des flottants
(float)5/(float)1023 calcul avec des flottants

Ca fonctionne aussi avec des variables:
Code: [Select]

int a;
int b;
float c;

c=float(a)/float(b);


C'est un typage à la volée, c'est à dire que a et b restent des int après le calcul.


Go Up