
Non molto tempo fa vi avevamo parlato di uno dei premi in palio nel nostro contest Review4U 2.0, Archimede, e ve lo avevamo presentato come uno starter kit nato e cresciuto con l'idea di diventare una piattaforma per la domotica. Oggi lo vediamo al lavoro in un'applicazione davvero interessante: una stazione meteo.
Se avevate avuto la curiosità di vederlo all'opera, questo è l'articolo che fa per voi e che stavate aspettando.
Oggi Archimede verrà impiegato per realizzare un prototipo di centralina meteo. Essa si occuperà di lavorare su diversi fronti: dall'acquisizione dei normali parametri quali temperatura, tasso di umidità, pressione ma anche velocità del vento e sua direzione, anche quantità di pioggia, controllo ed azionamento dei motori delle tende parasole.
Sembrerebbe un'applicazione banale ma tutto nasce da una considerazione abbastanza semplice: se piove non c'è il sole. E come tutte le idee geniali, Archimede si propone di diventare una piattaforma di automazione per un processo che naturalmente tutti noi concepiamo come indispensabile: chiudere le tende parasole quando non servono ed evitare che si bagnino.
C'è un'altra circostanza in cui è indispensabile che la chiusura delle tende avvenga: quando c'è troppo vento e rischiano di strapparsi. Vogliamo, quindi, andare a gestire i motori di controllo del movimento della tenda per ritirarla in tempo e salvaguardarla dalle intemperie.
Per fare questo possiamo semplicemente scrivere una routine di questo tipo:
// Se il vento è più forte di 25 km/h oppure piove if(anemometer.WindSpeed > 25 || pluviometer.RainQuantity > 0) { // ritraggo le tende parasole generando un impulso di un secondo sul relè awning.On(1000); }
Naturalmente il tempo indicato tra parentesi è pari ad un secondo e questo intervallo di tempo risulta certamente discrezionale del programmatore e va adattato a seconda del tipo di tenda di cui stiamo parlando. Non si possono poi non considerare le dimensioni e la potenza del motore.
Certamente qui si tratta di un esempio ipotetico che però può essere ampliato ed anche adattato alle singole esigenze del problema specifico.
Il concetto alla base di questo kit ma anche dell'articolo di oggi è dimostrare come sia possibile un approccio sistemico ai problemi più disparati tra loro grazie all'utilizzo di un kit molto versatile.
L'utente inizia ad interagire con il mondo reale sfruttando la programmazione ad oggetti in linguaggio C#.
Niente male, vero?
Il progetto, e qui stiamo parlando di software, è costituito, come vedremo tra poco, da un programma che contiene la logica del funzionamento, program.cs, qualche funzione di utilità (utility.cs) ed una classe che implementa un bus digitale I2C (softwareI2C.cs).
Infatti, nei files allegati, che completano la documentazione del progetto, abbiamo tre elementi molto importanti. Un file *.zip, denominato WeatherStation_VS2010Project.zip, e due file di immagine, rispettivamente pinout.jpg e rain gauge.jpg.
Se il primo, come si intuisce facilmente dal nome, contiene tutti i files necessari per l'esecuzione del progetto in ambiente Visual Studio, le immagini allegate servono a dimostrare il pinout della scheda, e quindi rendere più semplici i collegamenti da effetturare, specie per i novizi, e dimostrare come è realizzato il sensore che misurerà la quantità di pioggia caduta. Naturalmente quest'ultimo ha una limitazione fisica, la sua dimensione. Non potrà effettuare certo una scansione di un'area grande a piacere ma piazzato opportunamente e fatto lavorare insieme con l'anemometro certamente contribuirà ad una proficua raccolta di dati.
Un bel vantaggio, non trovate?
Ecco un'immagine che permette di vedere un sensore che indica la direzione del vento:
Ed eccone un'altra in cui vediamo l'anemometro:
Ecco, inoltre, un'immagine del sensore SHT15:
Ed ecco una immagine del barometro digitale di cui abbiamo detto in precedenza:
Il progetto, oltre ad utilizzare le librerie standard del framework, fa riferimento alla libreria Selettronica.NETMF.UPC.ddl. Essa contiene la definizione dei pin della scheda Archimede ed altri che permettono un utilizzo immediato. I sorgenti di questa libreria possono essere scaricati liberamente tra gli allegati a questo articolo.
Quello che troverete è un codice abbastanza ben documentato e commentato che costituirà, ne siamo sicuri, un'ottima base per ogni sviluppo futuro.
L'intero progetto è studiato per essere realizzato sul kit base di Archimede e pertanto utilizza soltanto le risorse disponibili sulla scheda senza che sia necessario l'acquisto di componenti aggiuntivi e quindi, a parte i sensori meteo che non sono forniti con il kit, non avrete bisogno di altro.
I sensori in questione sono:
- barometro digitale MLP115A collegato su bus I2C;
- sensore digitale SHT15 con funzione di igrometro e termometro collegato su bus I2C;
- anemometro;
- pluviometro;
- sensore di direzione del vento.
L'anemometro è, di fatto, un interruttore reed che si apre e si chiude ad una frequenza che è proporzionale alla velocità del vento. Il sensore di direzione del vento utilizza una serie di interruttori reed per far sentire alla scheda una variazione di resistenza. Per comprendere al meglio tutto questo è consigliata la lettura del seguente articolo.
Parlavamo prima degli allegati. Ecco, tra i files che troverete c'è anche la documentazione completa dei sensori che sarà necessario impiegare perchè tutto funzioni al meglio. Così avrete già sotto mano tutto ciò che vi occorre per "portare a casa il risultato."
Se avete bisogno di indicazioni su come fare per reperire i sensori potete dare uno sguardo ai seguenti link per il barometro oppure per l'igrometro oppure ancora per la anemometro, il sensore di direzione del vento ed il pluviometro che sono compresi all'interno di comuni stazioni meteo tipo quella che potete trovare qui.
Allegati
WeatherStation_VS2010Project_0

Penso che questo progetto sia molto utile, oltre che interessante. E proprio per questo motivo ti propongo una possibile variante: proteggere il proprio cane dal mal tempo (o dal bel tempo!!!).
Pensavo che, se qualcuno possiede un cane, ed ha un giardino in cui il cane dorme o passa la giornata, si può utilizzare un sistema che, in caso inizi a piovere, chiuda la tenda per permettere al cane di stare al coperto. Forse in tal caso la tenda dovrebbe essere fatta di un materiale più resistente!!! Addirittura non servono sensore di vento, barometro etc… Per cui la tenda si dovrebbe aprire quando piove, mentre si riavvolge in caso di bel tempo, permettendo il passaggio della luce. Secondo me è una bella idea per chi ama i propri amici a quattro zampe.
E perché non proteggerlo anche nel caso di sole diretto? Se utilizzassimo un sensore di irraggiamento che, nel caso di irradiazione diretta, facesse aprire la tenda, potremmo far sì che il nostro amico si possa riparare dal sole!
Ebbene sì, sono un amante dei cani!!! (ma si può proteggere tutto in questo modo, che siano piante di fiori o altri tipi di animali, o qualunque altra cosa!!!)
Il bello dell’open source è che puoi cambiare a piacere le attivazioni, basta invertire il comando software e la tenda si apre in caso di pioggia. Oppure puoi mettere un sensore sul balcone e quindi fare questa attivazione solo se il cane è sul balcone, altrimenti sarebbe inutile 🙂
Infatti, sapere se il cane è presente aiuterebbe senza dubbio 🙂
Bello mettere l’elettronica al servizio degli animali!!!
Sì, si era capito che ti piacciono i cani 🙂
Comunque come modifica non è male ma se non ho frainteso l’articolo, lo scopo di ritirare la tenda doveva essere proteggerla dal vento forte oltre che dalla pioggia per cui anche se il materiale fosse più resistente non si correrebbe lo stesso rischio?
Però non è male questo sistema che ruota attorno al cane… Chissà se i creatori di Archimede sono cinofili 😀
Quì entra in gioco il sensore PIR di cui ti ho parlato 😉
Beh, dipende sempre da qual’è la cosa che ti interessa proteggere. .. Se mi interessa proteggere il mio cane, sono disposto a sacrificare una tenda, vorrà dire che se si rompe me la compro di nuovo. Se invece sei intenzionato a proteggere la tenda, allora credo proprio che questa tenda non possa servire Pet aiutare il tuo cane a ripararsi dalla pioggia, non sarebbe adatta. È chiaro che le due necessità sono contrastanti. Solitamente chi ama gli animali, le piante, etc. È disposto a spendere un po’ di soldi per proteggerli, e utilizzare una tenda con il rischio che si rompa è una di quelle spese che io affronterei volentieri. È una cosa personale insomma! Si può anche pensare di proteggerere una macchina, nel caso in cui non si abbia un garage, insomma, e anche in tal caso credo che ne varrebbe la pena!
Infatti, grande idea!
Scusa ma nell’articolo parli dei files del progetto che è possibile scaricare con gli allegati. Io però non vedo allegati in questo articolo. Essendo interessato a questo progetto,mi puoi per favore dire come averli?
Grazie.
Allegati inseriti, grazie della segnalazione!
Grazie a te.