El pedómetro en aplicaciones móviles es un mecanismo de software y hardware para contar los pasos del usuario basado en datos del acelerómetro y el giróscopo. Los teléfonos inteligentes modernos utilizan algoritmos de aprendizaje automático combinados con sensores para detectar con precisión caminar, correr y otros tipos de actividad física. Según Apple HealthKit Documentation, 2025, la precisión del conteo de pasos en dispositivos modernos alcanza el 95–97% durante la marcha normal.
Puntos clave
El pedómetro en aplicaciones móviles es una función que determina la cantidad de pasos del usuario basándose en los datos de los sensores de movimiento integrados del teléfono inteligente. A diferencia de los pedómetros mecánicos del pasado, el pedómetro móvil utiliza sensores microelectromecánicos (MEMS) y algoritmos de procesamiento digital de señales para un conteo preciso de la locomoción. Las implementaciones modernas no solo cuentan pasos, sino que también clasifican la actividad: caminar, correr, subir escaleras.
La integración del pedómetro en dispositivos móviles fue posible gracias a la introducción del coprocesador de movimiento M7 en el iPhone 5s en 2013, que recopilaba datos de los sensores de forma continua con un consumo mínimo de energía. Hoy en día, todos los teléfonos inteligentes modernos tienen soporte de hardware para el conteo de pasos a nivel de sensor hub — un chip dedicado que procesa los datos de los sensores inerciales sin despertar el procesador principal.
El conteo de pasos en un teléfono inteligente se basa en el análisis de las señales del acelerómetro, que mide la aceleración del dispositivo en tres ejes perpendiculares (X, Y, Z). Al caminar, cada paso crea un patrón de aceleración característico: primero un pico hacia arriba al levantar la pierna, luego un pico hacia abajo al aterrizar. La cadencia de pasos es de 100–130 pasos/min para caminar y de 150–180 pasos/min para correr, mientras que la amplitud de aceleración oscila entre 2–6 m/s².
La señal bruta del acelerómetro contiene ruido e interferencias de alta frecuencia, por lo que la primera etapa del procesamiento es el filtrado de paso bajo con una frecuencia de corte de 3–5 Hz. Después del filtrado, se calcula el vector de aceleración: a = sqrt(x² + y² + z²), aislando la aceleración relacionada con el movimiento independientemente de la orientación del dispositivo. Luego, el algoritmo detecta los máximos locales en la señal — cada máximo corresponde a un paso.
Para reducir los falsos positivos (por ejemplo, por vibraciones en un vehículo), se aplican criterios adicionales: amplitud mínima del paso (generalmente >1,2 m/s²), intervalo mínimo entre pasos (300–400 ms para caminar) y verificación de la periodicidad de la señal mediante autocorrelación. Si los intervalos de tiempo entre los picos son irregulares, la secuencia se marca como movimiento aleatorio y no se cuenta como pasos.
El algoritmo básico de detección de pasos utiliza detección por umbral: el sistema busca momentos en los que la señal del acelerómetro supera un umbral establecido y luego vuelve al nivel de reposo. Cada uno de estos eventos se considera un paso potencial. Existen dos enfoques: detección de picos (peak detection) y cruce por cero (zero-crossing). La detección de picos captura los máximos de la señal, mientras que el cruce por cero detecta los momentos en que la señal cruza el valor medio, lo que depende menos de la amplitud del paso.
Los algoritmos modernos de conteo de pasos utilizan un umbral adaptativo que se ajusta automáticamente al estilo de caminar del usuario. El sistema analiza la varianza de la señal en los últimos 2–3 segundos y calcula un umbral dinámico como la raíz del cuadrado medio (RMS) multiplicada por un coeficiente. Esto permite un conteo correcto de pasos tanto durante un paseo lento como durante una carrera vigorosa sin calibración cruzada entre tipos de actividad.
Las implementaciones modernas del pedómetro utilizan no solo la detección de picos, sino también el aprendizaje automático para clasificar patrones de movimiento. Los modelos de redes neuronales se entrenan con miles de horas de grabaciones de movimientos reales de diversos escenarios: caminar sobre superficies planas, subir escaleras, correr, viajar en vehículos. Las características de entrada incluyen series temporales del acelerómetro y el giróscopo, y la salida es la probabilidad de que el segmento de señal actual corresponda a locomoción humana.
Según la investigación de Google Activity Recognition, los modelos basados en redes neuronales convolucionales (CNN) alcanzan una precisión del 98% en el reconocimiento de caminata en conjuntos de datos de referencia. En los dispositivos Apple, se utiliza Core ML con un modelo de clasificación de actividad entrenado con datos de más de 100,000 voluntarios. Los modelos optimizados se ejecutan directamente en el dispositivo (inferencia en el dispositivo), lo que garantiza un procesamiento instantáneo y preserva la privacidad del usuario.
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
// Actualización de la UI con el número de pasos
DispatchQueue.main.async {
// self.stepsLabel.text = "\(steps) pasos"
}
}
}
func stopTracking() {
pedometer.stopUpdates()
}
}
En iOS, para acceder al pedómetro se utiliza la clase CMPedometer del framework Core Motion. CMPedometer proporciona no solo el número de pasos, sino también la distancia recorrida, el número de pisos (ascensos), el ritmo de marcha y la duración de la actividad. Los datos están disponibles tanto en tiempo real (startUpdates) como para cualquier período pasado arbitrario (queryPedometerData). El coprocesador de movimiento (serie M) procesa los datos de los sensores en hardware, lo que reduce el consumo de energía en un 80% en comparación con el procesamiento por software.
En Android, la funcionalidad del pedómetro se implementa a través de dos sensores de hardware: TYPE_STEP_COUNTER (contador de pasos acumulativo desde el inicio) y TYPE_STEP_DETECTOR (generación de eventos en cada paso). TYPE_STEP_COUNTER no requiere calibración y no consume energía del procesador — los datos se actualizan en hardware a nivel del sensor hub. Para acceder a las estadísticas acumuladas de pasos diarios, se utiliza Google Fit API con el registro DataType.TYPE_STEP_COUNT_DELTA.
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) {}
}
La precisión del pedómetro depende de varios factores: la ubicación del teléfono inteligente (en la mano, el bolsillo o el bolso), el tipo de actividad (caminar, correr, subir escaleras) y la calidad de los sensores. Cuando el teléfono se lleva en el bolsillo del pantalón, la precisión alcanza el 93–97%; en un bolso o mochila, baja al 70–85%. La precisión también se ve afectada por el estilo de caminar del usuario: una marcha arrastrada con baja amplitud de aceleración produce más errores que una zancada firme.
Las principales limitaciones de los pedómetros móviles incluyen: imposibilidad de contar pasos durante movimientos muy lentos (<1,5 km/h), falsos positivos por viajes en vehículo, precisión reducida durante la carrera a baja velocidad (trote) y la influencia de la gestualidad al hablar. Para minimizar errores, las aplicaciones modernas utilizan una combinación de sensores (acelerómetro + giróscopo + barómetro) y aprendizaje automático para filtrar artefactos. El barómetro, por ejemplo, ayuda a detectar la subida de escaleras y los cambios de altitud, excluyendo pasos falsos en un ascensor.
Preguntas frecuentes
Un pedómetro en el teléfono utiliza el acelerómetro, que registra la aceleración con cada paso. El algoritmo analiza los picos de aceleración en tres ejes, filtra el ruido y determina el número de pasos. Los modelos modernos también utilizan el giróscopo y el aprendizaje automático para mejorar la precisión y clasificar la actividad.
Al llevar el teléfono inteligente en el bolsillo del pantalón, la precisión alcanza el 95–97% durante la marcha normal. En un bolso o mochila, la precisión baja al 70–85%. El estilo de caminar y el tipo de superficie también afectan la precisión — el terreno irregular puede introducir errores de hasta el 10–15%.
Sí, el pedómetro funciona completamente sin conexión a internet. Todos los cálculos se realizan en el dispositivo utilizando los sensores integrados. Internet solo puede ser necesario para sincronizar datos con servicios en la nube de aplicaciones de fitness o para mostrar un mapa de ruta.
Diferentes aplicaciones utilizan algoritmos diferentes para procesar datos de sensores, umbrales de detección y métodos de filtrado. Algunas aplicaciones cuentan pasos basándose en datos brutos del acelerómetro, mientras que otras usan APIs del sistema (TYPE_STEP_COUNTER), y la diferencia en los conteos puede alcanzar el 10–15%.
En Android, para acceder al pedómetro, use el sensor TYPE_STEP_COUNTER a través de Sensor API — proporciona el número acumulativo de pasos desde el último reinicio del dispositivo. Para acceder a los pasos de un día específico, integre Google Fit API con el tipo de datos TYPE_STEP_COUNT_DELTA.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.
Lea también