Arduino – Medindo a Temperatura com o Sensor DS18B20

Arduino – Medindo a Temperatura com o Sensor DS18B20

Nesta prática você vai aprender a utilizar o Sensor de Temperatura DS18B20 do tipo sonda em conjunto com o Arduino e mostrar em um Display LCD 16X2 o valor de temperatura obtido.

sensor_de_temperatura_ds18b20O Sensor de Temperatura DS18B20 do tipo sonda é um item comumente utilizado em projetos que envolva medir temperatura ambiente ou de recipientes com líquido. Este sensor possui alta precisão em suas medições e é revestido com material impermeável, tendo sua ponta encapsulada em aço inoxidável.

Abaixo está a lista dos itens necessários para esta prática, e mais informações sobre cada um deles:

Arduino Uno  R3 com Cabo USB A/B
Cabo Jumper
Display LCD 16×2
Protoboard

Resistor de 4,7K
Sensor de Temperatura DS18B20 – Prova D’água do Tipo Sonda

Na imagem abaixo podemos observar a identificação dos fios do Sensor de Temperatura DS18B20:

identificação dos fios do sensor ds18b20

Abaixo está o esquema de ligação para esta prática:

esquema de ligação do sensor ds18b20 com o display lcd

Um detalhe importante para o funcionamento desta prática é a ligação do resistor de 4,7K (Pull Up) junto ao fio de dados do Sensor de Temperatura DS18B20. O resistor de Pull Up garante que a leitura do sensor no pino digital não irá ficar flutuando e vai se manter estabilizada. Sem a utilização deste resistor, o sensor não funcionará corretamente.

Feito o esquema de ligação, será necessário instalar três biblioteca na IDE do Arduino para em seguida carregar o código na placa.

Faça o download da biblioteca OneWireDallas e LiquidCrystal para em seguida instalar ambas na IDE do Arduino.

Se você não sabe como fazer a instalação de bibliotecas na IDE, acesse o link abaixo e em seguida retorne para continuar:

Arduino – Importando bibliotecas para a IDE

O código para testes está abaixo, basta copiar o mesmo, colar na IDE, salvar e carregar:

No vídeo abaixo você pode ver o resultado final desta prática:

Pra quem necessita de um sensor de temperatura com alta precisão, o DS18B20 é uma ótima opção.

Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigada e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.

Arduino – Medindo a Temperatura com o Sensor DS18B20
57 votos / Média de avaliação: 4.9 / Pontuação: 98.6%


Postagem anterior:
Próxima postagem:
Postagem feita por

Colaboradora do Blog MasterWalker Shop, graduada em Engenharia da Computação pela UNIPAC. Sou apaixonada por tecnologia, fã de super-heróis e um bom rock.

Existem 17 comentários para esta postagem
  1. Flavio às 11:34

    Parabens funcionou perfeitamente com o meu adquirido com vcs!!

    Queria acender um led verde quando a temperatura for inferior a 0 graus! Não estou conseguindo! Pode me ajudar?

    • Euler Oliveira às 12:57

      Olá Fávio.

      Que bom que o tutorial foi útil pra você.

      Para acender um LED sempre que a temperatura for menor que 0ºC, basta utilizar o trecho de código abaixo dentro do void loop:

      Lembre-se de declarar a variável pinoLed no inicio do seu código e atribuir um pino digital pra ele.

      Abraço.

    • Euler Oliveira às 06:52

      Olá Mateus.

      O código abaixo compila, mas não cheguei a testar na prática. Acredito que funcione para o que precisa.

      Fiz apenas para usar 1 canal do módulo relé. Para utilizar os outros 7 canais, basta fazer as declarações de pinos e replicar as condições ‘if’ dentro do código. Além disso, fiz o código considerando que vai utilizar o contato NC (normalmente fechado) do módulo relé.

      Basta ler os comentários para entender o que cada linha está fazendo e qual pino digital foi definido para uso de um dos canais do módulo relé. Na linha 24 você pode fazer a mudança do valor de temperatura para o valor que for melhor para seu caso:

  2. Golbery às 18:55

    Ola tudo bem….

    Montei aqui e deu tudo certo, apareceu a leitura no lcd, porem esta acusando somente negativo, você teria uma noção do que possa ter feito de errado. (Usei exaltamento o mesmo código)

  3. Edvandro às 22:28

    Olá, tem como utilizar varios sensores por exemplo 4 unidades DS18B20 para medir temperaturas de ambientes diferentes e mostrar em um unico LCD? Sei que posso usar todos em uma porta mas creio que mede a media de todos juntos…

    • Euler Oliveira às 15:07

      Olá Edvandro.

      Se deseja apresentar os valores de temperatura em um único display, o ideal é usar um display maior (20X4, por exemplo), pois no 16X2 não vai caber todas as informações.

  4. Wellington às 10:03

    Bom dia,
    Consegui ligar o sensor de temperatura, só que estou utilizando um cooler para resfriar o ambiente então eu seto 30º e aqueço o sensor até atingir a temperatura e nisto já liga o cooler. Mas seto a temperatura mínima 28º para que o cooler desliga, mas quando atinge a temperatura 29,9° já desliga o cooler. Poderia me ajudar!
    Grato

  5. Bruno às 17:11

    Boa tarde.

    Estou tentando acionar rele pela internet porém não vai de jeito nenhum, consigo acionar um led mas um rele não! :@
    Sabe me dizer se é porque o USB não fornece corrente o suficiente para acionar o rele?

    • Euler Oliveira às 21:19

      Olá Bruno.

      Poderia fornecer o código que está utilizando e mostrar o esquema de ligação que seguiu?

      Com estas informações fica mais fácil tentar te auxiliar.

    • Euler Oliveira às 15:52

      Olá Júnior.

      Ainda não tenho nenhuma implementação utilizando dois DS18B20, logo, não consigo te dizer ao certo quais mudanças seriam necessárias.

  6. marcelo crovador às 18:52

    Eu quero esse projeto mais com uma com sensor de temperatura é uma saída com rele para ligar um motor ventilador com voltagem de 110v ou 220v. Como fazer esse projeto , vcs me ensinao como fazer?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *