sexta-feira, 21 de setembro de 2012

Implementando um Watchdog timer para o Arduino

Olá pessoal, na postagem de hoje vamos ver como eu implementei um Watchdog Timer para o Arduino, bom, em primeiro lugar você deve estar se perguntando "o que é um watchdog timer?", então, vamos responder à isso primeiro.
- O que é um watchdog timer? Imagine a seguinte situação, um telescópio que a NASA colocou em órbita parou de responder aos comandos da Terra, o que se faz? Simples, manda-se um funcionario ao espaço apertar o botão reset do sistema do telescópio :) Na verdade, não, brincadeira à parte, existem situações em que não se tem acesso ao sistema para fazer uma reinicialização nele, é nesses momentos que se faz uso do watchdog.
O "watchdog timer" é um dispositivo ou uma placa eletrônica que executa uma operação específica depois de um certo período de tempo se alguma coisa dá errado com um sistema eletrônico que não está reconhecendo a si próprio, ou seja, ele faz o reset do dispositivo.
- Como implementar? Existe duas formas de se implementar no Arduino o Watchdog, uma via software e outra via hardware externo, nessa última que se detém esse post. 
Nesse caso, vamos explicar o que foi feito:
Na minha placa de desenvolvimento integrado, eu coloquei um código que faz a leitura da temperatura atravéz de um LM35, o código a seguir:
No código, pode ser visto que no momento que a placa inicializa o código escreve na tela "- Placa inicializada -", bom, o código anterior escreve na tela a temperatura a cada 900ms. Veja agora uma imagem da placa de desenvolvimento integrado com o circuito de watchdog junto:
O circuito, consiste em um Attiny, conectado da seguinte forma:
O código dentro do Attiny85 que foi previamente enviado consiste no código a seguir:
Como você pode ver o Attiny85 aguarda 10 segundos e então envia um sinal HIGH para o pino 0 (pino 5 do CI) esse pino aciona a base de um transistor BC548 por meio de um resistor que permite passar o sinal LOW do Emissor para o Coletor, sendo este último conectado no pino de reset do Arduino.
A seguir, uma foto no momento que o watchdog faz o reset do Arduino (o LED acende indicando a operação):

Como você pode ver na imagem, ambos os resistores são de 390Ω e 1/4W. Nesse momento no Monitor Serial do Arduino temos:
 Com o watchdog fazendo reinicializações periódicas em um sistema, temos uma maior estabilidade do mesmo, evitando os riscos de travamentos devidos a muitos fatores como condições ambientais, falhas na alimentação de energia, erro do oscilador, bugs no código, etc.
Por hoje é isso pessoal, um abraço e até a próxima.

sábado, 8 de setembro de 2012

PopCap Confirma continuação de Plant vs Zombies

 
Pois é pessoal, a postagem de hoje é só para avisar que a PopCap, que lançou no ano de 2009 o jogo Plant vs Zombies, que fez muito sucesso, confirmou que está trabalhando na sequencia do jogo. 
Onde a única coisa que se sabe até o momento é que o jogo possui “uma gama de novas recursos, configurações e situações”. Ainda não foi informado para quais plataformas o jogo irá sair, mas ele deve estar disponivel no segundo semestre de 2013. Abraços e até a próxima.
Fonte: 

sexta-feira, 7 de setembro de 2012

Atualização da placa de desenvolvimento integrado

A postagem de hoje é apenas para mostrar como ficou a minha Placa de Desenvolvimento Integrado, depois de devidamente identificado todas as saídas e fixada em uma chapa de compensado com uma protoboard. Veja a foto:
 Com a adição da placa perfurada maior tenho agora um "kit" completo de desenvolvimento em um unico lugar, e quando precisar expandir para projetos, basta fazer uso das 2 protoboards com jumpers.
Todas as saídas digitais e analógicas estão com indicação, o potenciometro recebeu também indicaçao de mínimo e máximo, assim como as saídas do radio receptor. Agora que está tudo pronto, falta montar uma caixa para guardar tudo evitando de pegar poeira.
Por hoje é isso pessoal, abraços e até a próxima.