Gracias por tu respuesta.
Trato de explicarme mejor. La variable temperatura, va cambiando con el tiempo.
125.7
80.4
9.5
-5.8
-16.3
Si quiero visualizar estos valores en un display 7 segmentos, debo de empezar por separar y dirigir cada uno de los dígitos al display correcto. Centenas al de centenas, decenas al de decenas etc.
Los valores los paso a un string, donde puedo separar los dígitos uno a uno, para enviarlo al display correspondiente.
Sería fácil, si el string lo pudiera leer de derecha a izquierda. Posición 0 corresponde a décimas. Posición 1 a las unidades y así consecutivamente hasta llegar a un espacio en blanco, que me indicaría que he terminado la lectura.
Esto lo haría usando (variable.charAt(x)) donde x sería la posición del dígito que quiero extraer, solo que esto empieza a contar los caracteres de izquierda a derecha, por lo que al ser variable el número de dígitos, según la temperatura medida, no puedo saber si empiezo leyendo centenas, decenas o unidades.
Lo probé usando
{
float lectura = analogRead(A0); //Se declara la variable lectura, que se inicializa con
//el valor presente en el pin de entrada analogico A0
float voltaje = 2.41 /1024 * lectura ;//Se declara la variable voltaje y se inicializa
//asignándole el valor de lectura convertido en voltios
float temp = voltaje * 100 -50 ; //Se declara la variable temp, que se inicializa con el valor de
//voltaje trasladado a grados centígrados. (TMP35)
String (despiece) = String (temp); //Se declara la variable despiece que se inicializa con el valor
//de temp convirtiéndolo en un string de caracteres
Serial.print(despiece.charAt(0)); //separo cada uno de los caracteres. (Desgraciadamente
// empieza de izquierda a derecha, por lo que no me sirve)
Serial.print(" ") ;
Serial.print(despiece.charAt(1));
Serial.print(" ") ;
Serial.print(despiece.charAt(2));
Serial.print(" ") ;
Serial.print(despiece.charAt(3));
Serial.print(" ") ;
Serial.println(despiece.charAt(4));
delay(2000);
Se me ocurre alguna solución, como invertir el orden de los caracteres en el string, o utilizar length, lo que me permitiría contar los caracteres del string y saber si empiezo por las centenas, decenas o unidades.
De todas formas, si me sugieres otra forma de hacerlo, lo agradezco. (Se que hay bloques de displays que utilizan pocos pines de entrada, y librerías que los manejan sin problemas, pero esto es un proyecto dirigido al aprendizaje.
Gracias,
Manuel R. Espejo