Go Down

Topic: Conseguir números decimales de la función map (Read 994 times) previous topic - next topic

sergioc_g

Hola estoy intentando medir números decimales con la función "map" y no lo consigo.

El código que tengo es el siguiente, pero no sé porque no me da el valor de salida con los valores decimales

float Vout;    //Variable salida valor convertido

void setup()
{
  Serial.begin(9600);  //Iniciamor el puerto Serie a 9600 bps
}

void loop()
{
    int lectura = analogRead(A0); //Variable lectura valor analógico
    Vout = map(lectura,0,1023,0,5.0);
    Serial.print ("Valor binario: ");
    Serial.print(lectura,BIN);  //Valor variable lectura en binario
    Serial.print(" --- ");
    Serial.print("Valor DEC: " );
    Serial.print(lectura,DEC);  //Valor variable lectura en decimal
    Serial.print(" --- ");
    Serial.print("Vout: ");
    Serial.println(Vout); //Convertimos la lectura a un valor de tensión entre (0V y 5V)
    delay(800);   
}

American2020

Hola, creo que se debe a que la función no devuelve decimales.

Mi truco, porque me topé con algo similar, fué hacer esto.

Vout = map(lectura,0,1023,0,500);

Vout = Vout / 100.00;

Creo que eso te devolverá con 2 decimales.

Ya si se estudia mejor una de las variables, no se bien cuál es, se le puede pedir que devuelva con decimales.
My 3x3x3 Led Cube

[url=http://arduino.cc/forum/index.php/topic,1642

sergioc_g

Muchas gracias por la idea, era lógica pero yo no supe verla.

Gracias.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy