Arduino Forum

International => Español => Proyectos => Topic started by: sergioc_g on Apr 18, 2013, 12:57 pm

Title: Conseguir números decimales de la función map
Post by: sergioc_g on Apr 18, 2013, 12:57 pm
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);   
}
Title: Re: Conseguir números decimales de la función map
Post by: American2020 on Apr 18, 2013, 03:14 pm
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.
Title: Re: Conseguir números decimales de la función map
Post by: sergioc_g on Apr 19, 2013, 12:11 am
Muchas gracias por la idea, era lógica pero yo no supe verla.

Gracias.