stacco e ripresa programma

Buongiorno, ho bisogno di una mano, ho un scketch che fa suonare un buzzer quando un sensore scatta, il mio problema è che inizia a suonare il buzzer all'infinito, io vorrei invece che dopo 3 minuti si stacca e dopo altri tre riprenda per un massimo di 2 volte, potreste aiutarmi a capire come settare i tempi...

grazie

if (digitalRead(pir) == HIGH&&antiON == 1 && allarm == 1){
digitalWrite(buzz,HIGH);
delay(4000);
digitalWrite(buzz,LOW);

Devi usare millis(), il delay() è bloccante.
Vedi l'esempio BlinkWithoutDelay e poi questo tutorial:
http://www.leonardomiliani.com/2013/programmiamo-i-compiti-con-millis/