Month: November 2011

uPLibrary : un driver per gli ultrasonic sensor

La libreria che sto sviluppando per il .Net Micro Framework si arricchisce sempre di più con un nuovo managed driver per la gestione degli ultrasonic sensor (sensori ad ultrasuoni), che permettono di misurare le distanze dagli oggetti che li circondano.

Un sensore di questo tipo emette un’onda sonora ad elevata frequenza (ultrasuono, al di fuori delle frequenze udibili dall’orecchio umano) e rileva l’echo dell’onda stessa di ritorno da un oggetto sul quale è rimbalzata. Per i miei progetti ho acquistato questo sensore ma il funzionamento è fondamentalmente comune a tutti gli altri. Esso prevede banalmente tre pin rispettivamente per l’alimentazione, la massa ed il pin per pilotare il sensore e leggerne la misura eseguita.

3542.ultrasonic_image_1656E964

Come si evince dalla figura sottostante, è necessario inviare un impulso di una certa durata (molto breve) per avviare la misurazione da parte del sensore che internamente emette un suono con una frequenza elevatissima (ultrasuoni). Immediatamente dopo, il sensore alza il pin di uscita e lo abbassa solo nel momento in cui rileva il ritorno del suono emesso a seguito del rimbalzo nell’ambiente circostante.

6765.ultrasonic_1C6E1032

Per poter determinare la distanza dall’oggetto, basta partire dalla conoscenza della velocità del suono (343,2 m/s ad una temperatura di 20 °C) e rilevare dal sensore stesso la durata del livello alto del segnale in uscita.

Il driver che ho messo a disposizione, fornisce un costruttore con cui impostare il pin del micro collegato al sensore e definire il periodo con cui si è interessati alla misura eseguita.

Infatti, il driver utilizza internamente un Timer e periodicamente esegue la misura e solleva l’evento Distance, il quale mette a disposizione un UltrasonicEventArgs in cui troviamo la distanza misurata in mm ed il tempo di rimbalzo in us.

Ovviamente, è possibile disattivare il Timer direttamente nel costruttore oppure utilizzando la property Period, impostando il periodo a Timeout.Infinite. In questo caso, non avendo un feedback automatico dal driver, è possibile sfruttare il metodo GetDistance().

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.2.0.0.

ChevronWP7 : sblocco legale dei dispositivi WP7 per applicazioni homebrew finalmente disponibile !

chevron

Fino ad oggi, per poter eseguire il sideloading delle proprie applicazioni sui dispositivi Windows Phone 7, era necessario disporre di un account di sviluppattore (al costo di 99$ sull’AppHub Microsoft) anche nel caso non si fosse interessati a caricarle sul marketplace ma solo ed esclusivamente per uso personale.

Dopo alcuni mesi, in accordo con Microsoft ed in maniera assolutamente legale, il team diChevronWP7 ha reso disponibile una procedura per consentire l’installazione ed il debug di applicazioni homebrew sui nostri terminali, il tutto con soli 9$.

Per eseguire lo sblocco, è necessario :

  • essere in possesso di un Windows Live ID (che può essere diverso da quello utilizzato sul telefono);
  • acquistare un token di sblocco al costo di 9$ mediante PayPal;
  • scaricare ed installare il tool di sblocco che è simile a quello per la registrazione ufficiale all’AppHub Microsoft;

Al termine di questa procedura, il telefono verrà inserito in una coda per essere sbloccato.

Maggiori informazioni le trovate sul sito ufficiale del team ChevronWP7 e nella sezione Labsper eseguire lo sblocco.

2744.chevronwp7_2_07031651