Condição de Segurança

Bom dia senhores,

Possuo o software abaixo e necessito de uma condição de segurança, ou seja, quando a variável (entradaseg) estiver HIGH, ou enviando 5V para a entrada do arduino, posso executar o programa comutando os botões, caso estiver em LOW, desabilita todas saídas. Alguma ajuda?

//Atribuição de variáveis de saida

int releligamotor = 8; // LED conectado ao pino digital 8
int desceprensa = 9; // LED conectado ao pino digital 9
int sobeprensa = 10; // LED conectado ao pino digital 10
int saidaseg = 11; // LED conectado ao pino digital 11

//Atribuição de variáveis de entrada

int botaoliga = 2; // botão conectado ao pino digital 2
int botaodesliga = 3; // botão conectado ao pino digital 3
int botaodesce = 4; // botão conectado ao pino digital 4
int botaosobe = 5; // botão conectado ao pino digital 5
int entradaseg = 6; // botão conectado ao pino digital 6

void setup()
{
//Pré-determina pinos de saida

pinMode(releligamotor, OUTPUT); // pré-determina o pino digital 8 como uma saída
pinMode(desceprensa, OUTPUT); // pré-determina o pino digital 9 como uma saída
pinMode(sobeprensa, OUTPUT); // pré-determina o pino digital 10 como uma saída
pinMode(saidaseg, OUTPUT); // pré-determina o pino digital 11 como uma saída

//Pré-determina pinos de entrada

pinMode(botaoliga, INPUT); // pré-determina o pino dgital 2 como uma entrada
pinMode(botaodesliga, INPUT); // pré-determina o pino dgital 3 como uma entrada
pinMode(botaodesce, INPUT); // pré-determina o pino dgital 4 como uma entrada
pinMode(botaosobe, INPUT); // pré-determina o pino dgital 5 como uma entrada
pinMode(entradaseg, INPUT); // pré-determina o pino dgital 6 como uma entrada

digitalWrite(releligamotor, HIGH); //inicializa a saida releligamotor desligada
}

void loop()
{

//Função liga/desliga prensa

int valorliga = digitalRead (botaoliga);
int valordesliga = digitalRead (botaodesliga);

if (valorliga == HIGH && valordesliga == LOW)
{

digitalWrite(releligamotor, HIGH);
delay(100);
}
if (valorliga == LOW && valordesliga == HIGH)
{
digitalWrite(releligamotor, LOW);
delay(100);
}

//Função desce prensa

int valdesce = digitalRead (botaodesce);
if (valdesce == HIGH)
{
digitalWrite (desceprensa, HIGH);
}
{
if (valdesce == LOW)
{
digitalWrite (desceprensa, LOW);
}
}

//Função sobe prensa
int valsobe = digitalRead (botaosobe);
if (valsobe == HIGH)
{
digitalWrite (sobeprensa, HIGH);
}
{
if (valsobe == LOW)
{
digitalWrite (sobeprensa, LOW);
}
}

int valseg = digitalRead (entradaseg);
if (valseg == HIGH)
{
digitalWrite (saidaseg, HIGH);
}
{
if (valseg == LOW)
{
digitalWrite (saidaseg, LOW);
}
}
}

O que é que este código não faz? Eu não vou pensar no teu problema e resolvê-lo por ti. Diz qual é o problema que a solução que escreveste tem e a gente tenta ajudar.