Floating-point numbers can be as large as 3.4028235E+38 and as low as -3.4028235E+38. They are stored as 32 bits (4 bytes) of information.
Si ves la parte decimal cuantos digitos cuentas? 7
Entonces pretender imprimir 11 es una locura.
Uno entonces tendería a pensar, bueno uso double y tendré doble mantisa pero eso obligaría a usar 8 bytes y no es posible amenos que tengas un DUE. Double precision floating point number. On the Uno and other ATMEGA based boards, this occupies 4 bytes. That is, the double implementation is exactly the same as the float, with no gain in precision.
On the Arduino Due, doubles have 8-byte (64 bit) precision.
En resumen a menos que uses una librería especial, y que quepa en el ATtiny estas limitado en lo que podes conseguir.
Pero ahora mirando tu código tu haces una conversión a String y tal vez ahi haya un problema.
Lo analizo y luego comparto mi respuesta.
Hola Surbyte. Como siempre 1KGracias por estar del otro lado.
Mirá este nuevo algoritmo lo hice de cero con un NANO, para luego adaptarlo al ATtiny85.
#include <SoftwareSerial.h>
String Coordenada[11];
void setup(){
Serial.begin(9600);
Serial.println("Valor original : -3531.12731");
double a=-3531.12731;
double z=a+a;
if (a<0){a=a*-1;}
Serial.println(a,5);
String Entero=String(int(a));
Serial.println(Entero);
int b=((a-(int(a)))*100000);
Serial.println(b);
String Decimal=String(b);
String Coord="-"+Entero+"."+Decimal;
Serial.println(Coord);
for (int i=0; i<11; i++){
Serial.println(Coord.charAt(i));
}
Serial.println(z,6);
}
void loop(){}
Con este mejoro "espacio ocupado" excelente para el ATtiny85; pero solo me resta resolver la exactitud de mis decimales... siento que estoy muy cerca de resolverlo.
Este lo siento más concreto y robusto. me muestra de a un caracter "justo" para mostrarlo en el LCD del ATtiny85.
El ATtiny85 es una maravilla!!! todo este lío es por las librerías del lcd1602 que me obligan a mostrar de a un caracter x vez.
Ya le he puesto y probado con EXCELENTE respuesta un Mod. BluetoothHC05, Display LCD, y ahora el GPS. Imaginate lo Hermoso que es trabajar con 4 pines "justo lo necesario" para este proyecto.
Querido lector les recomiendo salir de la "zona de confort" que nos dan el NANO, UNO, MEGA y entrar en este mundo tan pequeño... te dispara la adrenalina y te enseña lo fantástico de un pequeño GRAN ATtiny85.
Una vez que lo veas; espero que coincidas conmigo. Mirá esta propuesta.
En este momento tengo mi ATtiny85 funcionando con el Bth y el lcd. solo me faltaba el GPS.
Ahora bien. vos me dirás ¿para que el bluetooth? bien para un relevamiento "topografico" donde estas en un camino Rural donde jamás has estado antes. este proyecto me permite ver DONDE ESTUVE.
Al ingresar las coordenadas en el Google Heart logro ver los caminos alternativos para llegar al mismo sitio que he estado; para reconocimiento del lugar. Bien esto es para que me sirve este proyecto. Que mi versión anterior fue con un UNO, la version II la hice con un NANO y ahora con el ATtiny85.
No necesito explicarte como se vá achicando mi GPS ¿no? es una verdadera maravilla.
Volviendo al punto. No usar librerías es una de las claves (por su reducida capacidad). Entonces pensé que si usaba mi celular de pantalla con el bluetooth como via de comunicación entre el ATtiny85 y mi celular ya no iba a necesitar del display.
Pero me salió tan genial su respuesta que me tiré de cabeza y le agregué el display para tener la "alternativa" de usarlo con Celular como Display o un Display propiamente dicho. Al pretender usar el Display también. Fue ahí donde seme complicó todo.
Uso un "unico canal" SoftwareSerial miCanal(3,4); donde lo comparto tanto para el Bluetooth como para el GPS. Y me funciona de maravilla.
Recibo por el mismo canal ya sea desde el bluetooth o del GPS y transmito "solamente" hacia el bluetooth.
Dicho todo esto. Fijate Surbyte. Como NO puedo usar la libreria TinyGPS.h leo miCanal.read() de a un caracter por vez y armo mi lectura. Hasta acá todo funciona barbaro.
Y en este hermosa mañana de Domingo creo que con esta último algoritmo que hice anoche + leer de a un caracter "creo", "creo". "CREO" ajaja que ya lo tendría todo resuelto.
Así comenzó todo... En un pote de Cif puse un Arduino UNO, Luego en una jabonera lo hice con un Arduino NANO v3. Este se podrá alimentar a un encendedor del auto, con bateria recargable... Espero contagiarte he inyectarte la ganas suficientes para que termines ese proyecto que abandonaste en un cajón; pensando que NO IBAS A PODER. te deseo lo mejor querido lector.