int contador1A = 0;
int contador2A = 0;
byte porta_botao2A = 5;
byte porta_sensor2A = 6;
byte porta_rele2A = 12;
byte porta_botao1A = 3;
byte porta_sensor1A = 4;
byte porta_rele1A = 13;
bool estado_sensor2A_ATUAL = 1;
bool estado_sensor2A_ANT = 1;
bool estado_sensor1A_ATUAL = 1;
bool estado_sensor1A_ANT = 1;
long int tempomarcado_1S1 = 0;
long int tempodecorrido_1S1 = 0;
long int tempomarcado_2S1 = 0;
long int tempodecorrido_2S1 = 0;
void setup() {
pinMode(porta_botao2A, INPUT_PULLUP);
pinMode(porta_sensor2A, INPUT_PULLUP);
pinMode(porta_rele2A, OUTPUT);
pinMode(porta_botao1A, INPUT_PULLUP);
pinMode(porta_sensor1A, INPUT_PULLUP);
pinMode(porta_rele1A, OUTPUT);
Serial.begin(9600); // inicializa serial
}
void loop() {
estado_sensor2A_ATUAL = digitalRead(porta_sensor2A);
estado_sensor1A_ATUAL = digitalRead(porta_sensor1A);
if (digitalRead(porta_botao2A) == 0)
{
digitalWrite(porta_rele2A, 1);
}
if ((estado_sensor2A_ATUAL == 0) && (estado_sensor2A_ATUAL != estado_sensor2A_ANT))
{
++contador2A;
Serial.print("O contador2A agora vale: ");
Serial.println(contador2A);
}
if (digitalRead(porta_botao1A) == 0)
{
digitalWrite(porta_rele1A, 1);
}
if ((estado_sensor1A_ATUAL == 0) && (estado_sensor1A_ATUAL != estado_sensor1A_ANT))
{
++contador1A;
Serial.print("O contador1A agora vale: ");
Serial.println(contador1A);
}
estado_sensor2A_ANT = estado_sensor2A_ATUAL;
estado_sensor1A_ANT = estado_sensor1A_ATUAL;
if (estado_sensor1A_ATUAL == 0) {
tempodecorrido_1S1 = millis() - tempomarcado_1S1;
}
else
{
tempomarcado_1S1 = millis();
tempodecorrido_1S1 = 0;
}
if (tempodecorrido_1S1 > 3000)
{
digitalWrite(porta_rele1A, 0);
}
if (estado_sensor2A_ATUAL == 0) {
tempodecorrido_2S1 = millis() - tempomarcado_2S1;
}
else
{
tempomarcado_2S1 = millis();
tempodecorrido_2S1 = 0;
}
if (tempodecorrido_2S1 > 2000)
{
digitalWrite(porta_rele2A, 0);
}
delay(10);
}