Durante PDC 2008 a tutti i partecipanti è stato regalato una piccola scheda di sviluppo Freescale che permette di "giocare" con una serie di sensori, il più interessante dei quali è l'accelerometro.
Questo tipo di sensori è tutt'altro che una novità. Io stesso ci sto giocando nel tempo libero collegato ad un microcontroller da 8bit. Il bello di questi sensori è che sono molto semplici da usare: alimentazione, taratura sul numero di "g" di riferimento, e uscita analogica (0-5V) su tre assi (ci sono accelerometri anche solo con due assi).
In foto, con il datasheet di sfondo, c'è l'integrato che uso. Vicino alla moneta da 1 Cent c'è l'integrato "fisico".
I telecomandi Wii usano lo stesso principio e il software che è stato sviluppato intorno a questo semplice sensore è senza dubbio straordinario.
La cosa interessante per gli "addicted" di PC è che Windows 7 introduce un nuovo set di API per standardizzare il modo in cui un sistema operativo parla a dei generici sensori.
Mi viene da pensare che il gran successo della Wii abbia contribuito a fornire questo supporto. Microsoft spesso intraprende progetti anche grossi pur di dare una soluzione che sia architetturalmente valida e questo mi fa ben sperare che anche i sensori avranno questo trattamento.
L'esempio più bello presente negli esempi del kit è quello della bilia che rotola su una superficie controllato dalla posizione spaziale della schedina. Se la scheda viene inclinata da parte, la superficie disegnata sullo schermo fa lo stesso e la bilia si muove di conseguenza. Il sample è realizzato con XNA sdk e non gira purtroppo in Virtual Machine perché richiede Pixel Shader 1.1.
Non ho ancora visto le specifiche delle API ma il fatto rendere standard il modo in cui si accede ad un generico sensore è di importanza enorme. All'epoca DOS per accedere alle schede video bisognava scrivere il codice specifico per ciascuna VGA, cioè il driver, che oggi è invece controllato tramite sistema operativo e perciò l'applicazione non fa altro che usare un set standard di API.
Per i sensori è sufficiente un driver "User mode" (evitando così i BSOD) che conosca la scheda ed il resto viene accesso tramite API di Win7.
Forza signori dev, adesso ci vuole un po' di fantasia su come usare questi goodies .