uPLibrary : un driver per i Passive Infrared Sensor (PIR)

Ho integrato nella mia libreria per il .Net Micro Framework un driver per poter gestire un sensore PIR (Passive Infrared Sensor) per la rilevazione dei movimenti. Per capirci è uno di quei sensori di cui sono dotati gli impianti di allarme casalinghi.

La nuova classe Pir è molto semplice da usare e prevede di fornire al costruttore tutte le informazioni relative al pin del nostro micro al quale intendiamo connettere l’uscita del sensore PIR. Tra di esse ovviamente c’è l’identificativo del pin, attivazione o meno dell’eventuale filtro per il disturbo, eventuale resistenza di pullup/pulldown, fronte o livello dell’interrupt sul quale vogliamo avere segnalazione di movimento o meno. Infine, va specificato lo stato iniziale del driver, se abilitato o meno.

Inoltre mette a disposizione :

  • Motion : un evento che viene sollevato quando viene rilevato un movimento o meno (dipende da come abbiamo impostato la segnalazione dell’interrupt nel costruttore). Ad esso è associata la class PirEventArgs che ha le due seguenti proprietà :
    • Motion : indica se c’è stato o meno un movimento;
    • Time : timestamp in cui si è verificato un cambiamento di stato del sensore (rilevato movimento o meno);
  • Enabled : proprietà attraverso la quale possiamo abilitare o meno le segnalazioni da parte del PIR;

Per i miei test ho usato il seguente componente abbastanza economico.

6327.d21d53a70507f8098a63971d0655347a_image_300x225_7CCA2CB2

Esso prevede banalmente tre pin di collegamento, ossia la massa, l’alimentazion ed un pin di uscita che va collegato al pin del nostro micro. Ogni qual volta il sensore rileva un movimento, esso fornisce una tensione di 3,3 V sul pin di uscita che torna a 0 V in assenza di movimento. Sfruttando i due fronti (salita e discesa) del segnale, è possibile configurare l’istanza della classe Pir in modo che sollevi l’evento solo in caso di movimento oppure in presenza di una variazione (movimento, non movimento e viceversa).

Il progetto lo trovate su Codeplex e nella Nuget gallery (sia sul sito che all’interno del plugin per Visual Studio 2010) aggiornato alla versione 1.1.0.0.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s