Sensor de temperatura DS18B20 com Esp8266

O sensor de temperatura DS18B20 é um sensor de temperatura digital de um fio. Isso significa que ele só precisa de uma linha de dados (e GND) para se comunicar com a placa ESP8266. Cada sensor de temperatura DS18B20 tem um código serial exclusivo de 64 bits. Isso permite que você conecte vários sensores ao mesmo fio de dados. Assim, você pode obter a temperatura de vários sensores usando apenas um GPIO.

O sensor de temperatura DS18B20 também está disponível na versão à prova d’água.

Apresentando o sensor de temperatura DS18B20

O sensor de temperatura DS18B20 é um sensor de temperatura digital de um fio. Isso significa que ele só precisa de uma linha de dados (e GND) para se comunicar com o ESP8266.
Ele pode ser alimentado por uma fonte de alimentação externa ou pode obter energia da linha de dados (chamada de “modo parasita”), o que elimina a necessidade de uma fonte de alimentação externa.

Cada sensor de temperatura DS18B20 tem um código serial exclusivo de 64 bits. Isso permite que você conecte vários sensores ao mesmo fio de dados. Assim, você pode obter a temperatura de vários sensores usando apenas um GPIO.

O sensor de temperatura DS18B20 também está disponível na versão à prova d’água. Como mostrado na foto anterior.

Veja a seguir um resumo das especificações mais relevantes do sensor de temperatura DS18B20:

  • Comunica-se por meio de barramento de um fio
  • Faixa de alimentação: 3,0V a 5,5V
  • Faixa de temperatura operacional: -55ºC a +125ºC
  • Precisão +/-0,5 ºC (entre a faixa de -10ºC a 85ºC)

Para obter mais informações, consulte o datasheet do DS18B20.

Peças necessárias
Para concluir este tutorial, você precisa dos seguintes componentes:

  • ESP8266 – (Qualquer modelo, preferencialmente Versão de Dev)
  • Sensor de temperatura DS18B20 (um ou vários sensores) – versão à prova d’água
  • Resistor de 4,7k Ohm
  • ProtoBoard
  • Fios de jumper

Diagrama esquemático do ESP8266 com DS18B20

Como mencionado anteriormente, o sensor de temperatura DS18B20 pode ser alimentado pelo pino VDD (modo normal) ou pode derivar sua energia da linha de dados (modo parasita). Você pode escolher qualquer um dos modos.

Modo parasita

 

Modo normal

Observação: neste exemplo, estamos conectando a linha de dados do DS18B20 ao GPIO 4, mas você pode usar qualquer outro GPIO adequado.

Observação: se estiver usando um ESP-01, o GPIO 2 é o pino mais adequado para se conectar ao pino de dados do DS18B20.

 

Instalação de bibliotecas para o DS18B20

Para fazer a interface com o sensor de temperatura DS18B20, você precisa instalar a biblioteca One Wire e a biblioteca Dallas Temperature. Siga as próximas etapas para instalar essas bibliotecas.

  1. Abra o Arduino IDE e vá para Sketch > Include Library > Manage Libraries. O Gerenciador de bibliotecas deve se abrir.
  2. Digite “onewire” na caixa de pesquisa e instale a biblioteca OneWire.

  1. Em seguida, procure por “Dallas” e instale a biblioteca Dallas Temperature.

Depois de instalar as bibliotecas, reinicie o Arduino IDE.

 

Código (DS18B20 único)

Depois de instalar as bibliotecas necessárias, você pode carregar o seguinte código no ESP8266. O código lê a temperatura do sensor de temperatura DS18B20 e exibe as leituras no monitor serial do IDE do Arduino.

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

// GPIO ao qual o DS18B20 está conectado
const int oneWireBus = 4;     

OneWire oneWire(oneWireBus);
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(115200);
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures(); 
  float temperatureC = sensors.getTempCByIndex(0);
  float temperatureF = sensors.getTempFByIndex(0);
  Serial.print(temperatureC);
  Serial.println("ºC");
  Serial.print(temperatureF);
  Serial.println("ºF");
  delay(5000);
}

Há muitas maneiras diferentes de obter a temperatura dos sensores de temperatura DS18B20. Entretanto, se estiver usando apenas um único sensor, essa é uma das maneiras mais fáceis e simples.

 

Como o código funciona

Comece incluindo as bibliotecas OneWire e DallasTemperature.

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

 

 

Você está gostando do projeto, ele completo é encontrado no Ebook com este e outros, abaixo.

Guia de Esp8266 com sensores e módulos

Please follow and like us:
error0
fb-share-icon
Tweet 20
fb-share-icon20