Función constrain() para arduino

 Cuando recibimos los diferentes niveles de intensidad eléctrica de un sensor en uno de nuestros pines analógicos, el Analogic to digital converter (modificador de analógico a digital) de nuestro microcontrolador transforma esa intensidad en un dato digital almacenado en 10 bits. Por tanto, tenemos una escala de valores posibles desde 0 hasta 1023, donde 0 equivale a 0 voltios y 1023 equivale a 5 voltios (o el valor máximo establecido con la función  analogReference()).

 Al igual que tu paleta de pádel, los sensores suelen disponer de un punto dulce. Imagina un sensor de temperatura que nunca baja de una lectura de 20, haga el frio que haga, y que cuando se encuentra en el infierno no pasa casi nunca del valor 900. Ahí es donde nos interesa asegurarnos de que todos los valores obtenidos estarán en el punto dulce de nuestro sensor, y para ello usaremos una línea de código como la que sigue:

 constrain(valor_del_sensor, 20, 900);

 Con esta función nos aseguraremos de que todos los valores devueltos por el sensor estarán dentro de ese rango, pues una lectura ocasional de 18 quedará en 20 y una lectura ocasional de 901 quedará en 900. Es muy útil para, más tarde, mapear los valores de nuestro sensor a un pin digital y mostrarlos a través de, por ejemplo, una  pantalla LCD.