Enviar valores de excel a arduino con DAQ/PLX

Hola, estoy usando el paquete DAQ/PLX y no consigo enviar un valor con decimales desde una casilla excel a arduino.

Al ser un numero con decimales, he probado lo siguiente:

// Se declara la variable que será adquirida de Excel
     float Setpoint;

void setup() {
  
  //Se inicia la comunicación serie a 9600 baudios.
    Serial.begin(9600); 

  }
     
  
void loop() {

//Se define la hoja (Interface) y la celda (B34) donde leer el valor para Setpoint
     Serial.println("CELL,GET,FROMSHEET,Interface,B,34");
     
  //Se atribuye el valor a nuestra variable
     Setpoint = Serial.readStringUntil(10).toFloat();

}

Bueno, pues con este codigo, si por ejemplo en la celda B34 se escribe el numero 35.27, el valor de Setpoint serà 35, es decir, no tiene en cuenta los numeros de después de la coma (o el punto, que tambien he probado a cambiarlo en excel).

He probado a usar la funcion Serial.parseFloat pero no se del todo bien como usarla y tampoco sé si es lo que realmente necesito.

También he intentado usar la funcion Serial.readBytesUntil para luego usar la funcion union, pero tampoco sé como usarla correctamente ni si es lo que debo hacer para conseguir leer el valor con decimales.

nadie puede ayudarme?

Mira por aqui Arduino y Excel

Gracias por tu respuesta Kike_GL, he estado buscando por este enlace pero no dicen nada sobre mi duda. Voy a explicarme de nuevo:

Dejando de banda que estoy usando PLX, lo que quiero hacer es asignar a una variable, un valor con decimales que se esta imprimiendo en el puerto serie.

Ya sé como enviar un valor de excel al puerte serie, mi problema ahora es que no soy capaz de "recoger" todo ese valor y asignarlo a una variable, lo unico que he conseguido ha sido "recoger" la parte izquierda de la coma de dicho valor. Es decir:

Si valor=35.27, solo he conseguido asignar el 35, el 0.27 no.

Gracias por vuestra ayuda.

Prueba esto...

// Se declara la variable que será adquirida de Excel
float Setpoint;

void setup() { 
    //Se inicia la comunicación serie a 9600 baudios.
    Serial.begin(9600); 
}
       
void loop() {

    //Se define la hoja (Interface) y la celda (B34) donde leer el valor para Setpoint
    Serial.println("CELL,GET,FROMSHEET,Interface,B,34");
     
    //Se atribuye el valor a nuestra variable
    String num = "";
    while (Serial.available() > 0){
         char c = Serial.read(); 
         num = num + c;
         delay(1);
    }
    if (num != ""){
       Setpoint = num.toFloat(); 
       Serial.println(Setpoint);
    }
}

Hola Kike_GL, gracias por la ayuda, pero sigo obteniendo valores sin el decimal.

Cuando escribo .toFloat() no se colorea en naranja como sí lo hace .toInt() por ejemplo. Puede ser este el problema?

Bueno, otra forma de conseguir lo que quiero es:

En excel tengo datos con dos decimales tipo: 35,34

Añado otra columna a excel donde multiplico por 100 y me queda: 3534.

Leo desde arduino esta nueva columna sin decimales.

Divido entre 100 el valor leído por el puerto serial y ya tengo el valor 35,34 dentro de mi arduino para adjudicarlo a cualquier variable.

Esta es la forma que se me ocurre, ya que con lo que me has comentado Kike_GL, sigo obteniendo un 35 en arduino cada vez que intento leer el 35,34 de excel...

No hay alguna manera de leer byte por byte y luego juntarlo todo en arduino por ejemplo?

No entiendo porque la funcion .toFloat() no me funciona...