buenas noches mi duda es la siguiente, es posible escalar un sensor mediante arduino cuyo valor mínimo es 224 y máximo 1023 de 0 a 500 como se hace con la función map en el ide ? ya que solo logro escalar el valor máximo pero no puedo elegir ejemplo que 500 sea 0 y 1023 sea el máximo, agradezco su pronta respuesta.
Hola,
Si se puede ya que solo debes hayar la pendiente y el punto de corte de la escala y aplicarla con los elementos de multiplicar y sumar.
Para el mismo ejemplo que pone si quiere escalizar un valor de 224 - 1023 a 0 - 500 la ecuación es y = 0,6258x - 140,18
Entonces solo debe multiplicar la salida 0 - 1023 por 0,6258 y restar 140,18.
Si por ejemplo el ADC te da 224 sería:
Y=(224*0,6258)-140,18
Y=-0.008 que es cero aproximadamente.
Y de la misma manera si el ADC da 1023 sería:
Y=(1023*0,6258)-140,18
Y=500,0134
Que aproximadamente es 500 y funciona en todo el intervalo que se necesita porque es una ecuación lineal básica.
Cordial saludo,
Javier Velásquez.
Muchas gracias compañero te agradezco y ojalá sea posible saber cómo se hace ese procedimiento de mapeo a fondo ya que me gustaría probar con múltiples rangos, muchas gracias.
E intentado realizar la formula y el problema que tengo es que no me entrega datos cuando el adc es multiplicado por un valor por debajo del 0 ejemplo el 0,6258 si cambio ese valor por encima de 0 si entrega valores pero no con la escala deseada, que puedo hacer en ese caso ?
Hola,
Si no le funciona cuando digita decimales es porque está poniendo un punto decimal incorrecto (debe usar punto 0.6 No coma 0,6) ó porque le falta darle la tecla «enter» después de digitar el número.
Saludos,
Javier Velásquez
Hola,
Para escalar en este caso de salidas de sensores lineales se usa la ecuación de primer grado y=mx+b (Ecuación de la recta).
Puede encontrar mucha información y ejemplos en YouTUBE.
https://www.youtube.com/watch?v=ZbVaAE632U8
Cordial Saludo,
Javier Velásquez