February 2014 Archives

Wed Feb 19 20:56:23 CET 2014

Supplier 0.3.21 released

Supplier 0.3.21 released!

Manual included, download available at the article page.


Posted by athos | Permanent link | File under: supplier

Sun Feb 9 19:09:02 CET 2014

Esempio

Ho completato la documentazione con un esempio. Me la sono presa comoda perché dovevo finire di leggere Infinite Jest.


Posted by athos | Permanent link | File under: supplier

Sat Feb 1 19:39:44 CET 2014

Sensori

Usare i sensori di un dispositivo Android può essere molto interessante ma spesso non banale, soprattutto per quanto riguarda l'accelerometro; il problema è che, scuotendo l'apparecchio, vengono registrati valori che impediscono di riconoscere l'orientamento corretto.

Ci sono molte soluzioni in rete, una particolarmente semplice è di calcolare il differenziale effettuando letture successive, per esempio a 100ms, e valutarne la norma euclidea per individuare lo stato di agitazione, decidendo quindi come procedere in base a questa misura.

Con SL4A possiamo procedere in questo modo.

a = androidhelper.Android()
e = a.sensorsReadAccelerometer()
time.sleep(0.1)
e2 = a.sensorsReadAccelerometer()
f = 0.0
for x, y in enumerate(e2.result):
    f += ((y - e.result[x]) / 0.1) ** 2

Ho sperimentalmente verificato che uno shake produce valori di sqrt(f) maggiori di 150, sotto il 20 possiamo parlare di quiete.

Una possibile evoluzione potrebbe essere calcolare anche la norma dell'accelerazione e rapportare a questa i valori letti sui vari assi; così il vostro algoritmo continua a funzionare anche se vi trovate in ascensore oppure su Marte.

No, in Python non uso la list comprehension appena ne ho l'occasione... trovo che pregiudichi la leggibilità...


Posted by athos | Permanent link | File under: hardware