portão eletrônico precaução para falta de energia

Bom dia pessoal

Eu juntei alguns exemplos da net e montei um controle para meu portão eletrônico mas preciso que caso a eletricidade acabe e volte não abra o portão sozinho. E também o controle que estou usando é bem genérico e tem 4 botões eu gostaria de alterar o código para não abrir apenas com um Click mas sim com uma determinada sequencia tipo ABCBD.

#define botaoC A2
#define botaoA A0
#define botaoD A3
#define botaoB A1
#define VT A4
int led = 13;
int Aberto = 8;

int Ligada = 10;

const int buttonPin = 2;
int buttonState = 0;

void setup() {
Serial.begin(9600);
Serial.println("Aguadando comando RF: ");

pinMode(Aberto, OUTPUT);

pinMode(led, OUTPUT);
pinMode(buttonPin, INPUT);
}

void loop() {
int valorVT = digitalRead(VT);
int valorA = digitalRead(botaoA);
int valorB = digitalRead(botaoB);
int valorC = digitalRead(botaoC);
int valorD = digitalRead(botaoD);

buttonState = digitalRead(buttonPin);

if (buttonState == HIGH) {
// turn LED on:
digitalWrite(led, HIGH);
}
else {
// turn LED off:
digitalWrite(led, LOW);
}

if (valorC > 0) {
Serial.println("Botao C pressionado.");
digitalWrite(Aberto, HIGH);
Serial.println("ACENDEU.");
delay(300);
digitalWrite(Aberto, LOW);
Serial.println("APAGOU.");
}

if (valorVT > 0) {
// Quando qualquer botao eh pressionado, o pino VT
// recebe sinal.
}
}

Bem-vindo ao fórum erosidin. Dê uma leitura nas regras do fórum, lá vai encontrar, entre outras coisas, a forma correcta de postar código.
Quando leio o seu código, não compreendo como ele funciona. Tem a mensagem no início do programa sobre a inicialização do RF e no texto que escreveu, também foi isso que percebi (que funciona através de RF) no entanto depois faz "digitalRead" para ler essas entradas. Importa-se de explicar melhor qual é a ideia disto?