boa noite, muito novato em arduino e to com dificuldades com um codigo, no caso qndo aperto qualquer botão do controle remoto o modulo rele liga, e permanece ligado por 30 minutos, foi feito usando millis(), mas não to conseguindo programar para que durante esses 30 minutos em caso de emergência eu possa também apertando qualquer botao do controle remoto simplesmente desligar o rele e interromper o funcionamento do motor. se alguem souber como fazer e puder ajudar agradeço muito.
o codigo q to usando é esse. uso o arduino um modulo rele e um modulo receptor IR para captar o sinal do controle remoto.
#define MILISECONDS_IN_MINUTE 60000UL
#define MY_SETPOINT_IN_MINUTES 30 //30 minutos
#define CLOCK_TIMER (MILISECONDS_IN_MINUTE * MY_SETPOINT_IN_MINUTES)
byte rele = 11;
byte BOTAO = 0;
byte MOTOR = 0;
byte PORTA_B = 10;
unsigned long motorStartedAt = 0;
boolean motorON = false;
void setup()
{
pinMode(PORTA_B, INPUT);
digitalWrite(PORTA_B,HIGH);
pinMode(rele, OUTPUT);
digitalWrite(rele,LOW);
}
void loop()
{
BOTAO = digitalRead(PORTA_B);
if(BOTAO == LOW && !motorON)
{
digitalWrite(rele,HIGH);
motorStartedAt = millis();
motorON = true;
}
if(motorON == true && (millis() - motorStartedAt )>= CLOCK_TIMER)
{
digitalWrite(rele,LOW);
motorON = false;
}