Páginas

jueves, 17 de enero de 2013

Sensor de temperatura DS18B20 Arduino


 

  

 

 

 

Sensor de temperatura DS18B20





Para medir la temperatura con un Arduino otra opción es utilizar el sensor Dallas DS18B20. Comparte las ventajas del Dallas DS18S20 aunque está pensado para que su montaje sea más sencillo, ya que sólo hay que conectarle la alimentación, la tierra y la entrada de datos. 

Por supuesto con una única entrada Digital del Arduino podemos conectar varios sensores. 









Este sensor suele venir montado en una pequeña placa con 3 pins, GND, VCC y DAT. El pin de datos lo conectamos a una de las entradas digitales del Arduino.







Para poder utilizar el Dallas DS18B20 necesitamos 2 librerías OneWire y DallasTemperature. Se pueden descargar de aquí:



DallasDescargar (URL Alternativa Descargar)




OneWire: Descargar (URL Alternativa Descargar)

  

Las descomprimimos en el directorio del IDE -> libraries.



Una vez conectado podemos utilizar este código para ver su buen funcionamiento.

Ejemplo de Código:

   // Sensor temperatura DS18B20

   // Conectamos el sensor de la siguiente forma:
   // GND -> GND
   // VCC -> 5V
   // DQ  -> D2
   // Por ejemplo conectamos a la entrada Digital 2
   // http://arubia45.blogspot.com.es/

   // Librerias necesarias
   #include <OneWire.h>
   #include <DallasTemperature.h>


   // Direcciones de los sensores de temperatura
       DeviceAddress Temperatura1;

   // Temperatura
   int DS18S20_Pin = 2; 
       //Pin de entrada donde conectamos el sensor
   OneWire ds(DS18S20_Pin); 
   DallasTemperature sensors(&ds);
   float TemperaturaA;


   void setup(){
     Serial.begin(9600);
     // Buscamos el sensor,
     sensors.begin();
   }

   void loop(){
     sensors.requestTemperatures();
     TemperaturaA = sensors.getTempCByIndex(0);
     Serial.print (TemperaturaA);
     Serial.println (" C");
     delay (1000);
   }



  
        Bajar ejemplo (URL Alternativa Bajar ejemplo)

   
  

 
 
Si queremos conectar varios sensores podemos hacerlo de la misma forma y utilizando los mismos pins donde habíamos conectado el anterior.


En el software añadimos los dispositivos que queramos utilizar.



Estos sensores se pueden comprar por menos de 4€, por ejemplo en eBay:  Comprar eBay









11 comentarios:

  1. Disculpa, hasta cuantos sensores soporta conectados a la misma entrada y como sabe el micro cual sensor es cual?

    ResponderEliminar
    Respuestas
    1. Hola, estos sensores no se conectan directamente al Arduino (Físicamente sí) lo que quiero decir que usan un BUS llamado OneWire que lo que hace es identificar a cada uno de los dispositivos dándoles a cada uno su identificador único (que no todos tiene que ser iguales). Este BUS lo desarrolló Dallas Semiconductor Corp. Y no se cuantos soporta pero supongo que dependerá de la versión de librerias que utilices.

      Un saludo.

      Eliminar
  2. Enhorabuena! y gгacіas!

    Debo subrayar que tu entrada en еl web sitе me ha ѕido realmente hábil!



    my web page ... Registrador de temperatura

    ResponderEliminar
  3. Hola:

    Un gran articulo!!

    Tan solo decirte que las librerias no estan disponibles para su descarga.

    gracias.

    ResponderEliminar
    Respuestas
    1. Gracias, lo reviso y te aviso cuando estén. De todas formas a la derecha tienes disponibles en el cuadro de BOX todos los ejemplos y librerías.

      Un saludo.

      Eliminar
    2. No me habia dado cuenta ;).

      Muchas Gracias!!!, sin duda no sera mi ultima visita a tu blog.

      Eliminar
  4. Buen dia, quisiera saber si es posible conectar dos lineas de sensores a una sola placa arduino

    ResponderEliminar
    Respuestas
    1. Hola, sí se pueden conectar varios sensores ya que se conectan al Arduino como un BUS con las librerias de DALLAS.

      Un saludo.

      Eliminar