probleme de calcul !

bonjour, pour calculer la consommation instantanée en watt de mais appareil grâce a un vieux compteur EDF récupérer il faut que j'effectue le calcule suivant : watt = 2.5/(x/3600) watt que j'ai déclarer en float avant et x qui correspond au temps en secondes mis par la roue du compteur pour faire un tour et donc 2.5 wh ce qui de me permet de récupérer la consommation instantanée. le problème est que ce calcule me rend sur l'arduino si x = 4 0,00111111111111111111111111111111 ce qui correspond seulement a la division de 4 par 3600 et non mon calcul ! avez vous des idées ?

bonjour, mets ton code, ca sera plus explicite

int etatCapteur; int compt; float wh; float w;

void setup() { Serial.begin(9600); pinMode(7 , INPUT);//pin ou est brancher mon capteur }

void loop() { Serial.print(wh); Serial.println(" watt heure"); etatCapteur = digitalRead(7); if (etatCapteur == HIGH) {//si on recoit un signal haut donc pas de bande noir sur le disque du compteur

compt++;// on ajoute 1 a la variable compt pour calculer les wh total delay(1000);

}else{

if(compt == 0){

}else{// si la variable compt n'est pas ecale a zero

w = 2.5/(compt/3600);// je fais le calcule de la consmation instaner Serial.print(w); Serial.println(" watt");

wh = wh + 2.5;//le calcule de wh totale

compt = 0;//puis remis du compt a zero pour la prochaine messure }

Attention au calcul en nombre entier

w = 2.5/((float) compt/3600.0);// je fais le calcul de la consommation instanée

Ou mieux w = 9000.0 / (float) compt; pour économiser un calcul

Attention vos int sont limités à 32767 comme valeur max

J-M-L:
Attention au calcul en nombre entier

w = 2.5/((float) compt/3600.0);// je fais le calcul de la consommation instanée

Ou mieux w = 9000.0 / (float) compt; pour économiser un calcul

Attention vos int sont limités à 32767 comme valeur max

ton calcule me semble pas mal !
je le testerer demain
pour les int je ni avait pas penser mais il seront inférieur a 32767 normalement car la valeur est exprimer en watt et que j’aurais jamais 32767 watt !
merci

cela marche parfaitement ! merci de votre aide !

De rien!

Petite anecdote : une fusée c'est écrasé à cause d'une erreur presque similaire, attention aux types de variables , histoire de ne pas planter une fusée un jour(lol).

J'y penserait lors du lancement de ma prochaine fusée !

-Standby: Petite anecdote : une fusée c'est écrasé à cause d'une erreur presque similaire, attention aux types de variables , histoire de ne pas planter une fusée un jour(lol).

Tu entendrais par là que l'erreur est humaine? :grin:

Bonjour,

Jambe: Tu entendrais par là que l'erreur est humaine? :grin:

Et le pardon divin :smiling_imp:

Jambe: Tu entendrais par là que l'erreur est humaine? :grin:

https://fr.wikipedia.org/wiki/Vol_501_d%27Ariane_5