Guardar estado do PIN para uso após queda de energia.

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!

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.

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!

use a biblioteca Eprom do ATMEGA