#include <Arduino.h>
#define INPUT_PIN_1 12
#define INPUT_PIN_2 13
#define OUTPUT_PIN_1 14
#define OUTPUT_PIN_2 15
unsigned long timeI1 = 0;
unsigned long timeI2 = 0;
int counterC1 = 0;
int counterC2 = 0;
void setup() {
pinMode(INPUT_PIN_1, INPUT);
pinMode(INPUT_PIN_2, INPUT);
pinMode(OUTPUT_PIN_1, OUTPUT);
pinMode(OUTPUT_PIN_2, OUTPUT);
digitalWrite(OUTPUT_PIN_1, HIGH); // Inicialmente apagada (activo en bajo)
digitalWrite(OUTPUT_PIN_2, HIGH); // Inicialmente apagada (activo en bajo)
}
void loop() {
if (digitalRead(INPUT_PIN_1) == HIGH && digitalRead(OUTPUT_PIN_2) == HIGH) {
if (timeI1 == 0) {
timeI1 = millis();
} else if ((millis() - timeI1) >= 1000) {
digitalWrite(OUTPUT_PIN_1, LOW); // Activa la salida o1 (activo en bajo)
counterC1++;
timeI1 = 0;
}
} else {
timeI1 = 0;
}
if (digitalRead(INPUT_PIN_2) == HIGH) {
if (timeI2 == 0) {
timeI2 = millis();
} else if ((millis() - timeI2) >= 1000) {
counterC2++;
if (counterC2 == 1 && digitalRead(OUTPUT_PIN_1) == LOW) {
digitalWrite(OUTPUT_PIN_2, LOW); // Activa la salida o2 (activo en bajo)
delay(3000);
digitalWrite(OUTPUT_PIN_1, HIGH); // Apaga la salida o1 (activo en bajo)
}
if (counterC2 == 2) {
digitalWrite(OUTPUT_PIN_2, HIGH); // Apaga la salida o2 (activo en bajo)
counterC1 = 0;
counterC2 = 0;
}
timeI2 = 0;
}
} else {
timeI2 = 0;
}
if (digitalRead(OUTPUT_PIN_1) == HIGH && counterC1 == 0) {
digitalWrite(OUTPUT_PIN_2, HIGH); // Apaga la salida o2 (activo en bajo)
counterC2 = 0;
}
}