Sensor de Temperatura DS18B20 no Arduino
DS18B20 é
um sensor de temperatura digital que trabalha com o protocolo 1-Wire da Maxim
IC. Mostra a temperatura em graus Celsius de -55 a 125, com precisão de 9 a 12
bits. Cada sensor tem um número de série de 64 bits gravado nele - permite um
número enorme de sensores para ser usado em um barramento de dados.
Datasheet
Datasheet
Características:
· Cada dispositivo tem um código de série de 64
bits exclusivo armazenado em uma ROM onboard
·
A capacidade Multidrop simplifica as aplicações
de detecção de temperatura distribuída
·
Pode ser alimentado a partir da linha de dados (Modo
parasita / Parasite mode).
·
Tensão de entrada 3.0V a 5.5V
·
Converte a temperatura em palavra digital de 12
bits em 750 ms (máx.)
·
Configurações de alarme não volátil definidas
pelo usuário (NV)
·
O comando de busca de alarmes identifica e
endereça dispositivos cuja temperatura está fora dos limites programados
(condição de alarme de temperatura)
Materiais necessários
1. Arduino
– De sua preferência, mas utilizamos o Uno no tutorial;
2. DS18B20;
3. Resistor
de 4.7 kΩ;
4. Placa
de ensaio (matriz de contato / protoboard /breadboard );
5. Fios
/ Jumpers;
6. Bibliotecas
Onewire e DallasTemperaure;
Bibliotecas
Para instalar as bibliotecas,
basta abrir a IDE do Arduino, e ir em:
·
Sketch
·
Incluir Biblioteca
·
Gerenciar Bibliotecas
·
Buscar por Onewire e DallasTemperaure;
·
Clicar em cima e depois instalar
Para este tutorial utilizei
* OneWire by Jim Studt, Tom Pollard, Robin
James … Versão 2.3.3
Access 1-wire temperature sensors, memory and
other chíps.
* DalIasTemperature by Miles Burton , Tim
Newsome… Versão 3.7.6
Arduino Library for Oallas Temperature ICs
Supports DS18B20, DS18S20, DS1822, DS1820
Caso não achar ou der algum erro segue abaixo os links para download e fazer a instalação manual
OneWire
DallasTemperaure
Circuito
Com vários DS18B20 em série:
Caso queira testar o modo
parasita:
Código
//********************************************************************************
// Bibliotecas necessarias
#include <OneWire.h>
#include <DallasTemperature.h>
// definindo o sensor no pino 2
// OneWire nome(pino)
OneWire ds_1(2);
//DallasTemperature nome_da_variavel(&nome);
//esse comando procura os pinos em seu endereco e solicitar temperatura
DallasTemperature sensor_1(&ds_1);
// variavel para armazenamento da temperatura entregue pelo sensor
float temperatura;
//********************************************************************************
void setup( )
{
//inicia a porta serial
Serial.begin(9600);
//inicia a biblioteca
sensor_1.begin();
}
//********************************************************************************
void loop( )
{
//*********************************************
// Pega os valores de Sensor e joga na serial
//*********************************************
// manda um comando para o sensor para ler a temperatura
sensor_1.requestTemperatures();
//texto para serial
Serial.println("temperatura var");
// lê a temperatura do sensor e joga na serial - pressione Ctrl + Shift + M para visualizar
Serial.println(sensor_1.getTempCByIndex(0));
// lê a temperatura do sensor e joga na variavel
//temperatura = (sensor_1.getTempCByIndex(0));
// conversão para fahrenheit
// float fahrenheit = (temperatura*1.8)+32;
// conversão para kelvin
// float kelvin = (temperatura+273);
//adicionar atraso de 1 segundos para melhor leitura do sensor
delay(1000);
}
// FIM
//********************************************************************************
Perguntas, Duvidas ?
Comente abaixo,
Autor: Guilherme Zucco
Conheça nosso site zuch.co
Comentários
Postar um comentário