PROBLEMA CO NSENSORE PIR

Buonasera, sto creando un piccolo allarme che quando rileva un movimento mi invia un sms sul mio cellulare ! ma il problema è che appena attivo l'allarme il sensore si attiva anche senza rilevare movimenti e comincia ad inviarmi sms finché non lo fermo :o ! Il codice mi sembra esatto ma forse sbaglierò qualcosa altrimenti avrebbe dovuto funzionare bene ... vi posto il codice

void loop() 
{
 allarmeState = digitalRead(allarmePin);
 if (allarmeState == HIGH) {
 if ( STATOALLARME == 00) {
  sendFeedbackSMS("339000000","ALLARME","PERICOLO FURTO");
    STATOALLARME = LOW;
    
  } }

addirittura prima ho staccato il sensore e gli sms continuavano ad arrivare !!!

Forse è il caso di procedere per gradi... Innanzitutto fai sì che quando rilevi movimento si accenda un led, anche quello integrato sul pin 13 va bene. In questo modo potrai facilmente verificare "sperimentalmente" che la rilevazione del movimento funzioni correttamente.

Quando poi sei certo di questo, sostituirai l'accensione del LED con l'invio dell'SMS.

PS: STATOALLARME = LOW e STATOALLARME == 00 fanno un po' a pugni... Qual è il senso di questa variabile?

Il senso è se viene rilevato un movimento e lo stato dell'allarme è 00 (che corrisponde ad allarme attivato) deve inviarmi l'sms altrimenti se rileva un movimento 01 (disattivato anche se rileva il movimento non deve fare nulla

Edison ho fatto la prova con il led ma il problema rimane rimane il led acceso anche senza movimenti.

Grazie della risposta anche a te nid69ita ma lasciando stare quando l'ho disconnesso il problema quale può essere (che viene dato con il sensore normalmente collegato come se rimanesse sempre su high) ? grazie

Up
ragazzi ho notato che il sensore rimane sempre aperto l'ho provato con un led e non chiude mai il segnale!! Ma la cosa assurda è che lo stesso problema viene dato su due sensori differenti dello stesso modello! È possibile che bisogna regolarl io sono rotti ?

Link al sensore per vedere il prodotto ?

Guglielmo

Vi posto il nome del sensore come da articolo dallo store
PIR sensore infrarosso movimento HC-SR501 pic arduino shield - ART. CE14

Quale Store?

Certo che il led rimane acceso, era solo una prova per debuggare il problema senza inviare milioni di SMS. Anche perché forse dimentichi che il loop viene eseguito milioni di volte al secondo e, per come l'hai scritto tu, manda un SMS a ogni iterazione... (Vedi quanto detto da nid)

Quanto al sensore, immagino che ci siano sopra un paio di potenziometri (nonché un jumper): ti sei preoccupato di capire a cosa servono?

Buondì ! vi posto il codice per intero

const int allarmePin = 2;     // the number of the pushbutton pin
      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

// Array per contenere numero di telefono relativo a
char senderNumber[20];  

// Stringa messaggio in arrivo
String message = "";

void setup() {
  // initialize the pushbutton pin as an input:
  pinMode(allarmePin, INPUT);
}

void loop() {
 // inizzializza porte seriali ed aspetta che le porte si aprano
 
  if (allarmeState == HIGH) {
  sendFeedbackSMS("392000000","ALLARME","PERICOLO FURTO");
    delay(4000);
  } 
}

non ho fatto altro che cambiar ei nomi alle variabili dell'esempio button nella categoria digital !

Allora NON ci capiamo ... IL LINK AL PIR devi postare !!! Che col nome NON ci facciamo un bel niente !

Guglielmo

non riesco a trovare una documentazione sul modello ! non c'è nulla in giro

@dandi98... sto facendo quello che dovresti fare tu :slight_smile: ... è per caso questo?!?

vedi un po' cosa fa il jumper: nonè per caso che l'hai impostato in 'repeat trigger' ???

Ciao!

Ciao, grazie per la risposta .. il sensore non è dotato di jumper però gli ho fatto una foto magari un occhio più esperto può farsi un idea

Foto sensore: Dropbox - Error

Ok, il jumper non c'è, ma i potenziomentri di cui parlavo prima sì. TI SEI CHIESTO A COSA SERVONO??? Se guardi il PDF che ti hanno linkato magari troverai anche la risposta e capirai cosa devi fare.

Certo che fai proprio perdere la voglia di aiutarti. La gente perde tempo a scriverti suggerimenti e soluzioni e tu manco ti preoccupi di leggerli e di fare quanto ti si chiede.

Mi spiace che dici questo.. io quando chiedo un aiuto e mi viene dato veramente vorrei rendermi utile x ricambiare il favore ma non ho aperto quel pdf perchè parlava di un sensore con jumper diverso dal mio ! adesso lo leggo e vi faccio sapere :))

dandi98:
non riesco a trovare una documentazione sul modello ! non c'è nulla in giro

Ti ho chiesto il LINK al prodotto ! Da qualche parte lo avrai comprato (QUI suppongo) o ti è piovuto dal cielo ? ? ? :smiling_imp:

Guglielmo

... dalla foto sembra che non abbia il jumper ma ha le piazzole da saldare :slight_smile:
Io tenterei a seguire il datasheet che ti ho dato, tanto i modulini cinesi solitamente sono un copia e incolla di altri eheheh

Ciao!

dandi98:
Buondì ! vi posto il codice per intero

const int allarmePin = 2;     // the number of the pushbutton pin

int buttonState = 0;         // variable for reading the pushbutton status
char senderNumber[20];  
String message = "";
void setup() {
 pinMode(allarmePin, INPUT);
}
void loop() {
 if (allarmeState == HIGH) {
   sendFeedbackSMS("392000000","ALLARME","PERICOLO FURTO");
   delay(4000);
 }
}



non ho fatto altro che cambiar ei nomi alle variabili dell'esempio button nella categoria digital !

Ma stiamo ancora discutendo del HW quando lo sketch è ERRATO ? Ne hai postati due pezzi di codice errati, questo poi!! Nella loop() NON leggi mai il pin, MANCA:
allarmeState=digitalRead(allarmePin );

Orpo, mi son perso il fatto che aveva postato il codice per intero...
Non l'ho neanche guardato perchè, viste le dimensioni, pensavo fosse slo la parte che secondo lui non funzionava (se è per quello mi sembra che anche la variabile allarmeState non sia neanche dichiarata)...

hai ragione! :o