Conversión de los datos a grados centígrados
Como hemos dicho antes, cuando se ejecuta la función analogRead
Arduino devuelve valores enteros entre 0 y 1023, que son precisamente los números que acabas de ver en el monitor serie. Estos valores resultan ser directamente proporcionales al voltaje aplicado en el pin correspondiente. Teniendo en cuenta que cuando analogRead
devuelve el valor 0 el voltaje aplicado al pin es 0 voltios, y que cuando analogRead
tiene un valor de 1023 el voltaje es 5 voltios, podemos transformar el número devuelto por analogRead
a voltaje (en voltios) sin más que hacer:
De acuerdo con la hoja de datos del sensor de temperatura LM35, la relación entre el voltaje y la temperatura en grados centígrados es lineal, con una equivalencia de 10 milivoltios = 1 °C. Así que primero pasamos los voltios a milivoltios:
y, finalmente, convertimos los milivoltios a grados centígrados:
Con estas operaciones matemáticas sencillas hemos logrado convertir los valores brutos medidos por la placa Arduino en grados centígrados.
Por cierto, debes tener en cuenta que los valores del voltaje y la temperatura ya no son números enteros, sino decimales. Recuerda que, en el lenguaje Arduino, cuando declaramos una variable debemos especificar el tipo de valores que va a contener. La palabra que debes usar para indicar que la variable tomará valores reales es float
.
Así, el programa final es:
Probablemente te habrás dado cuenta de que las instrucciones que comienzan con una doble barra (//
) no son más que comentarios, y no se ejecutan. ¡Incluye siempre comentarios que expliquen tu código!
Cuando subas este sketch a la placa, verás valores similares a los siguientes en el monitor serie:
Estos valores representan la temperatura medida por el sensor, pero ahora expresada en grados centígrados. ¡Mucho mejor así!
Last updated