ALARME COM ARDUINO - DUVIDAS

Olá pessoal! Estou começando aprender agora sobre arduino, e precisava fazer um alarme.
Vou tentar explicar como deve funcionar esse alarme:
Eu gostaria de colocar um sensor que ao detectar um movimento ele acionaria o buzzer(sirene), mas tem um porem, uma vez que o buzzer for acionado ele continua com a sirene, mesmo que o sensor já não detecte movimento algum.
Eu iria desligar o buzzer atraves de controle remoto(essa parte da codificação eu já

Falta algo no teu post...

Em todo o caso, antes de pedires ajuda, coloca o que já fizeste e uma dúvida em específico. Pedires para que alguém te faça o projecto não é o objectivo do fórum. :wink:

Me perdoe. Aqui tá o codigo da parte do alarme, como podem ver ele funciona quando a porta abrir, mas quando fechar ele para de tocar, eu queria que uma vez aberto ele continuasse tocando e só pare quando acionado pelo controle remoto.

int chave = 2; // CHAVE NO PINO 2
int falante = 4; // BUZZER NO PINO 4
int acionamento; //VARIAVEL PARA GUARDAR VALOR DA CHAVE

void setup()
{
pinMode(falante, OUTPUT); // DEFINE PINO COMO SAIDA
pinMode(chave, INPUT); // DEFINE PINO COMO ENTRADA
}

void loop()
{
// ALARME
acionamento = digitalRead(chave); // LÊ O VALOR DA CHAVE
if (acionamento == LOW) //PORTA FECHADA
{
digitalWrite(falante, LOW);
}
else //CASO A PORTA SEJA ABERTA
{
digitalWrite(falante, HIGH);
Alarme.beep(500); //beep de 500 ms
delay(300); //aguarda 0,3 seg
Alarme.beep(300);
delay(500);
Alarme.beep(400); //beep de 400 ms
delay(500); //aguarda 0,5 seg
Alarme.beep(600);
delay(300);
}
}

Tens de fazer um encravamento...

unsigned char encrava = 0; 
unsigned long time_falante = 0; 
unsigned char saida = 0; 

if (accionamento == LOW) encrava = 1;

if (encrava == 1) {
   
   if (time_falante - millis > 1000) {
      digitalWrite(falante, saida); 
      if (saida == 1) saida = 0; 
      else saida = 1;
      time_falante = millis();
   }
}

if (controlo_remoto == 1 && accionamento == HIGH) {
   encrava = 0;
   digitalWrite(falante, 0);
}
   


}

Muito obrigado! Agora consegui. :slight_smile: