Programa en Arduino para Hallar el peso que aguantan 2 Columnas de un puente.

Soy una persona mayor e intentare ser lo más explicito posible.
Como ejemplo se trata de un programa en Arduino que halla un número decimal Dividiendo 45 por 6.
Float Num 1 = 45
Float Num 2 = 6
Float Res = Num 1/Num 2 ;
Serial. begin ( 9600 ) ;
Serial. Println ( Res 1 | ) ;

Gracias.
 
1) No es necesario declarar Num1 y Num2 como Float, sino Int.

2) Los lenguajes de programación discriminan mayúsculas y minúsculas.

3) Un espacio equivale a separar términos, así que "Float Num 1", son 3 cosas diferentes, y obvio genera errores.

4) Lee las normas del foro (mira mi firma), porque no se te entiene cuál es la consulta.

Lee aquí; [Solucionado] Mi codigo / microcontrolador no funciona
 
No suelo usar arduino, asi que probablemente exista una función más "moderna" para solucionar lo que vos necesitás:

C:
....
char digitos[15];    //Defino un vector de 15 elementos que se usará como String (cadena de caracteres) para mostrar el resultado

...
float num1, num2, resultado; //Defino las variables flotantes que voy a utilizar

...
num1=1;    //Asigno un valor a la variables flotantes => por ej. a partir de una lectura de un sensor
num2=3;

...
resultado=num1/num2; //Realizo una operación matemática con las lecturas y lo almaceno en la variable resultado

...
sprintf(digitos, "%.2f", resultado); //Transformo el resultado flotante obtenido en un String y fuerzo que solo me muestre 2 decimales '%.2f', si quisiera 3 => '%.3f', etc

...
Serial.begin(9600);    //Configuro el puerto serie
Serial.print(digitos);    //Envío el String (la cadena de caracteres) con los resultados obtenidos
...

En este ejemplo no me interesa optimizar el uso de memoria ni de operadores, solo simplificar lo máximo posible.
 
Soy una persona mayor e intentare ser lo más explicito posible.
Como ejemplo se trata de un programa en Arduino que halla un número decimal Dividiendo 45 por 6.
Float Num 1 = 45
Float Num 2 = 6
Float Res = Num 1/Num 2 ;
Serial. begin ( 9600 ) ;
Serial. Println ( Res 1 | ) ;
Sigo sin entender cual es su consulta y mucho menos entiendo que tiene que ver el calculo de un puente con ese pseudo fragmento de código.
Yo tampoco soy joven pero al menos trato de explicitar en que pretendo recibir ayuda.
Por que no hace un esfuerzo y nos cuenta en que necesita que lo ayudemos???
 
Acá aclaran que el "sprintf" NO soporta "float", aunque dan alternativas....
Existe sprintf en arduino?

Es cuestión de probar

No pareciera estar bien implementado ahí, usan enteros, está raro. Posiblemente el argumento que usé "%.2f" no funcione, andá a saber.

Por que no hace un esfuerzo y nos cuenta en que necesita que lo ayudemos???

Yo creo que la raíz de su duda está en como enviar un valor flotante por puerto serie. Pero estaría bueno que lo confirmase.
 
No pareciera estar bien implementado ahí, usan enteros, está raro. Posiblemente el argumento que usé "%.2f" no funcione, andá a saber.

El problema del punto flotante con sprintf no es en sí del entorno Arduino sino del linkeo.

Hay que agregar una opción en el archivo platform.txt ;

Código:
compiler.c.elf.flags=[todo lo que estaba aca]  -Wl,--gc-sections -Wl,-u,vfprintf -lprintf_flt -lm

Y ahora sí, el switch %.2f funcionará como debe :)


Pero esto debe usarse con precaución, porque si no está por defecto, con alqo debe " chocar".... Y lo único que he notado es una mayor longitud de HEX, cosa lógica porque te mete mas librerias.


Yo creo que la raíz de su duda está en como enviar un valor flotante por puerto serie. Pero estaría bueno que lo confirmase.

Pienso lo mismo, aunque con la energía que mostró hasta ahora dudo que aclare algo.
 
Atrás
Arriba