Sensor de temperatura DS18B20

Descrición

O DS18B20 é un sensor de temperatura no cal se realiza a conversión analóxico-dixital dentro do encapsulado. Permite medir temperaturas desde o -55ºC ata os 125ºC

Utiliza o protocolo 1-wire para comunicarse, necesitándose un único pin de datos.

Podémolo atopar co encapsulado TO-92 (utilizado comunmente en transistores) ou recuberto dunha cuberta impermeable de aceiro inoxidable, moi útil se queremos mergullalo en líquidos e gases. Nós utilizaremos este último.

Montaxe

  • Negro: GND
  • Vermello: Vcc
  • Amarelo: Saída dixital
  • Resistencia de 4,7 kΩ  conectada en Pull-Up

Programas

Necesitamos dúas librerías: OneWire para a comunicación e a librería DallasTemperature propia do sensor.

Imos conectar un único sensor no pin dixital 5

// Sensor de temperatura DS18B20

#include <OneWire.h>
#include <DallasTemperature.h>

const int oneWirePin = 5;   // sensor conectado no pin dixital 5

OneWire oneWireBus(oneWirePin);
DallasTemperature sensor(&oneWireBus);

void setup() {
  
  Serial.begin(9600); // Iniciamos a comunicación serial
  sensor.begin();     // Iniciamos o bus 1-wire
  
}

void loop() {
  
  sensor.requestTemperatures(); // toma de temperatura dos sensores

  Serial.print("Temperatura: ");
  Serial.print(sensor.getTempCByIndex(0)); // Temperatura lida no sensor 0
  Serial.println(" ºC");

  delay(1000); 
  
}

Propostas

Mercamos este sensor porque queremos medir a temperatura do depósito de auga da cortadora láser e avisar cando supere os 35ºC. Ver aquí as condicións do proxecto.