Sensor de temperatura DS18B20 com Arduino

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 Arduino. 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 pino.

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 Arduino.

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.

A tabela a seguir mostra como você deve conectar o sensor DS18B20 à sua placa Arduino

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 pino digital do Arduino.

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

Aqui está um resumo das especificações mais relevantes do sensor de temperatura DS18B20:

  • Comunica-se por meio de comunicação de barramento de um fio
  • Faixa de fonte de alimentação: 3,0 V a 5,5 V
  • 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 a folha de dados do DS18B20.

Peças necessárias
Para mostrar a você como o sensor funciona, criaremos um exemplo simples que lê a temperatura do sensor DS18B20 com o Arduino e exibe os valores no Monitor serial do Arduino.

Aqui está uma lista das peças que você precisa para concluir este tutorial

  • Arduino Uno (Original ou Generico)
  • Sensor de temperatura DS18B20 (um ou vários sensores) – versão à prova d’água
  • Resistor de 4,7k Ohm
  • ProtoBoard
  • Fios de jumper

Esquema
O sensor pode operar em dois modos:

Modo normal: É necessária uma conexão de 3 fios. Você fornece energia ao pino VDD. Aqui está o esquema que você precisa seguir:

Modo parasita: Você só precisa de dados e GND. O sensor obtém sua energia da linha de dados. Nesse caso, aqui está o esquema que você precisa seguir:

Você pode ler a temperatura de mais de um sensor ao mesmo tempo usando apenas um pino digital do Arduino. Para isso, basta conectar todos os pinos de dados dos sensores a um pino digital do Arduino.

Código de upload – DS18B20 único

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

Instalação de bibliotecas

  1. 1. Abra o Arduino IDE e vá para Sketch > Include Library > Manage Libraries. O Gerenciador de bibliotecas deverá ser aberto.
  2. 2. Digite “OneWire” na caixa de pesquisa e instale a biblioteca OneWire de Paul Stoffregen.

3. Em seguida, procure por “Dallas” e instale a biblioteca Dallas Temperature de Miles Burton.

Depois de instalar as bibliotecas necessárias, carregue o código a seguir em sua placa Arduino. Esse sketch é baseado em um exemplo da biblioteca Dallas Temperature.

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

#define ONE_WIRE_BUS 4

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

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

void loop(void){ 
  sensors.requestTemperatures(); 
  
  Serial.print("Temperatura Celsius: ");
  Serial.print(sensors.getTempCByIndex(0)); 
  Serial.print(" - Temperatura Fahrenheit: ");
  Serial.println(sensors.getTempFByIndex(0));
  delay(1000);
}

Há muitas maneiras diferentes de obter a temperatura dos sensores de temperatura DS18B20. 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 Arduino com sensores e módulos

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