salve a tutti, come da presentazione non sono molto esperto, sia sulla programmazione che sul hardware ,ma Arduino mi appassiona e vorrei realizzare un allarme casa e intendo perfettozionare e rendere efficiente, ringrazio tutti quelli che con la propria pazienza mi vorranno aiutare a realizzarlo,al momento indico un primo ostacolo che ho trovato, ho utilizzato un sensore pir di movimento, ed un altoparlante per fare da sirena , l'incoveniente è questo che appena alimento con la corrente Arduino , l'allarme mi parte entra nel loop ,cosa che non devo evitare ,dare corrente ad arduino equivale a fare partire l'allarme per un ciclo loop , attendo vostri suggerimenti con se è possibile spiegazioni semplici visto ripeto la mia poca esperienza ,
int sensore = 7;
int ALTOPARLANTE=8;
void setup(){
pinMode(sensore, INPUT);
pinMode(ALTOPARLANTE, OUTPUT);
digitalWrite(sensore, LOW);
digitalWrite(ALTOPARLANTE, LOW);
}
void loop(){
if(digitalRead(sensore) == HIGH ) {
tone(ALTOPARLANTE,550,200);
delay(200);
noTone(ALTOPARLANTE);
tone(ALTOPARLANTE,750,200);
delay(200);
noTone(ALTOPARLANTE); }
if(digitalRead(sensore) == LOW )
noTone(ALTOPARLANTE);
}
Ciao,
dovresti inserire il codice negli appositi tag, quelli con il simbolo "</>", poi per completezza dovresti postare anche lo schema dei collegamenti di altoparlante e sensore alla scheda arduino.
Attilio
A questi due link trovi altrettanti progetti di allarmi con arduino da cui prendere spunto
Allarme 1 - Allarme 2
ciao attilio, grazie della tua gentile risposta potresti modificare tu il codice , il linke che mi hai suggerito non è molto utile in quanto lo vorrei fare un pò differente con un telecomando per inserire allarme e disinserlo.
Ciao,
qui sotto il tuo codice messo negli appositi tag.
Mancavano sia la parentesi graffa di apertura del secondo "if" sia quella di chiusura dello stesso.
Non ho fatto altre modifiche. 
int sensore = 7;
int ALTOPARLANTE=8;
void setup()
{
pinMode(sensore, INPUT);
pinMode(ALTOPARLANTE, OUTPUT);
digitalWrite(sensore, LOW);
digitalWrite(ALTOPARLANTE, LOW);
}
void loop()
{
if(digitalRead(sensore) == HIGH )
{
tone(ALTOPARLANTE,550,200);
delay(200);
noTone(ALTOPARLANTE);
tone(ALTOPARLANTE,750,200);
delay(200);
noTone(ALTOPARLANTE);
}
if(digitalRead(sensore) == LOW )
{
noTone(ALTOPARLANTE);
}
}
Come ti avevo chiesto nel mio post precedente dovresti dirci quale sensore stai usando e inoltre dovresti postare lo schema dei collegamenti che hai fatto tra sensore, altoparlante e arduino.
I link che ti ho proposto erano solo per prendere spunto su come gestire un allarme, se tu vuoi usare un telecomando sei libero di farlo, ma intanto vedi come si gestisce il tutto indipendentemente dal modo di attivazione/disattivazione.
Attilio
qui sotto il tuo codice messo negli appositi tag.
Sbaglio o manca il codice?
cyberhs:
Sbaglio o manca il codice?
In che senso?
Io ho semplicemente copiato e messo nei tag il codice postato da wirefree e si vede correttamente.
Se mancano parti di codice non è colpa mia 
Attilio
Strano, prima non appariva: anomalia di Google Chrome?
con il codice modificato il problema persiste ,
il sensore utilizzato è :Modulo piroelettrico IR, sensore a infrarossi di movimento HC-SR501 e un altoparlante ,come da codice indicato precedentemente il sensore pir viene collegato al pin 7 digitale di Arduino cosi l'altoparlante al pin 8 , al momento che do corrente ad Arduino , il programma
mi entra nel ciclo loop accendendo l'altoparlante, per essere più chiaro , se io attivo l'allarme di casa mi parte la sirena per qualche secondo, cosa che devo evitare ,anzi quando attivo l'allarme devo trovare il modo che si attivi almeno 30 secondi dopo in modo che abbia il tempo di uscire di casa .
grazie anticipatamente del vostro aiuto
cyberhs:
Strano, prima non appariva: anomalia di Google Chrome?
Cosa vuoi che ti dica!?
Ormai non mi meraviglio di nulla, anzi mi meraviglio quando funziona tutto
:o 
Attilio
@ wirefree
Se ho tempo questa sera faccio qualche prova.
Non ti garantisco nulla visto che sono alle prese con le tristemente note scadenze del 16
ma comunque ci provo.
Attilio
grazie attilio gentilissimo, puoi farlo con comodo il mio non è urgente , non ti voglio disturbare più di tanto
Probabilmente il PIR quando riceve alimentazione invia HIGH.
Togli dal setup questo pezzo:
pinMode(ALTOPARLANTE, OUTPUT);
digitalWrite(sensore, LOW);
digitalWrite(ALTOPARLANTE, LOW);
e metti invece
delay (20000);
Così il PIR ha 20 secondi per fare la partenza, autocalibrazione, commutazione.
Spero che tu non abbia collegato direttamente l'altoparlante da 8/16 ohm direttamente alla uscita digitale di Arduino.
La corrente di uscita massima è di solo 40mA e rischi di bruciare Arduino.
Ci vuole un transistor.
Approfitto di 5 minuti di tranquillità

Cercando in rete ho avuto conferma che quanto afferma paulus1969 è corretto.
L'HC-SR501 quando viene alimentato ha bisogno di un certo lasso di tempo per calibrarsi.
QUI il link ad una discussione su questo stesso forum dove un'utente espone un problema simile al tuo.
QUI invece un tutorial riguardante l'HC-SR501 da cui si evince (guarda il filmato in fondo alla pagina, quello senza arduino) che è necessario un periodo iniziale di assestamento del sensore.
Purtroppo ero convinto di avere un pir disponibile per fare delle prove e invece non lo trovo più. Chissà dove è finito 
Attilio
attilio, complimenti grazie mille per il tuo intervento, è bastatato mettere il delaydi 20 secondi e tutto si è risolto,
devo allegare altri componenti al progetto che mi hanno dato delle imperfezioni sempre riguardo il software , ma apriro un altro post
Ma qualcuno ha un sistema del genere installato e funzionante senza problemi da un tempo ragionevole??
Farlo funzionare è un conto,farlo funzionare a dovere per tempo immagino sia tuta un'altra storia...