Sensor de Temperatura Con Arduino
Sensor de Temperatura Con Arduino
DOMINGO SAVIO
Sensor de Temperatura
Semestre: 4º Semestre
Sensor de Temperatura con Arduino
Objetivo Específicos:
Objetivo General:
Lista de Componetes:
1 Sensor de temperatura [TMP36]
1 Arduino Uno R3
1 LCD 16 x 2
3 220 Ω Resistencia
1 Rojo LED
1 Azul LED
1 Protoboard 1/2 galleta
2. Arduino:
¿Qué es Arduino?
Arduino es una plataforma de electrónica «open-source»o de código abierto cuyos principios son
contar con software y hardware fáciles de usar. Es decir, una forma sencilla de realizar proyectos
interactivos para cualquier persona.
Arduino se puede utilizar para desarrollar elementos autónomos, o bien conectarse a otros
dispositivos o interactuar con otros programas, para interactuar tanto con el hardware como con
el software. Sirve tanto para controlar un elemento, pongamos por ejemplo un motor que nos
suba o baje una persiana basada en la luz que haya gracias a un sensor conectado al Arduino, o
bien para transformar la información de una fuente, como puede ser un teclado, y convertir la
información a algo que entienda, por ejemplo, un ordenador.
Este es el nuevo Arduino Uno R3, utiliza el microcontrolador ATmega328. En adición a todas las
características de las tarjetas anteriores, el Arduino Uno utiliza el ATmega16U2 para el manejo de
USB en lugar del 8U2 (o del FTDI encontrado en generaciones previas). Esto permite ratios de
transferencia más rápidos y más memoria. No se necesitan drivers para Linux o Mac (el archivo inf
para Windows es necesario y está incluido en el IDE de Arduino).
La tarjeta Arduino Uno R3 incluso añade pins SDA y SCL cercanos al pin AREF. Es más, hay dos
nuevos pines cerca del pin RESET. Uno es el IOREF, que permite a los shields adaptarse al voltaje
brindado por la tarjeta. El otro pin no se encuentra conectado y está reservado para propósitos
futuros. La tarjeta trabaja con todos los shields existentes y podrá adaptarse con los nuevos
shields utilizando esos pines adicionales.
El Arduino es una plataforma computacional física open-source basada en una simple tarjeta de
I/O y un entorno de desarrollo que implementa el lenguaje Processing/Wiring. El Arduino Uno R3
puede ser utilizado para desarrollar objetos interactivos o puede ser conectado a software de tu
computadora (por ejemplo, Flash, Processing, MaxMSP). El IDE open-source puede ser descargado
gratuitamente (actualmente para Mac OS X, Windows y Linux).
Caracteristicas:
Microcontrolador: ATmega328
Voltaje Operativo: 5v
Voltaje de Entrada (Recomendado): 7 – 12 v
Pines de Entradas/Salidas Digital: 14 (De las cuales 6 son salidas PWM)
Pines de Entradas Análogas: 6
Memoria Flash: 32 KB (ATmega328) de los cuales 0,5 KB es usado por Bootloader.
SRAM: 2 KB (ATmega328)
EEPROM: 1 KB (ATmega328)
Velocidad del Reloj: 16 MHZ
3. LCD 16 x 2:
En este caso vamos a emplear un LCD de 16x2, esto quiere decir que dispone de 2 filas de 16
caracteres cada una. Los píxeles de cada símbolo o carácter, varían en función de cada modelo.
Pantalla LCD 16×2 1602 controlador compatible HD44780. Display LCD de 2 líneas de 16 caracteres
con controlador compatible HD44780, fondo verde y letras negras, retroiluminado. Gracias a su
iluminación posterior, los mensajes se ven claramente incluso en total oscuridad. Ideal para todos
tus proyectos de electrónica donde requieras ver información por pantalla. Podrás controlarlo
fácilmente con Arduino con la librería LiquidCrystal.
Características:
16 caracteres x 2 líneas
Caracteres de 5x8 puntos
Tamaño de caracter: 5.23 x 3 mm
Puede mostrar letras, números, caracteres especiales, y hasta 8 caracteres creados por el
usuario
Backlight de LED color azul
Caracteres color blanco
Interface paralela. Puede operar en modo de 8 bits, o de 4 bits para ahorrar pines del
microcontrolador
Posee controlador KS0066U o equivalente on-board (compatible Hitachi HD44780)
Voltaje de alimentación: 5 V
Vss: Gnd.
Vdd: +5 voltios
Vee: corresponde al pin de contraste, lo regularemos con un potenciómetro de 10K
conectado a Vdd.
Pines de control:
El Bus de datos bidireccional comprende desde los pines D0 a D7. Para realizar la comunicación
con el LCD podemos hacerlo utilizando los 8 bits del bus de datos(D0 a D7) o empleando los 4 bits
mas significativos del bus de datos(D4 a D7). En este caso vamos a explicar la comunicación con el
bus de 4 bits.
Una resistencia puede consistir en un hilo metálico largo, de un material no excesivamente buen
conductor, enrollado sobre un dieléctrico. Durante años se utilizaron de este tipo, pero hoy en día,
son de uso habitual las resistencias cerámicas.
Fórmula de la Resistencia:
p∗L
R=
S
De donde:
Características
Para saber el valor de un resistencia tenemos que fijarnos que tiene 3 bandas de colores seguidas
y una cuarta más separada. Las 3 primeras bandas nos dice su valor, la cuarta banda nos indica
la tolerancia, es decir el valor + - el valor que puede tener por encima o por debajo del valor que
marcan las 3 primeras bandas. Para aprender a calcular el valor de una resistencia visita el
siguiente enlace: Codigo de Colores de Resistencias.
5. LED:
Estructura de un Led
Los Led están formados por el material semiconductor que está envuelto en un plástico traslúcido
o transparente según los modelos. En la figura podemos observar la distribución interna.
Los primeros Leds se diseñaron para permitir el paso de la máxima cantidad de luz en dirección
perpendicular a la superficie de montaje, más tarde se diseñaron para difundir la luz sobre un área
más amplia gracias al aumento de la producción de luz por los Leds.
Criterios de elección:
Actualmente los Leds tienen diferentes tamaños, formas y colores. Tenemos Leds redondos,
cuadrados, rectangulares, triangulares y con diversas formas.
Los colores básicos son rojo, verde y azul, aunque podemos encontrarlos naranjas, amarillos
incluso hay un Led de luz blanca.
Las dimensiones en los Led redondos son 3mm, 5mm, 10mm y uno gigante de 20mm. Los de
formas poliédricas suelen tener unas dimensiones aproximadas de 5x5mm.
2. Ángulo de vista
Esta característica es importante, pues de ella depende el modo de observación del Led, es decir,
el empleo práctico de aparato realizado.
Cuando el Led es puntual la emisión de luz sigue la ley de Lambert, permite tener un ángulo de
vista relativamente grande y el punto luminoso se ve bajo todos los ángulos.
3. Luninosidad
4. Consumo
Color: Blanco
Protoboard (tableta para experimentación) también conocida como galleta
1/2 Galleta con 400 puntos de contacto
2 lineas de alimentación a cada lado
Con adhesivo para adherirlo a otras superficies
Posibilidad de conectar otros protoboard (de 1/2 galleta)
Útil para armar prototipos o proyectos de circuitos electrónicos
Compatible con alambre de protoboard y cables de conexión
Dimensiones: 8.2 x 5.5 x 0.85 cm
7. Esquema de montaje:
Primero importaremos las librerías de la LCD y de servos, luego procederemos a declarar todas las
variables y a nombrar los pines.
Librería LiquidCrystal: Esta librería contiene todo lo necesario para gestionar un display LCD con
Arduino. La librería nos permite crear un objeto que representa al display LCD y que contiene
todas las operaciones “de bajo nivel” para que a nosotros nos resulte fácil la programación de este
dispositivo.
Instrucción de configuración donde: (2, 3, 4, 5) son los buses de datos de la LCD, el pin 11 es el
Anabol y el pin 12 es el pin de selección de registro.
Declaramos las variables para definir los pines para la temperatura máxima y mínima:
Aquí es donde establecemos algunos criterios que requieren una ejecución única. Por ejemplo, si
nuestro programa va a usar comunicación serial, en el setup establecemos el comando Serial.begin
para indicarle al programa que vamos a iniciar la comunicación serial.
Luego en el void setup haremos cada configuración necesaria de los pines de salida, el tamaño de
la LCD su inicio y como se mostraran los mensajes en la LCD.
Dejamos unos espacios para las variables de temperatura correspondientes que se va imprimir y
cerramos el void setup.
¿Qué es el Void Loop? Loop en inglés significa lazo o bucle. La función loop en Arduino es la que
se ejecuta un número infinito de veces. Al encenderse el Arduino se ejecuta el código del setup y
luego se entra al loop, el cual se repite de forma indefinida hasta que se apague o se reinicie el
microcontrolador.
En el void loop, vamos a almacenar el valor leído por el sensor, lo vamos a convertir a grados
centígrados y grados Fahrenheit, luego vamos a configurar la LCD para que imprima el mensaje de
las temperaturas y seguido que imprima el valor en grados C y F del sensor, una vez terminado
vamos a seguir con las condiciones para los rangos de nuestro Smart sensor. Espesamos a
continuación:
Primero importaremos las librerías de la LCD y de los servos, luego procederemos a declarar todas
las variables y a nombrar los pines.
Llamamos a la variable que almacena el valor obtenido por el sensor y lo igualamos con
AnalogRead, el cual mide sus resultados entre 0 y 1023, para que nos salga un voltaje entre 0 y 5
voltios vamos a multiplicar el analogRead por 5/1024.
Con esta operación lo que hacemos es convertir el valor que nos devuelve el analogRead (0) que
va a estar comprendido entre 0 y 1023 a un valor comprendido entre los 0.0 y los 5.0 voltios
Declaramos estas variables tipo float para guardar los valores de lectura del sensor, así como las
conversiones a realizar para convertir la tensión a grados centígrados, y con los grados centígrados
lo convertimos a grados Fahrenheit
Luego haremos cada configuración necesaria de los pines de salida, el tamaño de la LCD para que
muestre los mensajes en sus respectivas posiciones.
Por ultimo creamos un bucle con un If, cuando el valor leído sea mayor e igual a 40 grados
Centigrados entonces se encenderá el led rojo y si el valor leído sea menor e igual a 15 grados
Centigrados se encenderá el led azul. Si no se cumple ninguna los leds permanecerán apagados lo
que significa que está en una temperatura ambiente.