Arduino - Una funcion matematica siempre me duelve un entero, nunca con decimales

 
Vista:

Una funcion matematica siempre me duelve un entero, nunca con decimales

Publicado por Guido (1 intervención) el 02/09/2021 20:39:09
Deberia devolverme valores con al menos 2 decimales pero siempre son entero.. ej 1.00 5.00

</#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
#include <Math.h>

LiquidCrystal_I2C lcd(0x27, 20, 4); // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("ROIMETRO");
lcd.setCursor(0, 1);
lcd.print("0 WATTS");
}

void loop() {
double sensorValue = analogRead(A0);
double fpwr=12762150 + (-0.5844501 - 12762150)/(1 + pow((sensorValue/4226953),1.460398));

if (sensorValue != 0) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.setCursor(0, 1);
lcd.print("WATTS");
Serial.println(fpwr,7);
}
delay(1000);
}/>

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Una funcion matematica siempre me duelve un entero, nunca con decimales

Publicado por Xavier con J (2 intervenciones) el 27/11/2021 04:24:30
Esta expresión se evalúa como entero: `sensorValue/4226953`. Hay varias formas para que el compilador la considere como número real (con decimales), la más fácil es que agregues los decimales al valor entero:

1
sensorValue/4226953.0

Lo mismo con el resto de valores enteros que estás utilizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar