- Descrição: O Módulo Interruptor (Chave) de Mercúrio é uma placa extremamente…
Como usar com Arduino – Sensor de Temperatura DS18B20 Prova D’água do Tipo Sonda
– Descrição:
O Sensor de Temperatura DS18B20 Prova D’água do Tipo Sonda é um dos componentes mais utilizados em projetos que envolva medição de temperatura em ambientes úmidos ou em recipientes com liquido. O sensor é revestido por um material à prova d’água e sua ponta é encapsulada em aço inoxidável.
Uma das vantagens do Sensor de Temperatura DS18B20 Prova D’água do Tipo Sonda além da sua excelente precisão é que o mesmo permite fazer leituras de 9 a 12 bits (configurável) de resolução. Além disso, o sensor possui comunicação através de um único fio (1-Wire) e isso permite que vários sensores de temperatura DS18B20 sejam ligados utilizando uma única saída do microcontrolador. O que permite que vários sensores sejam ligados em apenas uma porta do microcontrolador é o fato de cada sensor possuir um ID único de 64 bits. O sensor conta também com uma função conhecida como parasite power e essa função permite que a alimentação do sensor seja feita a partir de um barramento de dados sem necessidade de alimentar externamente.
– Especificações e características:
– Tensão de operação: 3 – 5,5VDC
– Faixa de medição: -55°C a 125° celsius (recomenda-se no máximo 100º)
– Precisão: ±0,5° celsius
– Resolução: 9 ou 12 bits (configurável)
– Período de atualização: menor que 750ms
– Encapsulamento em aço inoxidável
– Dimensão do encapsulamento: 6mm x 50mm
– Comprimento do cabo: 1m
– Datasheet:
– Aplicações:
Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário medir a temperatura de líquidos.
– Proposta da prática:
Utilizar o Sensor de Temperatura DS18B20 Prova D’água do Tipo Sonda em conjunto com o Arduino e medir a temperatura da água em um copo. O valor da temperatura será exibido no monitor serial do ambiente de programação do Arduino.
– Lista dos itens necessários:
01 – Arduino com Cabo USB
01 – Sensor de Temperatura DS18B20 Prova D’água do Tipo Sonda
01 – Resistor de 4,7KΩ
01 – Protoboard
03 – Cabos Jumper macho-macho
– Esquema de ligação da prática:
– Tutorial de instalação e configuração do ambiente de programação do Arduino:
Arduino – Instalação e Configuração da IDE no Windows
– Bibliotecas:
– Importando bibliotecas para o ambiente de programação do Arduino:
Arduino – Importando bibliotecas para a IDE
– Código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <OneWire.h> //INCLUSÃO DE BIBLIOTECA #include <DallasTemperature.h> //INCLUSÃO DE BIBLIOTECA #define DS18B20 7 //DEFINE O PINO DIGITAL UTILIZADO PELO SENSOR OneWire ourWire(DS18B20); //CONFIGURA UMA INSTÂNCIA ONEWIRE PARA SE COMUNICAR COM O SENSOR DallasTemperature sensors(&ourWire); //BIBLIOTECA DallasTemperature UTILIZA A OneWire void setup(){ Serial.begin(9600); //INICIALIZA A SERIAL sensors.begin(); //INICIA O SENSOR delay(1000); //INTERVALO DE 1 SEGUNDO } void loop(){ sensors.requestTemperatures();//SOLICITA QUE A FUNÇÃO INFORME A TEMPERATURA DO SENSOR Serial.print("Temperatura: "); //IMPRIME O TEXTO NA SERIAL Serial.print(sensors.getTempCByIndex(0)); //IMPRIME NA SERIAL O VALOR DE TEMPERATURA MEDIDO Serial.println("*C"); //IMPRIME O TEXTO NA SERIAL delay(250);//INTERVALO DE 250 MILISSEGUNDOS } |
– Resultado final:
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.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Comunicando o Shield WiFi ESP8266 com o Arduino através da Serial Nativa
Próxima postagem: Componentes Ativos – Geradores de Energia
Aparecer números aleatórios ou o tal do -127 pode indicar mal contato com os fios do sensor.
Boa tarde! É necessário o resistor de 4,7k? Se eu utilizar dois de 10k em paralelo = 5k, teria algum problema?
Boa noite. Na execução do código é utilizado o delay de 250 milisegundos, mas a taxa de amostragem continua de 1 segundo. Tentei tirar o delay de 1000 milisegundos no setup, mas não mudou. Isso é uma característica do sensor mesmo, ou biblioteca utilizada?
Boa tarde, tudo bem?
Eu não consigo entender como que a temperatura, tendo esta um valor variável, pode ser lida em uma porta digital. Por favor, poderia dar uma luz?
Abraço!
Olá, obrigado pelo artigo!
Eu posso usar um triac no lugar do resistor? Qual corrente que passa por esse pino?
grato
bom dia
Esse sensor e recomendado para a linha de controladores da marca full gauge
grato
joniclei
Boa tarde!
Estou desenvolvendo uma estação meteorológica com arduino e queria um termômetro que pudesse ficar ao ar livre. Será que esse termômetro pode servir?
Olá Erika.
Agradeço pelo comentário!
Nesse caso recomendamos um termopar.
Olá Euler,
Para mim só retorna zero grau.
Já revisei toda a fiação e está OK.
Saberia me ajudar?
Grato
Marcelo
Olá Marcelo.
Agradeço pelo comentário!
O ideal seria testar um outro sensor para comprovar que este está com defeito.
Boa noite! Presenciei o mesmo problema, mas conseguir resolver. Verifique se o resistor está ligado entre o Vcc e o pino [7]. Verifique também o valor do resistor.
Boa tarde! Obrigado por compartilhar isso.
Eu fiz exatamente como vc publicou, mas só estou tendo retorno de -127 .
Sabe o q pode ser?
Olá Ricardo.
Agradeço pelo comentário!
Recomendo que teste outro sensor e veja se o problema persiste.
Ricardo, tive o mesmo problema que você e não conseguiria resolver de jeito nenhum. Resolvi seguindo o tutorial abaixo:
https://lastminuteengineers.com/ds18b20-arduino-tutorial/
Te desejo sorte. Abs
Boa noite! Verifique se a porta de conexão é a correta.
voce ligou o resistor de pull up de alguma forma indevida. Garanta que um de seus terminais estaja na alimentação e o outro esteja na entrada do arduino e no fio amarelo do sensor.
Espero ter ajudado!!!
eu também estou com esse resultado
Eu tbm estou tendo esse resultado (-127). Conseguiu solucionar Ricardo?
O meu também deu na primeira montagem assim, -127. Era conexão incorreta. Refiz atentamente as conexões na protoboard e funcionou.