TeslaToy

Práctica: Termómetro digital.

Introducción
El sensor de temperatura LM35 (http://www.ti.com/lit/ds/symlink/lm35.pdf) es un sensor
lineal que entrega 10 mv por cada grado centígrado medido, por ejemplo, a una
temperatura de 20 grados, el sensor entregará .2 volts. Nótese que la señal entregada por
el sensor puede tomar valores de entre 0 y 1.5 volts (150 °C), hasta el momento, sólo se
ha trabajado con señales digitales (con valores de 0 o 5 volts), entonces ¿Cómo será
posible leer señales cuyo valor oscila entre los 0 y 1.5 volts? La respuesta es sencilla: La
función analogRead() nos permite leer voltajes analógicos, dicha función utiliza el
convertidor analógico-digital (ADC por sus siglas en inglés) de la placa Arduino y es
tolerante a señales desde 0v hasta 5v.
En la siguiente imagen se señalan los pines de la placa Arduino que son compatibles con la
función analogRead(), estos son A0, A1, A2, A3, A4 y A5.

de lo contrario. el voltaje leído será = 0. los valores permitidos son A0. Material a utilizar   1 Arduino UNO 1 Sensor de temperatura LM35. Cabe destacar que el ADC de Arduino tiene una resolución de 10 bits.La función analogRead() Esta función recibe un solo parámetro: el pin analógico desde el cual se leerá un voltaje. analogRead devuelve un valor entre 0 y 1023 y es directamente proporcional al voltaje leído. A continuación se muestra una ecuación para convertir valores leídos por analogRead() a voltaje. A4 o A5. A1. 𝑣𝑜𝑙𝑡𝑎𝑗𝑒 = 𝑎𝑛𝑎𝑙𝑜𝑔𝑅𝑒𝑎𝑑(𝑋) ∗5 1023 Sustituyendo valores en esta ecuación podemos darnos cuenta de que al leer un valor de 1023 con analogRead. el voltaje leído será = 5. . cuando se lee un valor 0. por lo tanto 210 = 1024 valores distintos (entre 0 y 1023 hay 1024 valores enteros distintos). Objetivos   Aprender a utilizar función analogRead para leer una señal analógica. A3. Aprender a convertir valores entregados por analogRead a voltaje. A2.

Esquema de conexiones .

La ecuación para leer el sensor de temperatura y convertir el voltaje leído se obtiene de 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎 = 𝑎𝑛𝑎𝑙𝑜𝑔𝑅𝑒𝑎𝑑(𝐴0) ∗ 5 ∗ 100 1023. El programa inicia declarando el pin 13 como salida e inicializando el protocolo de comunicación serial a 9600 bits por segundo. En la función loop se hace la lectura del sensor de temperatura y el voltaje leído es convertido a °C en un solo paso. Nota: El divisor de analogRead(A0) es 1023. Al simplificar la multiplicación de 5 * 100 se obtiene el valor 500.0 (con punto decimal) esto es para que el resultado de la división sea un número con punto flotante. . cargar el código fuente adjunto a la placa Arduino y abrir la terminal serial. el resultado de la división es un número entero (0 en la mayoría de los casos).0 El 100 corresponde a la cantidad de unidades de 10 mv que hay en 1 volt. si no se usa el punto decimal.Desarrollo de la práctica Una vez conectado el sensor de temperatura.

donde X es la temperatura leída. . adicionalmente. Cuando la temperatura es menor a 50 °C el led conectado al pin 13 permanece apagado. cuando la temperatura alcanza los 50 °C el led conectado al pin 13 es encendido y el mensaje “La temperatura es muy alta!! X” es mostrado en el terminal serial.La lectura de la temperatura se realiza cada segundo y es mostrada en la terminal serial.