Month: January 2012

TinyCLR.it partecipa all’Hack Reality !

5822.header2_17C4DD94

 

1667.whymca-logo_53C0F97C

 

Ho il piacere di comunicarvi che la community TinyCLR.it, di cui faccio parte, parteciperà all’Hack Reality che si terrà il prossimo 4 Febbraio a Bologna presso il CNR.

Si tratta di un hackathon organizzato da WhyMCA ed orientato all’interazione tra mobile e realtà. Ci saranno numerose tecnologie in gioco, dall’augumented reality con ARchitect alKinect, da OpenPicus ed Arduino fino al .Net Micro Framework, passando per Lego Mindstorms.

Ovviamente TinyCLR.it parteciperà con un progetto basato sulla piattaforma embedded di Microsoft !

Purtroppo io non potrò esserci ma fino a quella data darò il mio apporto per le idee e la realizzazione del progetto…

uPLibrary : un driver per un RTC (Real Time Clock)

Un Real Time Clock è un dispositivo la cui funzione è quella di orologio all’interno di un sistema embedded. Esso conteggia il tempo reale sfruttando un oscillatore al quarzo anche quando il sistema non è alimentato, grazie ad una batteria autonoma. Uno degli RTC più conosciuti è il DS1307 prodotto dalla Maxim.

E’ proprio per questo dispositivo che ho sviluppato un driver managed aggiungendolo nella mia libreria μPLibrary, alla versione 1.5, per il .Net Micro Framework. Per il mio sviluppo, ho utilizzato il modulo della Sparkfun al seguente link che include l’RTC in questione ed il vano per la batteria di backup, oltre all’oscillatore al quarzo. Ciò che manca sul modulo, sono le resistenze di pull-up da collegare ai pin SDA ed SCL (che dovrete aggiungere esternamente), considerando che il DS1307 può interfacciarsi con un qualsiasi microprocessore mediante un’interfaccia I2C

0753.rtc_114E7101

Il driver sviluppato definisce la classe DS1307, la quale espone banalmente tre metodi :

  • ConfigureSquareWave : permette di configurare un’eventuale onda quadra che il DS1307 può fornire su uno dei suoi pin di output (SQW/OUT);
  • SetDateTime : esegue il set della data/ora nella memoria interna del chip;
  • GetDateTime : permette di ricavare la data/ora corrente dal chip;

Come sempre ho aggiornato il progetto della μPLibrary sul sito CodePlex ma potete scaricare la libreria utilizzando il plugin Nuget per Visual Studio. La libreria è sempre presente anche nella Nuget Gallery.

uPLibrary : un driver per un sensore di temperatura

Anno nuovo…funzionalità nuove !

La μPLibrary si arricchisce di un nuovo driver per il sensore di temperatura TMP102 della Texas Instruments. Si tratta di un componente digitale a bassa potenza al quale è possibile interfacciarsi mediante protocollo I2C oppure SMBus (un sottoinsieme dell’ I2C). E’ ovviamente caratterizzato da un convertitore analogico-digitale (ADC) con una risoluzione di 12 bit (che determina una precisione di 0,0625 °C) ed ha un’accuratezza di circa 0,5 °C.

Il driver che ho sviluppato sfrutta la potenzialità e la semplicità del .Net Micro Framework per quanto riguarda l’interfacciamento con componenti attraverso il protocollo I2C sfruttando la classe I2CDevice (namespace Microsoft.SPOT.Hardware). La classe implementata, TMP102, fornisce un costruttore e delle properties attraverso le quale poter inizializzare e settare i principali parametri di funzionamento del sensore oltre al semplice metodo Temperature()che ovviamente restituisce la temperatura rilevata.

Considerando le dimensioni estremamente ridotte del componente (nell’ordine dei 2 mm), per poterlo utilizzare è utilissima la TMP102 breakout board distribuita dalla Sparkfun. E’ proprio ciò che ho utilizzato io per questo sviluppo insieme alla mia board Netduino.

2061.TMP102-perspective_56065B6F

Come sempre vi rimando al link del progetto ufficiale su Codeplex e vi ricordo che la libreria è disponibile anche attraverso Nuget.