DevExperience

.Net Framework, Internet of Things & M2M, Embedded Systems, Design Patterns Paolo Patierno's Blog

MVP Award

I'm Microsoft MVP for Windows Embedded

Recent Posts

Apps & Articles

Progetti

Pubblicazioni

Tags

My Profiles

 

My Embedded101 Blog

My YouTube Channel

Windows Embedded CE 6.0

Building Embedded Devices using Windows Embedded CE 6.0 R2

Archives

Sto leggendo...

Windows Embedded

.Net Micro Framework

.Net Framework & CLR

Email Notifications

Open Source Hardware

RSS Blog Post

gennaio 2012 - Post

TinyCLR.it partecipa all’Hack Reality !

header2

whymca-logo

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 al Kinect, 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…

Posted: 11 gen 2012 17:15 da Paolo | con no comments
Inserito sotto: ,
μPLibrary : 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

.DS1307 Real Time Clock Module

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.

Posted: 5 gen 2012 10:42 da Paolo | con no comments
μPLibrary : 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.

TMP102-perspective

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

Posted: 1 gen 2012 21:48 da Paolo | con no comments