Pedometru în aplicațiile mobile: ce este, cum funcționează și unde se aplică

Autor: IT Sectr Publicat: 2026-03-25 Timp de citire: 8 min

Pedometrul (contorul de pași) în aplicațiile mobile este un mecanism software-hardware de numărare a pașilor utilizatorului pe baza datelor de la accelerometru și giroscop. Smartphone-urile moderne folosesc algoritmi de învățare automată în combinație cu senzori pentru determinarea precisă a mersului, alergării și altor tipuri de activitate fizică. Conform datelor Apple HealthKit Documentation, 2025, precizia numărării pașilor pe dispozitivele moderne atinge 95–97% la mersul normal.

Principalele puncte

  • Pedometrul (contorul de pași) — funcție de numărare a pașilor pe baza analizei datelor de la accelerometru, giroscop și algoritmi de învățare automată.
  • Algoritmii moderni de pedometru pot distinge mersul, alergarea și urcatul scărilor, determinând automat tipul de activitate al utilizatorului.
  • Principalul senzor pentru numărarea pașilor este accelerometrul, care înregistrează accelerația pe trei axe la fiecare pas.
  • Pe iOS dezvoltatorii au acces la pedometru prin CMPedometer din Core Motion, pe Android — prin Sensor API cu TYPE_STEP_COUNTER.
  • Precizia numărării pașilor depinde de locația dispozitivului: pedometrul funcționează cel mai precis când smartphone-ul este purtat în buzunarul pantalonilor sau pe centură.

Ce este pedometrul în aplicația mobilă?

Pedometrul (contorul de pași) în aplicațiile mobile este o funcție care determină numărul de pași ai utilizatorului pe baza datelor provenite de la senzorii de mișcare încorporați ai smartphone-ului. Spre deosebire de pedometrele mecanice din trecut, pedometrul mobil utilizează senzori micro-electro-mecanici (MEMS) și algoritmi de procesare digitală a semnalelor pentru numărarea precisă a locomoțiilor. Implementările moderne nu doar numără pașii, ci și clasifică activitatea: mers, alergare, urcat scări.

Integrarea pedometrului în dispozitivele mobile a devenit posibilă datorită apariției în 2013 a coprocesorului de mișcare M7 în iPhone 5s, care colecta continuu date de la senzori cu un consum minim de energie. Astăzi, toate smartphone-urile moderne au suport hardware pentru numărarea pașilor la nivelul hub-ului de senzori — un cip dedicat care procesează datele senzorilor inerțiali fără a trezi procesorul principal.

Cum funcționează numărarea pașilor pe smartphone

Numărarea pașilor pe smartphone se bazează pe analiza semnalelor accelerometrului, care măsoară accelerația dispozitivului pe trei axe perpendiculare (X, Y, Z). La mers, fiecare pas creează un model caracteristic de accelerație: mai întâi un vârf în sus la ridicarea piciorului, apoi un vârf în jos la aterizare. Frecvența pașilor (cadența) este de 100–130 pași/min pentru mers și 150–180 pași/min pentru alergare, iar amplitudinea accelerației — 2–6 m/s².

Procesarea semnalului accelerometrului

Semnalul brut de la accelerometru conține zgomote și interferențe de înaltă frecvență, de aceea prima etapă de procesare este filtrarea trece-jos (low-pass filter) cu frecvența de tăiere de 3–5 Hz. După filtrare se calculează vectorul de accelerație: a = sqrt(x² + y² + z²), care extrage accelerația asociată mișcării, independent de orientarea dispozitivului. Apoi algoritmul detectează maximele locale în semnal — fiecare maxim corespunde unui pas.

Pentru reducerea alarmelor false (de exemplu, la scuturarea în transport) se aplică criterii suplimentare: amplitudinea minimă a pasului (de obicei >1,2 m/s²), intervalul minim între pași (300–400 ms pentru mers) și verificarea periodicității semnalului prin autocorelare. Dacă intervalele de timp între vârfuri sunt neregulate, secvența este marcată ca mișcări aleatorii și nu este numărată ca pași.

Detectarea pașilor prin accelerometru

Algoritmul de bază al detectării pașilor utilizează metoda de detectare prin prag: sistemul caută momente când semnalul accelerometrului depășește un prag stabilit și apoi revine la nivelul de repaus. Fiecare astfel de eveniment este considerat un pas potențial. Există două abordări: detectarea vârfurilor (peak detection) și trecerea prin zero (zero-crossing). Detectarea vârfurilor înregistrează maximele semnalului, iar zero-crossing — momentele de trecere a semnalului prin valoarea medie, ceea ce depinde mai puțin de amplitudinea pasului.

Metode de prag și algoritmi adaptivi

Algoritmii moderni de numărare a pașilor folosesc un prag adaptiv care se ajustează automat la stilul de mers al utilizatorului. Sistemul analizează varianța semnalului din ultimele 2–3 secunde și calculează pragul dinamic ca abatere standard (RMS) înmulțită cu un coeficient. Aceasta permite numărarea corectă a pașilor atât la o plimbare lentă, cât și la o alergare energică, fără calibrare încrucișată între tipurile de activitate.

Algoritmi de numărare a pașilor și învățare automată

Implementările moderne ale pedometrului folosesc nu doar detectarea vârfurilor, ci și învățarea automată pentru clasificarea modelelor de mișcare. Modelele de rețele neuronale sunt antrenate pe mii de ore de înregistrări ale mișcărilor reale din diferite scenarii: mers pe suprafață plană, urcat scări, alergare, deplasare cu mijloacele de transport. Caracteristicile de intrare sunt seriile temporale ale accelerometrului și giroscopului, iar ieșirea — probabilitatea ca segmentul curent al semnalului să corespundă locomoției umane.

Modele de rețele neuronale pentru clasificarea activității

Conform datelor cercetării Google Activity Recognition, modelele bazate pe rețele neuronale convoluționale (CNN) ating o precizie de recunoaștere a mersului de 98% pe seturi de date de test. Pe dispozitivele Apple se utilizează Core ML cu modelul Activity Classification, antrenat pe datele a peste 100 de mii de voluntari. Modelele optimizate funcționează direct pe dispozitiv (inferență pe dispozitiv), ceea ce asigură procesare instantanee și păstrarea confidențialității utilizatorului.

swift
import CoreMotion

class PedometerObserver {
    private let pedometer = CMPedometer()

    func startTracking() {
        guard CMPedometer.isStepCountingAvailable() else { return }
        
        pedometer.startUpdates(from: Date()) { data, error in
            guard let data = data else { return }
            
            let steps = data.numberOfSteps.intValue
            let distance = data.distance?.doubleValue
            let floorsAscended = data.floorsAscended?.intValue
            
            // Actualizarea UI cu numărul de pași
            DispatchQueue.main.async {
                // self.stepsLabel.text = "\(steps) pași"
            }
        }
    }

    func stopTracking() {
        pedometer.stopUpdates()
    }
}

Pedometru pe iOS și Android: API și capacități

Pe iOS pentru accesul la pedometru se utilizează clasa CMPedometer din framework-ul Core Motion. CMPedometer oferă nu doar numărul de pași, ci și distanța parcursă, numărul de etaje (urcări), ritmul mersului și timpul de activitate. Datele sunt disponibile atât în timp real (startUpdates), cât și pentru orice perioadă din trecut (queryPedometerData). Coprocesorul de mișcare (seria M) procesează datele senzorilor la nivel hardware, ceea ce reduce consumul de energie cu 80% comparativ cu procesarea software.

Pe Android lucrul cu pedometrul este realizat prin doi senzori hardware: TYPE_STEP_COUNTER (contor cumulativ de pași de la pornire) și TYPE_STEP_DETECTOR (generare de eveniment la fiecare pas). TYPE_STEP_COUNTER nu necesită calibrare și nu consumă energie a procesorului — datele sunt actualizate hardware la nivelul hub-ului de senzori. Pentru accesul la statistica acumulată a pașilor pe zi se utilizează Google Fit API cu înregistrarea DataType.TYPE_STEP_COUNT_DELTA.

kotlin
import android.hardware.Sensor
import android.hardware.SensorEvent
import android.hardware.SensorEventListener
import android.hardware.SensorManager

class StepCounter(
    private val sensorManager: SensorManager
) : SensorEventListener {

    private var totalSteps = 0
    private var previousSteps = -1

    fun startListening() {
        val sensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)
        sensor?.let {
            sensorManager.registerListener(this, it, SensorManager.SENSOR_DELAY_NORMAL)
        }
    }

    override fun onSensorChanged(event: SensorEvent) {
        if (previousSteps < 0) {
            previousSteps = event.values[0].toInt()
        }
        val currentSteps = event.values[0].toInt()
        totalSteps = currentSteps - previousSteps
    }

    fun getStepCount(): Int = totalSteps

    override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
}

Precizia și limitările pedometrului mobil

Precizia pedometrului depinde de mai mulți factori: locația smartphone-ului (în mână, buzunar sau geantă), tipul de activitate (mers, alergare, urcat scări) și calitatea senzorilor. La purtarea smartphone-ului în buzunarul pantalonilor, precizia este de 93–97%, în geantă sau rucsac scade la 70–85%. Stilul de mers al utilizatorului influențează și el precizia: mersul cu pași mici cu amplitudine mică a accelerației dă mai multe erori decât mersul regulat.

Principalele limitări ale pedometrelor mobile includ: imposibilitatea numărării pașilor la mișcare foarte lentă (<1,5 km/h), alarme false de la deplasarea cu mijloacele de transport, scăderea preciziei la alergarea cu viteză redusă (trot) și influența gesticulației în timpul vorbirii. Pentru minimizarea erorilor, aplicațiile moderne folosesc o combinație de senzori (accelerometru + giroscop + barometru) și învățare automată pentru eliminarea artefactelor. Barometrul, de exemplu, ajută la determinarea urcării scărilor și a schimbării altitudinii, excluzând pașii falși în lift.

Întrebări frecvente

Cum funcționează pedometrul în telefon?

Pedometrul din telefon utilizează accelerometrul, care înregistrează accelerația la fiecare pas. Algoritmul analizează vârfurile de accelerație pe trei axe, filtrează zgomotele și determină numărul de pași. Modelele moderne folosesc, de asemenea, giroscopul și învățarea automată pentru creșterea preciziei și clasificarea activității.

Cât de precis este pedometrul pe smartphone?

La purtarea smartphone-ului în buzunarul pantalonilor, precizia atinge 95–97% la mersul obișnuit. În geantă sau rucsac, precizia scade la 70–85%. Stilul de mers și tipul suprafeței influențează, de asemenea, precizia — terenul denivelat poate da erori de până la 10–15%.

Poate pedometrul să funcționeze fără internet?

Da, pedometrul funcționează complet autonom fără conexiune la internet. Toate calculele sunt efectuate pe dispozitiv folosind senzorii încorporați. Internetul poate fi necesar doar pentru sincronizarea datelor cu serviciile cloud ale aplicațiilor de fitness sau pentru afișarea hărții traseului.

De ce pedometrul din aplicații diferite arată numere diferite?

Aplicațiile diferite folosesc algoritmi diferiți de procesare a datelor senzorilor, praguri de detectare a pașilor și metode de filtrare. Unele aplicații numără pașii pe baza datelor brute ale accelerometrului, altele — prin API-uri de sistem (TYPE_STEP_COUNTER), iar diferența în numărătoare poate ajunge la 10–15%.

Cum se obține accesul la pedometru într-o aplicație Android?

Pe Android pentru accesul la pedometru utilizați senzorul TYPE_STEP_COUNTER prin Sensor API — acesta oferă numărul cumulativ de pași de la ultima repornire a dispozitivului. Pentru accesul la pașii dintr-o anumită zi, integrați Google Fit API cu tipul de date TYPE_STEP_COUNT_DELTA.

Concluzii

  • Pedometrul (contorul de pași) — funcție a dispozitivelor mobile care determină numărul de pași pe baza datelor accelerometrului MEMS și algoritmilor de învățare automată.
  • Metoda principală de numărare a pașilor este detectarea vârfurilor și trecerea prin zero în semnalul accelerometrului, urmată de filtrarea artefactelor și prag adaptiv.
  • Implementările moderne folosesc rețele neuronale convoluționale pentru clasificarea mersului, alergării și urcatului scărilor cu o precizie de până la 98%.
  • Pe iOS accesul la pedometru se face prin CMPedometer (Core Motion), pe Android — prin TYPE_STEP_COUNTER și Google Fit API.
  • Numărarea hardware a pașilor la nivelul hub-ului de senzori nu trezește procesorul principal, consumând cu 80% mai puțină energie comparativ cu procesarea software.
  • Precizia pedometrului depinde de locația dispozitivului: în buzunarul pantalonilor — până la 97%, în geantă — 70–85%. Terenul denivelat și mersul lent reduc, de asemenea, precizia.
  • Pentru minimizarea erorilor se utilizează combinația de senzori: accelerometru + giroscop + barometru, ceea ce permite eliminarea pașilor falși la deplasarea cu mijloacele de transport și determinarea urcării scărilor.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și