////////////////Estructura del potenciometro///////////////////////
const unsigned short int PIN_POTENCIOMETRO = A0;
unsigned int valorPotenciometro = 0;
unsigned int porcentajePotenciometro = 0;
///////////////Estados del boton//////////////////////////
enum estadoboton {
  EST_PULSADO,
  EST_SUELTO,
  TRANS_PULSANDO,
  TRANS_SOLTANDO
};
estadoboton estadoMiBoton = EST_SUELTO;
////////////////////tiempo///////////////////
int tiempoinicio = 0;
/////////////////////////////////////////////CONTRASEÑA///////////////////////////////////////
int miContrasena [4] = {1, 2, 3, 4};
int contrasena[4]; 
void setup() {
  pinMode(PIN_POTENCIOMETRO, INPUT_PULLUP);
  Serial.begin(9600);
}
void loop() {
/////////////////Potenciometro////////////////////////
  valorPotenciometro = analogRead(PIN_POTENCIOMETRO);
  porcentajePotenciometro = int((valorPotenciometro / 64));
  //Serial.println(porcentajePotenciometro);
  //////////////////////////////////////////IMPLEMENTACION Botón/////////////////////////////////////////////////////////////////////
  if (estadoMiBoton == EST_SUELTO || estadoMiBoton == TRANS_SOLTANDO) {
    if (digitalRead(2) == LOW) {
      estadoMiBoton = TRANS_PULSANDO;
    } else if (digitalRead(2) == HIGH) {
      estadoMiBoton = EST_SUELTO;
    }
  } else if (estadoMiBoton == EST_PULSADO || estadoMiBoton == TRANS_PULSANDO) {
    if (digitalRead(2) == LOW) {
      estadoMiBoton = EST_PULSADO;
    } else if (digitalRead(2) == HIGH) {
      estadoMiBoton = TRANS_SOLTANDO;
    }
  }
/////////////////////////////////////////////////PROGRAMA//////////////////////////////////////////////////////////
/////////////Aqui en el puerto no se ve como va cambiando el valor///////////////////////
  /*if (estadoMiBoton == EST_PULSADO) {
    tiempoinicio = millis();
  } else if (millis() - tiempoinicio > 2000) {
    contrasena[0]=porcentajePotenciometro;
    Serial.println(contrasena[0]);
  };*/
/////Prueba 1 con flags no me sale/////////////////////
if (estadoMiBoton == LOW) {
    tiempoinicio = millis();
  } else if (millis() - tiempoinicio > 2000) {
    contrasena[0]=porcentajePotenciometro;
    Serial.print("1º num: ");
    Serial.println(contrasena[0]);
  };
 
Serial.print("estado boton ");
Serial.println(estadoMiBoton);
delay(100);
/*
if (segundovalorguardado == true && estadoMiBoton == EST_SUELTO && primervalorguardado == true){     
    tiempoinicio = millis();
  } else if (millis() - tiempoinicio > 2000) {
    contrasena[1]=miPotenc.valor_potenc;
    Serial.print(" 2º num: ");
    Serial.println(contrasena[1]);
  };*/
  //////////////////////////////////////////////Lectura de los datos//////////////////////////////////////////////////////////////
  delay(100);
  }