giovedì 23 novembre 2017
Home / Curiosità / Leggere spie luminose o rilevare tensione con Raspberry Pi

Leggere spie luminose o rilevare tensione con Raspberry Pi

Vediamo come realizzare un economico “lettore di spie” (intese come luci di segnalazione), oppure un rilevatore di tensione.

Perché?

In quale occasione questo tipo di rilevazione può essere utile? Ad esempio avere un feedback di un comando impartito da remoto. Oppure, quante volte vogliamo conoscere se una parte di un impianto o un circuito elettrico è alimentata o meno? O se un apparecchio è acceso o spento?

Ad esempio, da remoto dico alla caldaia di accendersi, operando sul termostato, ma è molto utile avere una conferma che la caldaia sia in funzione, perché nonostante il consenso dato dal termostato, potrebbe non partire per qualche altro problema: caldaia in blocco, mancanza di carburante, ecc.

Sia leggere lo stato di una spia, che rilevare se un circuito è alimentato, sono compiti che si possono portare a termine in molti modi, che vanno dallo spiare i valori che una scheda elettronica produce per accendere un LED a utilizzare un relè collegato in parallelo al carico che si vuole monitorare.

Io però vi propongo un sistema semplice, universale, e soprattutto sicuro per il Raspberry Pi e per noi stessi (che quando si lavora con tensioni oltre i 50V, il pericolo c’è sempre, ed è meglio evitarlo).

In più, è molto economico, e si può fare anche con materiale di riciclo, il che non guasta.

Pronti a cominciare?

Leggere una spia:

materiali occorrenti

  • Sensore di luce (oppure una fotoresistenza e un paio di resistenze)
  • Raspberry Pi

Esigenza: rilevare quando una spia luminosa è accesa, oppure spenta.
Leggere una spia può essere molto utile quando si vuole conoscere lo stato di una apparecchiatura (accesa/spenta) o rilevare un evento (allarme, funzionamento, ecc). La caldaia è in blocco? Il distributore automatico è da ricaricare? L’UPS è intervenuto? O è in allarme batterie?

Si può fare in mille modi, ma questo sistema permette di non manomettere l’apparecchio da monitorare (è sufficiente si possa piazzare il sensore di fronte alla spia da rilevare, o comunque in una posizione tale che possa “vederne” la luce emessa). Permette anche di separare elettricamente il circuito monitorato dal circuito collegato al Raspberry Pi (optoisolamento), cosa da non sottovalutare quando si opera su vecchie spie funzionanti a tensione di rete. lo stesso si potrebbe fare con una telecamera e un software di analisi video come OpenCV, ma questo metodo è molto più semplice, pratico ed economico.

In commercio si trovano sensori di luce molto semplici, costituiti da una fotoresistenza (cioè l’elemento sensore vero e proprio, che varia la propria resistenza interna a seconda della luce che la colpisce) e da una parte, principalmente resistiva, che serve a regolare la soglia di intervento. Che significa? Un sensore digitale basico come questo, può dare in uscita solo 2 livelli logici: 0 (livello logico basso) e 1 (livello logico alto).

Agendo sul trimmer presente sul sensore si regola la soglia che discrimina i due stati logici, in pratica si regola la quantità di luce con cui deve “scattare” e rilevare che la luce è presente. Avete presente un interruttore crepuscolare, che accende automaticamente l’illuminazione quando la luce ambientale scende sotto una certa soglia, regolabile? Bene, qui è la stessa cosa. Una regolazione non è indispensabile al funzionamento, ma è molto raccomandabile per adattare il sensore al tipo di implementazione e di luce che dovrà andare a rilevare (colore della spia, potenza, distanza, dimensione, e soprattutto luce ambientale, influenzano la soglia di rilevamento, quindi occorre “tararla”).

Si trovano anche sensori più evoluti, analogici e digitali, che invece ritornano una valore, una misura, in base alla quantità di luce. Per questa applicazione non servono, basta il tipo più semplice. Se però già ne possedete uno abbandonato nel cassetto, potreste provare a utilizzarlo impostando la soglia tra i due stati via software (esempio se la lettura è < di 512, allora è colpito da luce, se è >= di 513, allora è al buio).

Se non avete il sensore di luce, ma avete qualche componente elettronico, potete costruirne uno molto semplicemente, ad esempio realizzando un partitore di tensione come indicato in questo schema.

Schema

R1 è la fotoresistenza: l’elemento sensore vero e proprio.

Il valore della resistenza in alto nello schema dipende dal colore, intensità della luce da rilevare, intensità della luce ambientale. Una buona idea è usare una resistenza variabile in modo da poter regolare il sensore autocostruito.
Il costo dei singoli componenti è irrisorio.

Collegandolo quindi il sensore (comprato o autocostruito) al Raspberry Pi (o a Arduino o ESP8266 o altre schede simili) potrete così importare nei vostri programmi lo stato delle spie (acceso, spento, magari lampeggiante, se lo gestite via software) e farli agire di conseguenza.

Questo sistema è praticamente universale, e se ben tarato può essere utilizzato con qualsiasi tipo di segnalazione luminosa, anche se più adatto a quelle di grandezza limitata, come appunto le spie. Se colpite da altre sorgenti luminose (illuminazione artificiale, luce diretta del sole, ecc) occorre valutare apposita schermatura per evitare “accecamenti” del sensore (ad esempio con gommapiuma o simili che impediscano al sensore di vedere luce che non provenga dalla spia.
Addirittura, se fornito di illuminazione ausiliaria (tipicamente un LED, è sufficiente), può servire per “leggere” superfici chiare o scure. La luce del LED viene riflessa diversamente e il sensore può notarne la differenza.

sensore
Sensore di luce economico, con uscita sia analogica (AO) che digitale (DO)

Nel mio caso, ho utilizzato un economico sensore di luce che ha sia uscita analogica che digitale. naturalmente, su raspberry, utilizzerò solo quest’ultima:

 

Il Raspberry Pi, riceverà un segnale a livello logico alto (o basso, a seconda del sensore che usate: eventualmente invertite on e off nelle ultime 2 righe) quando rileverà la luce. Fortunatamente, la libreria GpioZero ha una classe dedicata ai sensori di luce, che rende possibie la loro gestione, con poche righe di codice:

In questo esempio, si assume che il sensore sia collegato al pin 2 del GPIO e che quando interviene venga abilitato il pin 17 del GPIO. Può sembrare molto stupido accedere un LED quando il sensore rileva che un altro LED è acceso, ma è solo per farvi comprendere il funzionamento: in alternativa, quando rileva luce, può lanciare un comando, mandare una notifica o una mail, lanciare una funzione, ecc ecc.

Rilevatore di tensione:

materiali occorrenti

  • Sensore di luce di cui sopra
  • Spia luminosa, adatta alla tensione da rilevare
  • Piccolo cilindro opaco (tappo di biro o simili)
  • Silicone o colla termica o simili
  • Raspberry Pi

Nel paragrafo precedente abbiamo realizzato un rilevatore di indicatori luminosi. Bene, facciamo un piccolo passo in più e facciamolo diventare un rilevatore di tensione universale, optoisolato!

Esigenza: rilevare quando un apparecchio o una parte di impianto elettrico o un circuito sono alimentati.

Utilizzando una comune spia luminosa, adatta alla tensione di funzionamento del circuito o apparecchio da monitorare, in abbinamento al nostro rilevatore di indicazioni luminose, e raccogliendo il tutto in un unico corpo che lo isoli da interferenze (luminose) dell’ ambiente esterno, potremo realizzare un rilevatore di tensione optoisolato molto economico e compatto.

I due circuiti (quello da monitorare, a cui è collegata la spia, e quello di rilevazione, collegato al Rasberry Pi), risultano infatti elettricamente separati, interagiscono tra loro solo tramite la luce, quindi molto sicuri (volendo, per esigenze particolari si possono separare le due parti e collegare i componenti ottici tramite fibra ottica che trasporterà la luce tra essi, mantenendone la funzionalità anche a distanza).
La spia andrà scelta con attenzione: flusso luminoso costante e senza flicker che potrebbe portare a false letture, adatta alla tensione da rilevare, piccola e a basso consumo. Non così complicato oggi in cui i LED rispondono perfettamente a tutte queste caratteristiche (per la tensione di rete 230V, provate le spie fatte per essere inserite nei pulsanti e interruttori elettrici di casa, come ho fatto io; per tensioni inferiori, usate spie adatte: se ne trovano facilmente da 24v, 12v, 5v, 3v.. o realizzate un piccolo circuito con LED e resistenza).

spia
La spia da interruttori da incasso che ho utilizzato io.

 

tappo
Questo tappo di penna a sfera è stato sacrificato , con un taglio netto, in favore della scienza..

Inserite questa spia in un piccolo contenitore opaco, meglio se scuro e di materiale isolante (esempio ricavato dal tappo di una penna biro, o una sezione del corpo della biro stessa), lungo pochi cm. Fissatelo con del silicone o plastilina o colla, in modo che la spia sia rivolta verso l’interno del tubetto, e i due conduttori di collegamento spuntino invece dallo stesso. Meglio effettuare una realizzazione a prova di polvere e/o acqua, in modo da poterlo utilizzare in qualsiasi ambiente, quindi consiglio la colla termica o il silicone per una sigillatura totale.

Dall’altro lato del tubetto, infilate il rilevatore di luce, o almeno la sua fotoresistenza, come ho fatto io, dissaldandola dalla scheda del sensore e allungandone i fili, in modo che sia rivolta verso la spia inserita dall’ altro lato e possa “vedere” quando si accende. Fate qualche prova e regolate la soglia se necessario: quando la spia è accesa, il rilevatore deve ovviamente dare uno stato logico differente rispetto a quando è spenta, senza incertezze. Quando soddisfatti del funzionamento, potete sigillare anche questo lato.

Ora avrete un piccolo cilindretto (o comunque contenitore) stagno, con due fili da un lato (da collegare alla tensione da rilevare) e altri fili dall’ altro (da collegare al Raspberry).

Sensore DIY
L’aggeggio finito. La spia da interruttore, calza a pennello. dall’altro lato del tunnel, ho inserito la fotoresistenza, che ho svincolato dalla sua scheda allungandone i piedini con 2 fili (per riuscire a isolare più facilmente le due parti. Nel caso di sensore autocostruito, potete provare a far stare tutto nel cilindretto di plastica – magari più capiente)

Per effettuare una rilevazione di tensione, il collegamento va fatto “in parallelo”, quindi se siete sull’impianto di casa, i due fili che fanno capo alla spia andranno collegati tra fase e neutro, se invece siete su un circuito in corrente continua, tra il positivo e il negativo (naturalmente usate la spia adatta al tipo di tensione a cui la dovrete collegare), se volete rilevare la tesione su un apparecchio, collegatelo in parallelo ai conduttori che lo alimentano, che sia un motore, una pompa, una lampadina o altro.
Le dimensioni ridotte, e il fatto di essere protetto in un contenitore stagno, consentono di utilizzarlo un po’ ovunque. Si pensi alla domotica: questo piccolo oggetto può trovare alloggiamento in qualsiasi scatoletta elettrica, o addirittura nelle condutture (canaline) dell’impianto stesso, e comunicare al vostro Raspberry se quel circuito è alimentato oppure no.

La parte software è identica all’ esempio mostrato prima: il concetto è il medesimo: dobbiamo “leggere” lo stato di una spia luminosa che, in questo caso, aggiungiamo noi stessi, montata solidale al sensore, quindi, leggendo se la spia è accesa o meno, rileveremo se il circuito è alimentato o meno.
Ora sta a voi trovare il modo di impiegare questi due concetti in modo fantastico!

Qui la discussione sul forum, relativa a questa guida.

Se vuoi restare aggiornato, seguici sui nostri social: Facebook , TwitterYouTubeGoogle+Telegram

A proposito di Zzed

Zzed
Appassionato di informatica alternativa, ma perenne novellino di Linux..

Vedi Anche

BASIC su Raspberry Pi: RTB BASIC

Introduzione Il BASIC è un linguaggio di programmazione ad alto livello che ha oltre 50 …

Powered by themekiller.com