Minha intenção seria um alarme com um laser e um LDR, ele detectaria quando o feixe do laser fosse interrompido assim disparando o alarme, porem eu tentei adicionar um botão para interromper este alarme com a função break; só que não deu certo, alguem pode me dizer como faço isso? obrigado.
aqui segue o código:
byte buzz = 3;
int song = 1480;
int alarm1 = 3520;
int alarm2 = 2960;
int alarm3 = 2093;
byte time = 200;
int but = 5;
void setup()
{
Serial.begin(9600);
pinMode(but,INPUT); // porta 5 configurada para botão
digitalWrite(but,1); //liga pull-up
pinMode(13,1);
byte var = 0;
while (var < 3)
{
tone(buzz, song);
delay(time);
noTone(buzz);
delay(time);
var++;
}
}
void loop()
{
int LDR = analogRead(A0);
Serial.println(LDR);
int leitura = digitalRead(but);
if (LDR < 400)
{
int var = 0;
while(var<200)
{
digitalWrite(13,1);
tone(buzz, alarm1);
delay(500);
noTone(buzz);
tone(buzz, alarm2);
delay(200);
noTone(buzz);
tone(buzz, alarm3);
delay(100);
noTone(buzz);
var++;
if (leitura==0)
{
digitalWrite(13,0);
noTone(buzz);
break;
delay(1000);
}
delay(50);
}
}
else
{
noTone(buzz);
}
}
Tags:
break;
sim com um break; a questão é que eu tinha esquecido de colocar "int leitura = digitalRead(but);" dentro do laço while. mas obrigado por responder.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por