Alarma tipo sirena
Planteamiento: Generar una alarma tipo sirena a través de un buzzer.
Componentes:
- 1 buzzer
- 1 pulsador
Esquema de conexión:

Código del arduino:
float sinVal;
int toneVal;
boolean stateAlarm;
void setup(){
pinMode(2,INPUT_PULLUP);
pinMode(7,OUTPUT);
}
void loop(){
if(digitalRead(2)==LOW){
stateAlarm=!stateAlarm;
delay(300);
}
if(stateAlarm==1){
for(int x=0;x<180;x++){
// convert degrees to radians then obtain sin value
sinVal = (sin(x*(3.1412/180)));
// generate a frequency from the sin value
toneVal = 2000+(int(sinVal*1000));
tone(7, toneVal);
delay(2);
if(digitalRead(2)==LOW){
stateAlarm=!stateAlarm;
delay(300);
}
}
}
else{
noTone(7);
}
}