Problemas haciendo cuentas con arduino

584,-25,"102,76" 762,5,"13,72" 207,-27,"36,42" 869,24,"152,9" 763,6,"134,25" 223,-24,"39,24" 871,25,"153,26" 597,-23,"105,04" 288,-13,"50,67" 858,22,"150,97" 206,-27,"36,25" 753,4,"132,49" 852,21,"149,91" 206,-27,"36,25" 731,0,"128,62" 827,17,"145,51" 214,-26,"37,65" 856,22,"150,62" 740,2,"130,21" 208,-27,"36,6" 822,16,"144,63" 796,11,"140,06" 219,-25,"38,53" 200,-28,"35,19"

Esta serie de números representa un rompecabezas para mi. La primera "columna" es el valor que da el sensor. La segunda el valor que da arduino tras multiplicar el valor por 180 y dividirlo entre 1023. La tercera el valor que debería dar si la cuenta se hace en una calculadora u Hoja de Calculo.

¿Alguien sabe porque no hace bien la cuenta? ¿Alguna restricción? Solo quiero hacer una simple regla de tres. 1023 - 180 valor - X

Hola,

Como has declarado la variable que guarda el resultado? Es float?

Prueba algo como esto:

float fresultado; int sensor;

sensor=analogRead(pin); fresultado=sensor*180.0/1023.0;

Salu2

Tras el cambio que me has dicho el codigo queda asi:

... float position_v; int luz = 0; ...

luz = 1023-analogRead(ldr); position_v = (luz*180)/1023;

Sigue dando resultados parecidos incluyendo numeros negativos.

Para forzar las operaciones a float, cambia a: position_v = (luz*180.0)/1023.0;

Es decir, ponerle un decimal a las constantes de tu operación.

Muchas gracias, ya funciona. Ahora el programa ya esta a punto solo falta comprar nuevos sensores pues o no son adecuados o no van...

¿Donde puedo comprar microfonos como los que tienen internos los radiocassetes? Es para hacer los "oidos" de mi robot. Es que usar altavoces grandes no sirve porque solo se moverían con sonidos fortisimos. :'(

Me alegro que te funcione!!!

;)

Igor R.

Compra microfonos de condensador, son autoamplificados, les alimentas con una resistencia y un condensador y te dan mucha ganancia, ademas de que ajustan su ganancia automáticamente al nivel del sonido que haya, y en silencio son MUY sensibles. Los compras en cualquier tienda de electronica.