Pages: [1]   Go Down
Author Topic: Conseguir números decimales de la función map  (Read 718 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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);   
}
Logged

Offline Offline
Sr. Member
****
Karma: 9
Posts: 252
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

My 3x3x3 Led Cube

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

Offline Offline
Newbie
*
Karma: 0
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Gracias.
Logged

Pages: [1]   Go Up
Jump to: