Sensore PIR: primo progetto e test

Lunedì sono arrivati tanti nuovi sensori e schede da usare con Arduino, non ho resistito alla tentazione di sperimentare da subito uno di essi: il sensore PIR sensore pir Questo sensore, secondo le specifiche rilasciate dal produttore, è in grado di rilevare un oggetto in movimento in una stanza fino ad una distanza di 7 metri e con un angolo di incidenza di 110°. Per alimentarlo basta Arduino con i suoi 5v in quanto il suo assorbimento è di 50μA. Il sensore presenta una cupola in plastica, removibile, sfaccettata in modo da permettergli la copertura dei 110° indicati: sensore PIRtolta la cupola che fa da diffusore del raggio IR il sensore si presenta come nella figura a destra. Dal sensore fuoriescono 3 cavi di collegamento, da sinistra a destra:

  • nero: GND o massa ( polo negativo di alimentazione )
  • rosso: 5V ( polo positivo di alimentazione )
  • verde: segnale digitale

Il tipo di colegamento puoi vederlo meglio in figura: connessioni PIR il funzionamento è semplice: quando rileva un movimento l’uscita del segnale passa da LOW ad HIGH, secondo le specifiche del costruttore l’uscita passa da 0,4v a 4v, quindi da una soglia inferiore ai 2,5v ad una superiore. Il sensore presenta anche un potenziometro per regolare il tempo di eccitazione dopo aver rilevato il movimento, ossia il tempo in cui il pin del segnale digitale resta a HIGH prima che, in assenza di movimento, torni a LOW: delay time PIR ho eseguito qualche test ruotando al massimo grado in senso orario il potenziometro di delay rilevando con arduino un tempo di circa 19-20 sec prima che il sensore torni a LOW, in assenza di movimenti rilevati. Specifico in assenza di movimenti rilevati in quanto se nel suo raggio d’azione si ripresenta un oggetto in movimento il suo stato resta HIGH in quanto il contatore interno si resetta e comincia a contare 19-20sec da quel momento. Per realizzare il progetto che ti propongo ho posizionato il potenziometro come in figura, riducendo a minimo il tempo tra rilevazione dell’oggetto e passaggio a LOW.

Il progetto con il sensore PIR

per eseguire i test ti occorre:

  • n.1 arduino uno o equivalente ( duemilanove, mega, leonardo, mini, ecc… )
  • n.1 sensore PIR
  • n.1 breadboard
  • n.1 resistenza da 470Ω
  • n.1 led rosso
  • n.1 led verde
  • qualche cavo per breadboard

ora che hai tutto puoi collegarlo come in figura:

schema sensore PIR

Lo sketch

L’esempio ce puoi utilizzare per testare il sensore PIR con arduino è molto semplice, l’idea è che quando passi un oggetto in movimento passa davanti al sensore la luce verde si accende, ovviamente invertendo i pin a cui sono connessi i due led puoi ottenere il risultato inverso, ossia che il led verde resta sempre acceso ed il led rosso si accende quando il sensore PIR rileva il movimento di un oggetto.

int segnal   = 3;
int ledGreen = 4;
int ledRed   = 5;

void setup()
{
  pinMode( ledGreen, OUTPUT );
  pinMode( ledRed, OUTPUT );

  digitalWrite( ledGreen, LOW );
  digitalWrite( ledRed, LOW );
}

void loop()
{
  int pirSegnal = digitalRead( segnal );
  int pirSegnal2= (pirSegnal == HIGH)? LOW:HIGH;

  digitalWrite( ledGreen, pirSegnal );
  digitalWrite( ledRed, pirSegnal2 );

  delay(100);
}

Se leggi lo schema ti accorgerai che le prime linee determinano i pin a cui hai collegato i led ed il segnale digitale proveniente dal sensore pir.

Il passaggio di stato e quindi l’accensione del led verde nella condizione di allarme lo ottieni con l’operazione di if presente alla linea 17: in cui il valore digitale letto sul pin 3 ( pirSegnal ) viene invertito da HIGH a LOW e viceversa;

Gli altri comandi ti sono tutti oramai noti.

Il video

ed ecco un video demo in cui il led verde si accende ogni volta che la mano passa nell’area sensibile del sensore:

Buon divertimento !!!

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: https://www.mauroalfieri.it/elettronica/sensore-pir-primo-progetto-e-test.html

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.