Mais uma opção para controlar a temperatura de seu aquário…
Esta montagem permite o controle da temperatura de um aquário através da utilização de uma resistência aquecedora própria para aquários. Veja o esquema abaixo:
Como sensor foi usado o componente DS18B20 fabricado pela Maxim. Este usa apenas um pino do PIC para enviar a temperatura, usando o protocolo 1-wire.
Para ajustar a temperatura desejada, usamos um interruptor (pino 4 do PIC). Ao apertar irá começar a decrementar, mas se soltarmos este interruptor por mais de 1 segundo, apertando de novo começará a incrementar, sendo mostrado na segunda linha do LCD.
Na primeira linha teremos o valor da temperatura da água, obtida pela leitura do sensor colocado dentro do aquário.
O sensor é o DS18B20, encapsulado em uma proveta de vidro pequena, com vedação feita com silicone próprio para aquários. Poderá adquirir este sensor pronto em vendas pela internet.
A resistência de aquecimento também deverá ser adquirida em lojas de materiais para aquários e deverá ser para a tensão de trabalho da rede local. Existem vários modelos conforme o tamanho do aquário.
A faixa de regulagem foi limitada de 14,5 a 40,0°C, pois a maioria dos peixes vivem em temperaturas entre 28 a 30 graus centígrados.
Caso a montagem seja usado apenas como termômetro,não haverá marcação de temperaturas negativas, pois a temperatura mínima está limitada a 0°C e a máxima em 99,9°C. Isto foi feito no programa C, para economizar espaço de memória e permitir que todo o programa seja colocado em apenas 1Kbyte de flash do PIC 12F675.
A alimentação poderá ser obtida de uma fonte CC de 9 a 12 volts, ou usar estas usadas em carregadores de celular de 5 volts ou fonte convencional com transformador + diodos + capacitores.
Para os testes desta montagem, foi usada a montagem “SIMULANDO UM SENSOR DE TEMPERATURA DS18B20 PARA FINS DE DESENVOLVIMENTO E TESTES (REF144)”, pegando os arquivos da pasta mais recente, de 20/03/2017.
Obs. Esta montagem é experimental, sendo de caráter didático, montada apenas em placa experimental (do tipo “Breadboard”), sujeita a “bugs” ainda não detectados. Está sendo fornecido os arquivos para que cada hobista possa alterar o programa segundo suas necessidades.
Segue pasta zipada com os arquivos desta montagem:
Manuais:
PIC 12F675
DS18B20 datasheet
Curiosidades:
A arte de preparar um expresso
A impressionante audição da traça-da-cera
Quem projetou primeiro?
Como ter uma saúde melhor
Quase dá para comer!
“Sua ligação foi completada” — Como?
Outros assuntos:
O casamento é apenas um compromisso formal?
Faz diferença ter boas maneiras?
Os desafios de uma família com enteados
Recuperar a confiança no casamento
Vídeos:
O que é o Reino de Deus?
Como enfrentar o bullying sem partir para a briga
Quem é o Autor da Bíblia?
Será que é amor ou paixão?
Tenha mais paciência
Fale a verdade
Eu me cansei das religiões
Até o próximo artigo!
Ola Claudio!
Gravei o novo arquivo que você me enviou e funcionou perfeitamente, como montei o termostato juntamente com o projeto do simulador de ds18b20 consegui varrer toda a faixa de temperatura ,fico muito agradecido pela sua ajuda , estou aprendendo muito com seus projetos e aproveitando para aprender um pouco mais de programação em c.
Fico muito agradeço pela sua atenção e poder compartilhar seus conhecimentos!
Atenciosamente
Marcos
Olá , Claudio !
Vou verificar o arquivo sim obrigado, e aproveitando oportunidade gostaria de tirar uma dúvida na parte do código de comparação de temperaturas , porque você soma o valor 95
na variável de temperatura ,não consegui entender esta parte ?
Atenciosamente
Marcos
Olá Marcos!
O valor 95 é um centro entre o valor positivo e o negativo ( podemos chama-lo de talvez ‘zero virtual’). Poderia ser outro valor mas na hora escolhi este valor , que resulta: 95 + 150 °C = 245 e 95 – 55°C= 40. Ambos resultados ficam confortavelmente dentro de 0 a 255. Poderia ser de 55 a 105.
Acredito que deva existir lógica de comparação mais simples, mas na ocasião que fiz o programa não me veio a mente outras soluções.
Eu até tentei montar uma explicação nos comentários mais fácil, mas sinceramente não consegui traduzir em palavras o funcionamento destas comparações. Para mim já foi um quebra-cabeça fazer funcionar! Mas fico feliz que tenha conseguido fazer funcionar sua montagem. Parabéns pela sua persistência!
Cláudio
Ola Claudio !
Obrigado pela explicação agora consegui entender o código completo só falando com o pai da criança mesmo !!
Aprendi muito com o estudo deste código aumentou meus conhecimentos em programação em c.
Desde ja te agradeço pela sua atenção e por ser tao prestativo.
Atenciosamente
Marcos
Claudio Larios,
Primeiramente gostaria de parabenizá-lo pelo excelente Blog, onde você tem compartilhado seu conhecimento com todos que apreciam estas tecnologias .
Gostaria de poder obter uma ajuda ,se (possível) em relação a um projeto que foi postado a um certo tempo (termostato digital com pic16f628a com ds 18b20), onde montei o mesmo juntamente com o simulador ds18b20 e funcionou corretamente ,mas ao programar na faixa entre (-1°C a -11°C) o rele aciona na faixa positiva de temperatura sendo que nas demais faixas ele opera normalmente.
Agradeceria muito se pode-se me ajudar na solução do problema
Atenciosamente,
Marcos Antonio
Olá Marcos!
Poderia, por favor, indicar qual é o artigo específico, se possível, o número referencial ou a data do artigo? Existem vários artigos parecidos, mas com versão com lcd e também com 7 seguimentos, e isto dificulta saber qual é o que você está utilizando.
Fico no aguardo.
Cláudio
Ola Claudio Larios,
O projeto do termostato digital tem numero de referencia 143 e foi publicado em 1 de abril de 2014 e segue o link da pagina do projeto:
http://picsource.com.br/archives/5594/
Agradeço sua atenção e fico no aguardo.
Atenciosamente,
Marcos Antonio
Marcos
Olá Marcos!
Irei dar uma olhada assim que tiver um tempinho.
Obrigado
Cláudio
Ok Claudio Larios ,
Agradeço agradeço desde ja sua atenção .
Marcos
Olá Marcos!
Postei uma nova pasta com os arquivos atualizados do artigo ref143 (Termostato). Por favor, verifique se está tudo ok agora.
Cláudio