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.