Sensori Android: cosa misurano giroscopio e barometro

Sensori Android: cosa misurano giroscopio e barometro
Contenuti dell'articolo

Un telefono sa se lo tieni in verticale, in che direzione stai guardando e a che piano sei di un palazzo. Non è magia: dentro ci sono cinque o sei sensori MEMS, strutture di silicio grandi pochi millimetri che misurano movimento e ambiente. La parte che quasi nessuno racconta è che ognuno di questi sensori sbaglia in modo preciso e prevedibile.

Qui trovi cosa misurano i sensori Android, con quale unità e con quale precisione reale, perché la bussola si confonde in auto e perché il barometro è l’unico che ti dice il piano di un edificio. In chiusura, un test in tre passaggi per capire se i tuoi funzionano davvero.

Quali sensori ha davvero un telefono Android?

Il pacchetto base è composto da accelerometro, giroscopio, magnetometro (la bussola) e, sui modelli completi, barometro. Intorno ci sono sensori di prossimità, luminosità, impronta digitale e il sensore Hall che rileva la cover chiusa.

Android non espone soltanto i chip fisici. Il sensor hub, un piccolo processore a basso consumo, combina i dati grezzi e crea sensori virtuali: gravità, accelerazione lineare, vettore di rotazione. Un’app chiede l’orientamento e il calcolo avviene fuori dal processore principale, senza svegliare il telefono.

SensoreCosa misuraUnitàPrecisione tipicaDove si usa
Accelerometroaccelerazione propria, gravità inclusam/s²±0,05 m/s²rotazione schermo, passi, cadute
Giroscopiovelocità angolarerad/sderiva di frazioni di grado al secondorealtà aumentata, giochi, video
Magnetometrocampo magnetico terrestreµT2-3 gradi di heading, se pulitobussola, Mappe, orientamento
Barometropressione atmosfericahPa0,1-0,3 m di dislivello relativopiano negli edifici, quota, meteo
Prossimitàostacolo vicino alla cornicecm, on/offpochi centimetrispegnere lo schermo in chiamata
Infografica dei sensori Android: accelerometro, giroscopio, magnetometro, barometro e prossimità con unità di misura

Accelerometro e giroscopio: cosa misurano e perché vanno fusi

L’accelerometro MEMS contiene una massa sospesa su micro-molle. Quando il telefono accelera, la massa si sposta e la capacità elettrica tra le armature cambia. Il chip converte lo spostamento in tre valori, uno per asse, in metri al secondo quadrato.

Il dettaglio che genera confusione è che il sensore non distingue accelerazione e gravità. A telefono fermo sul tavolo legge 9,81 m/s² verso l’alto, perché la gravità lo tira e le molle reagiscono. Per questo Android offre due sensori derivati: gravità, che isola la componente costante e accelerazione lineare, che la sottrae.

Esempio concreto: se ruoti lo schermo e l’immagine resta dritta, sta lavorando l’accelerometro. Se il conta-passi sale mentre cammini, sta leggendo un’oscillazione verticale tra 1,5 e 2,5 Hz, il ritmo tipico del passo umano. La scala arriva a ±2 g, cioè ±19,6 m/s² e nei chip più sensibili a ±8 g: oltre, il dato satura e si taglia.

Il giroscopio misura la velocità di rotazione in radianti al secondo, sfruttando l’effetto Coriolis su una massa che vibra. Non ha bisogno di riferimenti esterni, quindi reagisce in pochi millisecondi anche in ascensore o in auto.

Il suo difetto è la deriva. Errori di fabbricazione e temperatura fanno sì che a telefono fermo il chip continui a leggere una rotazione minima, diversa da zero. Sommando quei valori nel tempo, l’angolo calcolato si allontana dalla realtà: dopo un minuto puoi avere qualche grado di scarto.

Per questo Android usa la fusione dei sensori. Il giroscopio fornisce la rapidità, l’accelerometro corregge l’inclinazione rispetto alla gravità, il magnetometro corregge la direzione assoluta. Il risultato è il vettore di rotazione, il sensore virtuale che leggono le app di realtà aumentata. In un gioco di guida il volante risponde al giroscopio, ma se ruoti il telefono di 90 gradi e lo tieni fermo, dopo qualche secondo il sistema si riallinea. Quella pausa è la fusione che lavora.

La frequenza di lettura la decide l’app. Android offre quattro profili: normale a 5 Hz, interfaccia a 15 Hz, gioco a 50 Hz e massima oltre i 100 Hz. Più alta è la frequenza, più preciso è il movimento e più sale il consumo.

TIP. Se un’app di realtà aumentata “scivola”, metti il telefono su un piano e ruotalo lentamente di 360 gradi. Se l’immagine torna al punto di partenza, i sensori sono allineati. Se resta uno scarto fisso, l’app non sta correggendo con la bussola.

La bussola impazzisce vicino al metallo: c’è un motivo fisico

Il magnetometro misura intensità e direzione del campo magnetico terrestre, in microtesla. In Italia il campo vale tra 45 e 50 µT, con un’inclinazione verso il basso di circa 60 gradi. Il chip legge i tre assi e l’angolo di heading si ricava dalla componente orizzontale.

Il problema è che il campo terrestre è debole. Un magnete da cover, un altoparlante, il telaio di un’auto o una ringhiera di ferro producono campi molto più intensi e deformano la lettura. Non è un guasto: il sensore misura ciò che trova.

Per questo Android riporta lo stato di accuratezza su quattro livelli: alta, media, bassa, inaffidabile. Quando scende, l’app dovrebbe chiedere la calibrazione. Il gesto classico, muovere il telefono a figura otto, serve a fargli leggere molte direzioni diverse e a stimare l’offset dei tre assi.

Esempio pratico: in auto la bussola di Google Maps spesso non segue il cofano. Sotto i 5 km/h l’app usa l’heading magnetico e può sbagliare di 20-30 gradi; sopra una certa velocità passa alla direzione di movimento calcolata dal GPS, molto più affidabile. Se la freccia gira a caso nel parcheggio, non è Maps che è impazzita.

Le custodie con chiusura magnetica spostano l’heading in modo permanente finché restano montate. Togli la cover e rifai la calibrazione prima di dichiarare rotta la bussola.

Il barometro dice a che piano sei, non a che altitudine

Il barometro misura la pressione atmosferica in ettopascal, quasi sempre mostrata in hPa. La pressione cala con la quota e al livello del mare 1 hPa corrisponde a circa 8,4 metri.

Un piano di un palazzo è alto circa 3 metri, quindi tra piano terra e primo piano la pressione scende di 0,35 hPa. Sembra nulla, ma i barometri MEMS risolvono variazioni di 0,01 hPa, cioè decine di centimetri di dislivello.

Il limite è il valore assoluto. La pressione cambia con il meteo, anche di 10 hPa in un giorno di perturbazione: sarebbero 84 metri di errore se leggessi l’altitudine senza correzione. Per questo il dato si usa in modo relativo, tra due punti vicini nel tempo, oppure insieme al GPS che fornisce la quota assoluta.

Esempio: in un centro commerciale il GPS ti mette nel parcheggio, non al secondo piano. Con il barometro l’app capisce il salto di quota e sceglie il piano giusto, se hai una mappa indoor. Lo stesso meccanismo accorcia il tempo di fix in città, perché il ricevitore sa già a che quota cercare.

Test rapido: apri un’app di diagnostica, annota la pressione, sali due piani in ascensore e ricontrolla. Il calo atteso è intorno a 0,7 hPa. Se il numero non si muove, il telefono non ha il barometro.

Quali sensori mancano sui telefoni economici

Il contratto Android (CDD) rende obbligatorio l’accelerometro e lascia facoltativi giroscopio, magnetometro e barometro. Su molti modelli da 150 euro il giroscopio non c’è e la scheda tecnica spesso non lo dice.

Il trucco commerciale si chiama giroscopio virtuale: un sensore software che ricava la rotazione da accelerometro e magnetometro. Funziona per ruotare lo schermo, non per giocare o per la realtà aumentata, perché ha latenza alta e si perde nei movimenti rapidi.

Il barometro manca quasi ovunque sotto i 400 euro. Il magnetometro è più diffuso, ma su alcuni modelli molto economici è assente e la bussola non esiste: l’app di mappe mostra la direzione solo quando ti muovi.

Prima di comprare, controlla la scheda tecnica oppure installa un’app di diagnostica. Se nell’elenco non compare “Gyroscope”, il telefono non ce l’ha.

C’è anche un risvolto privacy. Accelerometro, giroscopio e magnetometro non richiedono permessi: qualunque app può leggerli in background e ricavare ritmo del passo, cambi di posizione e attività. Android 12 ha posto un limite alla frequenza per le app in background, ma il canale resta aperto. L’unico controllo è installare meno app e guardare i consumi anomali.

Come verificare i sensori in tre passaggi

Serve un’app che legga i valori grezzi. Vanno bene Sensors Multitool, Sensor Box o Phyphox. Per un controllo più profondo, con telefono collegato al computer, il comando adb shell dumpsys sensorservice elenca tutti i sensori registrati con nome, tipo e frequenza massima.

  1. Accelerometro. Appoggia il telefono su un tavolo. L’asse Z deve leggere circa 9,8 m/s², gli altri due vicini a zero. Capovolgilo: Z diventa -9,8.
  2. Giroscopio. Tienilo fermo e guarda i tre assi: devono restare vicini a zero. Ruota di 90 gradi in un secondo: il valore deve picchiare intorno a 1,5 rad/s e tornare a zero.
  3. Bussola e barometro. Confronta l’heading con una bussola vera, lontano da metallo. Poi annota la pressione, sali un piano e ricontrolla: il calo atteso è di circa 0,35 hPa.

Se la bussola oscilla di 30 gradi con il telefono fermo, prova la calibrazione a figura otto prima di dare la colpa all’hardware. Se il barometro non cambia di una cifra significativa dopo due piani, il sensore è assente o bloccato dal sistema.

Un telefono che “gira male” spesso sta leggendo dati coerenti con l’ambiente. Conoscere unità e derive aiuta a scegliere il sensore giusto: giroscopio per il movimento rapido, accelerometro per l’orientamento statico, magnetometro per la direzione, barometro per la quota relativa. Per la parte di localizzazione il discorso si allarga: qui trovi la guida alla posizione condivisa su Android, quella sulle mappe offline e la spiegazione dell’UWB su Android.

Domande frequenti sui sensori Android

Perché la bussola del telefono gira anche se è fermo?

Perché il magnetometro legge un campo di 45-50 µT e qualsiasi oggetto ferromagnetico vicino lo deforma. Un magnete nella cover o il telaio di un’auto bastano a spostare l’heading di decine di gradi. La calibrazione corregge l’offset, non l’interferenza.

Come faccio a sapere se il telefono ha il giroscopio?

Apri un’app di diagnostica e cerca “Gyroscope” nell’elenco. Se manca, il telefono usa un sensore virtuale ricavato da accelerometro e magnetometro. Il comando adb shell dumpsys sensorservice dà la stessa risposta, con nome e frequenza.

Il barometro serve davvero a Google Maps?

Serve soprattutto al chiuso, dove il GPS non distingue i piani. All’aperto il contributo è piccolo, perché la quota del GPS è già sufficiente. Il vantaggio si vede in centri commerciali, aeroporti e parcheggi multipiano con mappe indoor.

La calibrazione a figura otto funziona sempre?

Funziona se il disturbo è magnetico e lontano. Se la cover ha un magnete o sei dentro un’auto, la calibrazione non compensa un campo esterno così forte. Togli la cover e ripeti il gesto lontano da metallo.

Perché il conta-passi sbaglia?

Perché legge l’accelerometro e cerca un ritmo tra 1,5 e 2,5 Hz. Camminare piano, spingere un carrello o tenere il telefono in borsa produce oscillazioni diverse. I modelli recenti sommano il GPS e riducono l’errore, ma non lo azzerano.

I sensori consumano batteria?

Poco, se restano nel sensor hub a bassa frequenza. Il consumo si nota con letture continue ad alta frequenza, per esempio in un’app di realtà aumentata. Il profilo normale a 5 Hz costa molto meno di quello gioco a 50 Hz.

Posso usare il telefono come livella?

Sì, con l’accelerometro e un’app dedicata. La precisione arriva a circa 0,5 gradi, sufficiente per appendere un quadro. Non basta per lavori di precisione, perché il chip ha un offset da calibrare su un piano di riferimento.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Parliamo di: