Go Down

Topic: Guardar estado do PIN para uso após queda de energia. (Read 1 time) previous topic - next topic

vg_arantes

Olá pessoas, tudo bem?

Tenho um projeto de automação que já funciona, porém me deparei com o problema de que quando existe uma falha no fornecimento de energia o Arduíno se desliga, daí quando a energia volta ao normal ele volta "resetado" e se uma lampada estava acesa, ela fica apagada.

Queria saber qual a melhor forma de armazenar o estado do rele para que caso acabe a luz ele volte a ligar quando a energia voltar.

Obrigado!

hugo007

Boas
A minha sugestão é   usares uma entrada no micro  para me detectares a fonte de alimentação tipo um simples divisor de tensão e na linha de alimentação do micro colocares  um condensador de valor alto para te dar uns segundos mesmo que a energia falhe.Tens de dedicar essa alimentação ao micro e tens de prevenir que essa tensão que temporariamente esta no condensador seja sugada por outro componente, usa um díodo na linha de alimentação do micro (prevê a queda de tensão).
Assim que a energia falhe o teu pino vai ler um valor logico baixo(podes tambem usar uma interrupçao no bordo descendente)  e o micro ainda tem uns segundos para actuar e guardares tudo o que te seja importante na eeprom e ficar  sem fazer nada até que a energia do condensador se esgote.A idea é detectares que ficaste sem energia, desviar o teu programa para um modo recovery, modo este que apenas grava  na eeprom dados e nao faz mais nada pois estas a ficar sem energia dentro de alguns milisegundos.
Quando a energia voltar a primeira coisa que o teu micro deve fazer é verficar na eeprom se tem uma flag de falha de energia e se tiver entao recuperas os dados , aplicas nas variaveis e resetas essa flag na eeprom.
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

tecdiego

Boa noite amigo, eu passei por um problema parecido, porém diferente da ótima ideia do HugoPT, eu usei um cartão de memoria para guardar as informações da variáveis, que eu precisava recuperar, todas as vezes que elas mudavam o estado!

mmoscz

4x Duemilanove (clone)
Uno torrado (clone)
Amiga 1200 40MB
Windows XP

Go Up