/* Project: default */
  bool E0 = 1;
  bool E0ant = 1;
  bool E1;
  bool E1ant;
  int TON_1_PT, TON_1_Inicio, TON_1_ET; 
  boolean Estado_anterior_TON_1_IN,TON_1_IN, Nuevo_estado_TON_1_IN,TON_1_Q;
  
  void Temp_TON_TON_1() { 
  Nuevo_estado_TON_1_IN =TON_1_IN;
  if ((Nuevo_estado_TON_1_IN && (!Estado_anterior_TON_1_IN))) {
  TON_1_Q = false;
  TON_1_Inicio = millis();
  TON_1_IN = true;}
  if (((!Nuevo_estado_TON_1_IN) && Estado_anterior_TON_1_IN)) {
  TON_1_IN = false;
  TON_1_Inicio = 0;
  TON_1_ET = 0;  }
  if ((TON_1_IN && (TON_1_ET < TON_1_PT))) {
  TON_1_ET = (millis() -  TON_1_Inicio); }
  if ((TON_1_ET >=TON_1_PT)) {
  TON_1_Q = true;}
  if ((!TON_1_IN)) {
  TON_1_Q = false;
  TON_1_ET = 0;}
  Estado_anterior_TON_1_IN = Nuevo_estado_TON_1_IN; }
  
  bool E2;
  bool E2ant;
  bool E3;
  bool E3ant;
  
  void setup()
  {
    pinMode(2, INPUT);
    Serial.begin(115200);
    delay(1000);
  Serial.println("E0");
  
    pinMode(4, INPUT);
    pinMode(5, OUTPUT);
    Estado_anterior_TON_1_IN = false; 
   Nuevo_estado_TON_1_IN = false;
  TON_1_PT = 2000;
  
    pinMode(12, INPUT);
    pinMode(17, OUTPUT);
  }
  
  void loop()
  {
    if(E0){
    }
    if(E0!= E0ant){
    E0ant = E0;
    }if (E0 && digitalRead(2)){
    E0 = false;
    Serial.println("E1");
    E1 = true;
    E1ant = E1;
    }
    if(E1){
    digitalWrite(5,HIGH);
    }
    if(E1!= E1ant){
    E1ant = E1;
    digitalWrite(5,LOW);
    }if (E1 && digitalRead(4)){
    E1 = false;
    Serial.println("E2");
    E2 = true;
    E2ant = E2;
    }
    if(E2){
    TON_1_IN = true; Temp_TON_TON_1();
    }
    if(E2!= E2ant){
    E2ant = E2;
    TON_1_IN = false; Temp_TON_TON_1();
    }if (E2 && (TON_1_Q)){
    E2 = false;
    Serial.println("E3");
    E3 = true;
    E3ant = E3;
    }
    if(E3){
    digitalWrite(17,HIGH);
    }
    if(E3!= E3ant){
    E3ant = E3;
    digitalWrite(17,LOW);
    }if (E3 && digitalRead(12)){
    E3 = false;
    Serial.println("E0");
    E0 = true;
    E0ant = E0;
    }
  }