////////////////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);
}