Olá mais uma vez,
Venho aqui apresentar o chip DS1620 da Maxim-Dallas. Este não é nada mais nada menos que um Termómetro.. vá um pouco mais! :D
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.comfiletech.com%2FProductImages%2Fproducts%2Fds1620-s.jpg&hash=cdd97074170f0589b5e1fa3c4c66d89f01bda16f)
Pois é... 8 pins, podem perguntar-se, "ehh 8 pinos? para que? Tens o DS18S20 ou o LM35 que além da alimentação so usam um pino..."
Sim é verdade mas esses não fazem de termo-estato! E dão para serem programados?!
Com este dispositivo podemos, por exemplo, ajudar o nosso amigo que veio aqui pedir ajuda para a sua estufa pessoal e assim poder cuidar das suas belas "couves" sul-americanas ou jamaicanas. 8)
Continuando... D Isto é possivel graças aos pinos extra que o chip disponibiliza, além dos 3 pinos para comunicação 3-wire, 2 para alimentação, ainda temos 3 pinos de termo-estato. São eles, TH, TL TCom. Estes pinos aliados à capacidade deste chip poder ser programado... Belos projectos... :D
TH - Temperatura máxima, Este pino fica com o valor lógico 1, ou High após programarmos este valor no chip. Se definirmos TH = 25ºC, sempre que se atingir este valor o pino fica High e só volta para Low quando se descer a baixo dos 25ºC
TL Temperatura mínima. Este pino fica com o valor lógico 1, ou High quando se atinge e/ou desce abaixo do valor definido neste parametro. Se definirmos TL com 13,5ºC quando se descer a este valor o pino fica High e so muda para Low quando se passar por exemplo paraaos 14ºC.
TCOM - Este pino é bastante interessante, fica High quando a temperatura excede TH e só volta a ficar Low quando atingir TL! Ventoinhas hen!
Este chip tem uma resolução de 9 bits, sendo que o de maior peso é o bit sinal, 1 para valores negativos, 0 para valores positivos. Ficamos assim com 8 bits de valores de temperatura. Segundo o datasheet o chip funciona entre os -55ºC a +125ºC com incrementos de 0,5ºC. Assim, por cada bit de variação a temperatura varia meio grau Celsius (0,5ºC), isto implica que se lermos o valor 0x032(hex) = 50(dec) do chip, na verdade representa 25ºC.
Este chip tem dois modos de funcionamento, num deles o chip so funciona quando o controlador pedir dados, no outro, assim que o chip é aliementado começa a funcionar quer se lhe peçam dados ou não e é aqui que ele se distingue dos outros.
Imaginem que querem fazer o vosso próprio sistema de refrigeração! Basta programarem o valor de TH e TL para as temperaturas que querem e ligar a ventoinha ao pino certo. De seguida é só colocar o chip em modo automatico e alimentá-lo!
Mais uma vez, a consulta do datasheet deste dispositivo é essencial para compreeder melhor o seu funcionamento:
http://pdfserv.maxim-ic.com/en/ds/DS1620.pdf8 (http://pdfserv.maxim-ic.com/en/ds/DS1620.pdf8)
Fiz um pequeno programa de teste para este chip, em anexo. Deixo também um video que fiz usando este chip juntamente com o LCD de um Nokia. Para mais informações sobre este LCD vejam este tópico:
http://lusorobotica.com/index.php/topic,431.0.html (http://lusorobotica.com/index.php/topic,431.0.html)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi240.photobucket.com%2Falbums%2Fff159%2Fsuper-mascarada%2FSNC00090.jpg&hash=444da3bb3180288aafb9c978b27eff2b12f829ab)
http://www.youtube.com/watch?v=ibdxGV5E9eU# (http://www.youtube.com/watch?v=ibdxGV5E9eU#)
Código em anexo, completamente comentado para fácil utilização. Leiam os comentários com atenção... até se podem rir! :D
Para os desgraçados que não têm o LCD da Nokia, a temperatura também está a ser enviada para a consola por série com um Baud Rate de 9600.
Pinos:
Arduino DS1620
2 -------------------- RST
8 -------------------- CLK
12 --------------------- DQ
Os restantes pinos do DS1620 são a alimentação e os pinos TH, TL e Tcom.
Cumprimentos a todos