// -------variables de tiempo----------//
unsigned long tiempo_init_lavado = 0;
int8_t Faces_L = 0;
// ----------- variables -------------//
bool restart_lavado = false;
bool restart_Drain_spin = false;
#define MAX_TL_enjuague 1 // min para enjuagado
#define MAX_T_Drain_Spin 5*60 // min para drenado del agua y secado
#define RELAY_ON 0
#define RELAY_OFF 1
// -------- Faces del LLenado ------- //
bool LLenando = false;
bool llenado = false;
int8_t sensor_LLenado = 12;
// -------- Faces del Lavado ------- //
bool init_lavado = false;
bool lavado = false;
// -------- Faces del Enjuagado ------- //
bool init_Enjuague = false;
bool Enjuague = false;
// -------- Faces del Sentrifugado ------- //
bool sentrifugado = false;
bool END = false;
// ----- Panel de control ---//
int8_t Iniciar = 5;
int8_t Selec_Modo = 6;
int8_t BTN_Enjuage = 13;
bool EVEN_BTN_CLICK_INICIAR = false;
bool EVEN_BTN_LONG_INICIAR = false;
bool EVEN_BTN_CLICK_Selec_Modo = false;
bool EVEN_BTN_LONG_Selec_Modo= false;
bool EVEN_BTN_Enjuage = false;
bool Stop_Cycle = false;
// -------- salidas ------- //
// ----- pines del Motor -----//
#define Azul A0
#define Morado_blanco A1
#define Red A2
#define Bomba A3
#define Valvula_Agua A4
//---------- Status -------------//
#define Led_llenando 7
#define Led_Lavado 8
#define Led_Enjuague 9
#define Led_Drain_spin 10
//-----------------------------//
void setup() {
Serial.begin(115200);
// -----------inpusts-----------------//
pinMode(Iniciar, INPUT_PULLUP);
pinMode(Selec_Modo, INPUT_PULLUP);
pinMode(sensor_LLenado, INPUT_PULLUP);
pinMode(BTN_Enjuage, INPUT_PULLUP);
// -----------OUTPUTS-----------------//
pinMode(Azul, OUTPUT);
pinMode(Morado_blanco, OUTPUT);
pinMode(Red, OUTPUT);
pinMode(Valvula_Agua, OUTPUT);
pinMode(Bomba, OUTPUT);
pinMode(Led_llenando, OUTPUT);
pinMode(Led_Lavado, OUTPUT);
pinMode(Led_Enjuague, OUTPUT);
pinMode(Led_Drain_spin, OUTPUT);
digitalWrite(Azul, RELAY_OFF);
digitalWrite(Morado_blanco, RELAY_OFF);
digitalWrite(Red, RELAY_OFF);
digitalWrite(Bomba, RELAY_OFF);
digitalWrite(Led_llenando, LOW);
digitalWrite(Led_Lavado, LOW);
digitalWrite(Led_Enjuague, LOW);
digitalWrite(Led_Drain_spin, LOW);
Serial.println("<-----[Lavadora Lista]---->");
}
void loop() {
Control();
switch (Faces_L) {
case 0:
Selecionar_Modo();
break;
case 1:
llenado_de_Agua();
break;
case 2:
Lavar();
break;
case 3:
Enjuage_Cycle();
break;
case 4:
Dain_Spin();
break;
case 5:
END_Lavado();
break;
}
}