Pedómetro em aplicações móveis: o que é, como funciona e onde se aplica

Autor: IT Sectr Publicado: 2026-03-25 Tempo de leitura: 8 min

O pedómetro em aplicações móveis é um mecanismo de software e hardware para contagem de passos do utilizador com base em dados do acelerómetro e giroscópio. Os smartphones modernos utilizam algoritmos de aprendizagem automática em combinação com sensores para detetar com precisão caminhada, corrida e outros tipos de atividade física. De acordo com a Documentação Apple HealthKit, 2025, a precisão da contagem de passos em dispositivos modernos atinge 95–97% durante a marcha normal.

Pontos principais

  • Pedómetro é uma função de contagem de passos baseada na análise de dados do acelerómetro, giroscópio e algoritmos de aprendizagem automática.
  • Os algoritmos modernos de pedómetro conseguem distinguir caminhada, corrida e subida de escadas, determinando automaticamente o tipo de atividade do utilizador.
  • O sensor principal para contagem de passos é o acelerómetro, que regista a aceleração em três eixos a cada passo.
  • No iOS, os programadores acedem ao pedómetro através do CMPedometer do Core Motion; no Android, através da Sensor API com TYPE_STEP_COUNTER.
  • A precisão da contagem de passos depende da localização do dispositivo: o pedómetro funciona com maior precisão quando o smartphone é transportado no bolso das calças ou no cinto.

O que é um pedómetro em aplicações móveis?

O pedómetro em aplicações móveis é uma função que determina o número de passos do utilizador com base em dados dos sensores de movimento incorporados no smartphone. Ao contrário dos pedómetros mecânicos do passado, o pedómetro móvel utiliza sensores microeletromecânicos (MEMS) e algoritmos de processamento digital de sinal para contagem precisa de locomoção. As implementações modernas não apenas contam passos, mas também classificam a atividade: caminhada, corrida, subida de escadas.

A integração do pedómetro em dispositivos móveis tornou-se possível com a introdução do coprocessador de movimento M7 no iPhone 5s em 2013, que recolhia continuamente dados dos sensores com consumo mínimo de energia. Hoje, todos os smartphones modernos têm suporte de hardware para contagem de passos ao nível do sensor hub — um chip dedicado que processa dados de sensores inerciais sem ativar o processador principal.

Como funciona a contagem de passos no smartphone

A contagem de passos num smartphone baseia-se na análise dos sinais do acelerómetro, que mede a aceleração do dispositivo em três eixos perpendiculares (X, Y, Z). Ao caminhar, cada passo cria um padrão de aceleração característico: primeiro um pico ascendente ao levantar a perna, depois um pico descendente ao aterrar. A cadência de passos é de 100–130 passos/min para caminhada e 150–180 passos/min para corrida, enquanto a amplitude de aceleração varia entre 2–6 m/s².

Processamento do sinal do acelerómetro

O sinal bruto do acelerómetro contém ruído e interferência de alta frequência, por isso a primeira etapa de processamento é a filtragem passa-baixo com uma frequência de corte de 3–5 Hz. Após a filtragem, calcula-se o vetor de aceleração: a = sqrt(x² + y² + z²), isolando a aceleração relacionada com o movimento independentemente da orientação do dispositivo. Em seguida, o algoritmo deteta máximos locais no sinal — cada máximo corresponde a um passo.

Para reduzir falsos positivos (por exemplo, vibração em transportes), são aplicados critérios adicionais: amplitude mínima do passo (geralmente >1,2 m/s²), intervalo mínimo entre passos (300–400 ms para caminhada) e verificação da periodicidade do sinal através de autocorrelação. Se os intervalos entre picos forem irregulares, a sequência é marcada como movimento aleatório e não contada como passos.

Deteção de passos através do acelerómetro

O algoritmo básico de deteção de passos utiliza o método de deteção por limiar: o sistema procura momentos em que o sinal do acelerómetro excede um limiar definido e depois retorna ao nível de repouso. Cada um desses eventos é considerado um passo potencial. Existem duas abordagens: deteção de picos (peak detection) e cruzamento de zero (zero-crossing). A deteção de picos captura os máximos do sinal, enquanto o cruzamento de zero deteta os momentos em que o sinal cruza o valor médio, sendo menos dependente da amplitude do passo.

Métodos de limiar e algoritmos adaptativos

Os algoritmos modernos de contagem de passos utilizam um limiar adaptativo que se ajusta automaticamente ao estilo de caminhada do utilizador. O sistema analisa a variância do sinal nos últimos 2–3 segundos e calcula um limiar dinâmico como a raiz quadrada média (RMS) multiplicada por um coeficiente. Isto permite uma contagem correta de passos tanto durante uma caminhada lenta como durante uma corrida vigorosa, sem calibração cruzada entre tipos de atividade.

Algoritmos de contagem de passos e aprendizagem automática

As implementações modernas do pedómetro utilizam não apenas deteção de picos, mas também aprendizagem automática para classificar padrões de movimento. Os modelos de redes neuronais são treinados em milhares de horas de gravações de movimentos reais de vários cenários: caminhada em superfícies planas, subida de escadas, corrida, viagens em transportes. As características de entrada incluem séries temporais do acelerómetro e giroscópio, e a saída é a probabilidade de o segmento de sinal atual corresponder a locomoção humana.

Modelos de redes neuronais para classificação de atividade

De acordo com a investigação Google Activity Recognition, os modelos baseados em redes neuronais convolucionais (CNN) alcançam 98% de precisão no reconhecimento de caminhada em conjuntos de dados de referência. Nos dispositivos Apple, utiliza-se Core ML com um modelo de Classificação de Atividade treinado em dados de mais de 100.000 voluntários. Os modelos otimizados são executados diretamente no dispositivo (inferência no dispositivo), garantindo processamento instantâneo e preservando a privacidade do utilizador.

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
            
            // Atualização da interface com o número de passos
            DispatchQueue.main.async {
                // self.stepsLabel.text = "\(steps) passos"
            }
        }
    }

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

Pedómetro no iOS e Android: APIs e capacidades

No iOS, para aceder ao pedómetro utiliza-se a classe CMPedometer do framework Core Motion. O CMPedometer fornece não apenas o número de passos, mas também a distância percorrida, o número de pisos (subidas), o ritmo de marcha e a duração da atividade. Os dados estão disponíveis tanto em tempo real (startUpdates) como para qualquer período passado (queryPedometerData). O coprocessador de movimento (série M) processa os dados dos sensores em hardware, reduzindo o consumo de energia em 80% em comparação com o processamento por software.

No Android, a funcionalidade do pedómetro é implementada através de dois sensores de hardware: TYPE_STEP_COUNTER (contador de passos cumulativo desde o arranque) e TYPE_STEP_DETECTOR (geração de evento a cada passo). O TYPE_STEP_COUNTER não requer calibração e não consome energia do processador — os dados são atualizados em hardware ao nível do sensor hub. Para aceder às estatísticas acumuladas de passos diários, utiliza-se a Google Fit API com o registo 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) {}
}

Precisão e limitações do pedómetro móvel

A precisão do pedómetro depende de vários fatores: localização do smartphone (na mão, bolso ou bolsa), tipo de atividade (caminhada, corrida, subida de escadas) e qualidade dos sensores. Quando o smartphone é transportado no bolso das calças, a precisão atinge 93–97%; numa bolsa ou mochila, cai para 70–85%. A precisão também é afetada pelo estilo de caminhada do utilizador: uma marcha arrastada com baixa amplitude de aceleração produz mais erros do que uma passada firme.

As principais limitações dos pedómetros móveis incluem: incapacidade de contar passos durante movimento muito lento (<1,5 km/h), falsos positivos de viagens em transportes, redução da precisão durante corrida a baixa velocidade (trote) e influência da gesticulação ao falar. Para minimizar erros, as aplicações modernas utilizam uma combinação de sensores (acelerómetro + giroscópio + barómetro) e aprendizagem automática para filtrar artefactos. O barómetro, por exemplo, ajuda a detetar subida de escadas e mudanças de altitude, excluindo passos falsos num elevador.

Perguntas frequentes

Como funciona um pedómetro no telemóvel?

Um pedómetro no telemóvel utiliza o acelerómetro, que regista a aceleração a cada passo. O algoritmo analisa os picos de aceleração em três eixos, filtra o ruído e determina o número de passos. Os modelos modernos também utilizam o giroscópio e aprendizagem automática para melhorar a precisão e classificar a atividade.

Qual é a precisão do pedómetro num smartphone?

Ao transportar o smartphone no bolso das calças, a precisão atinge 95–97% durante a caminhada normal. Numa bolsa ou mochila, a precisão cai para 70–85%. O estilo de caminhada e o tipo de superfície também afetam a precisão — terreno irregular pode introduzir erros de até 10–15%.

O pedómetro pode funcionar sem internet?

Sim, o pedómetro funciona completamente offline sem ligação à internet. Todos os cálculos são realizados no dispositivo utilizando sensores incorporados. A internet pode ser necessária apenas para sincronizar dados com serviços na nuvem de aplicações de fitness ou para exibir um mapa de percurso.

Por que razão diferentes aplicações mostram diferentes números de passos?

Diferentes aplicações utilizam algoritmos diferentes para processar dados de sensores, limiares de deteção e métodos de filtragem. Algumas aplicações contam passos com base em dados brutos do acelerómetro, enquanto outras usam APIs do sistema (TYPE_STEP_COUNTER), e a diferença nas contagens pode atingir 10–15%.

Como aceder ao pedómetro numa aplicação Android?

No Android, para aceder ao pedómetro, utilize o sensor TYPE_STEP_COUNTER através da Sensor API — ele fornece o número cumulativo de passos desde a última reinicialização do dispositivo. Para aceder aos passos de um dia específico, integre a Google Fit API com o tipo de dados TYPE_STEP_COUNT_DELTA.

Resumo

  • Pedómetro é uma função de dispositivos móveis que determina o número de passos com base em dados do acelerómetro MEMS e algoritmos de aprendizagem automática.
  • O principal método de contagem de passos é a deteção de picos e cruzamento de zero no sinal do acelerómetro, seguido de filtragem de artefactos e limiar adaptativo.
  • As implementações modernas utilizam redes neuronais convolucionais para classificar caminhada, corrida e subida de escadas com até 98% de precisão.
  • No iOS, o acesso ao pedómetro é através do CMPedometer (Core Motion); no Android, através do TYPE_STEP_COUNTER e Google Fit API.
  • A contagem de passos por hardware ao nível do sensor hub não ativa o processador principal, consumindo 80% menos energia em comparação com o processamento por software.
  • A precisão do pedómetro depende da localização do dispositivo: no bolso das calças — até 97%, numa bolsa — 70–85%. Terreno irregular e marcha lenta também reduzem a precisão.
  • Para minimizar erros, utiliza-se uma combinação de sensores: acelerómetro + giroscópio + barómetro, que ajuda a filtrar passos falsos durante viagens em transportes e detetar subida de escadas.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também