5024 días online: 13 años, 9 meses y 9 días · 1.859 artículos · 2.752 comentarios · 527 restaurantes · 429 películas · 239 series

Temperatura y Arduino
Publicado el jueves 31 de julio de 2008, hace 4230 días. Tecnología

Sigo añadiendo cosas y jugando con las posibilidades del Arduino que compré hace poco.

Anteriormente ya he conseguido añadir un reloj en tiempo real, para que sepa en que fecha vive, lo contaba en el artículo Fecha, Hora y Arduino.

Para medir temperaturas con un microcontrolador como el Atmel168 lo primero que se te ocurre después de buscar un poco por Internet es utilizar un Termistor, aunque no lo utilizaré.

Un Termistor es una resistencia que varía su valor en función de la temperatura a la que es sometida, esa resistencia se puede medir con una entrada analógica del Arduino y por tanto buscar una equivalencia en grados.

Hay un ejemplo muy sencillito en arduino.cc en el que se utiliza una tabla de equivalencias.

Pero este método es un método analógico y difícilmente puedes utilizar muchas sondas.

Después de jugar un tiempo empecé a pensar en utilizar una lectura digital.

Para obtener una lectura digital de temperatura encontré el integrado DS18B20 de la gente de Dallas. (el data sheet del DS18B20 aquí)

El DS18B20 es otra maravilla de integrado, tiene un tamaño minúsculo y solamente tres patas.

No necesita alimentación exclusiva, se puede alimentar en modo parásito por la misma línea de datos.

Para comunicarse con el Arduino utiliza el protocolo 1-wire utilizando una sola entrada digital de éste (en mi caso la 10) y se utiliza esa única entrada para todas las sondas que quieras poner en línea.

Para alimentarlo en modo parásito hay que hacer un pull-up de 4.7K a 5Vcc en esa misma entrada digital.

Hay una librería adaptada para su programación en el IDE del Arduino.

El código de ejemplo está aquí:

temperatura ds18b20

Es capaz de escanear todos los integrados de la línea y preguntar por la temperatura de cada uno de ellos haciendo una salida por el serie.

Compré cuatro DSB18B20 en ebay.com por unos 11€ los cuatro con gastos incluidos. Eso es unos 3€ por micro.

En cualquier caso, cuando me pueda hacer con un integrado DS1701 que utiliza el protocolo I2C igual que el integrado del reloj pero mide temperaturas, hago unas pruebas para no perder otra entrada digital.

Mi Arduino ya tiene hora y ya sabe la temperatura, ahora tengo que pensar en manejar un mínimo de ocho aparatos eléctricos.

Me pongo a ello, pronto más.

Toda la info que he usado en el proyecto en:

arduino.cc
phanderson.com
deadlylittlepills.com
arduino.cc
oopic.com

Related Posts Plugin for WordPress, Blogger...



navegación

por fecha:
| siguiente» «anterior |

con la misma categoría en Tecnología:
| siguiente» «anterior |

uno cualquiera, a suerte:
¡Salta!


otros artículos posiblemente relacionados


1 comentario
  1. jorge
    29/01/12 | 1:27 am | #1

    hola, me gustaria saber que tipo de sensor necesito para medir la temperatura de un freezer que registra entre -20° y 30° y pueda pasar esa infomacion a la arduino, saludos, desde argentina, jorge

comenta este artículo

Jose Carballada

Este es el blog personal de Jose Carballada.

El árbol y el hijo ya están hace tiempo, me faltaba el libro y se me ocurrió empezar ésto...






IBSN: Internet Blog Serial Number 0-637-975-222     QR Code carballada.com