#define ledStart_PIN 14 // Piloto Start
#define btnStart_PIN 12 // Señal Start
#define btnStop_PIN 13 // Señal Stop
#define sens_presenLamina_PIN 27 // Señal sensor presencia lamina
#define sens_posIni_PIN 26 // Señal sensor posición inicial
#define sens_posFi_PIN 25 // Señal sensor posición final
#define sens_posTroquelA_PIN 33 // Señal sensor posición arriba troqueladora
#define sens_posTroquelB_PIN 32 // Señal sensor posición abajo troqueladora
int state_sens_presenLamina = 0; // Estado sensor de presencia de lamina
int state_sens_posIni = 0; // Estado sensor posición incial
int state_sens_posFi = 0; // Estado sensor posición final
int state_btnStart = 0; // Estado del pulsador Start
int lastState_btnStart = 0; // Estado anterior del botón de encendido
int state_btnStop = 0; // Estado del pulsador Stop
int lastState_btnStop = 0; // Estado anterior del botón de apagado
void setup()
{
Serial.begin(115200);
// --- ENTRADAS --- //
pinMode(btnStart_PIN, INPUT_PULLDOWN);
pinMode(btnStop_PIN, INPUT_PULLDOWN);
pinMode(sens_presenLamina_PIN, INPUT_PULLDOWN);
pinMode(sens_posINI);
// --- SALIDAS --- //
pinMode(ledStart_PIN, OUTPUT);
}
void loop()
{
state_btnStart = digitalRead(btnStart_PIN);
state_btnStop = digitalRead(btnStop_PIN);
state_sens_presenLamina = digitalRead(sens_presenLamina_PIN);
Serial.println("Estado Start: " + String(lastState_btnStart) + " Estado Stop: " + String(lastState_btnStop) + " Estado sensor lamina: " + String(state_sens_presenLamina));
if (state_btnStart == HIGH && lastState_btnStart == LOW && state_sens_presenLamina == HIGH)
{
digitalWrite(ledStart_PIN, HIGH);
lastState_btnStart = state_btnStart;
}
if (lastState_btnStart == HIGH && state_btnStop == HIGH)
{
digitalWrite(ledStart_PIN, LOW);
lastState_btnStop = state_btnStop;
lastState_btnStart = LOW;
}
if (state_btnStop == LOW) lastState_btnStop = LOW;
}