Bien, esto realmente requiere cierto conocimiento de cómo funcionan estas pequeñas computadoras internamente. Las computadoras para bicicletas deben tener una potencia extremadamente baja, por lo que la forma más fácil de hacerlo es hacerlas muy simples. Las computadoras normales pueden usar números no enteros. Un número entero es 1,2,3,4, etc., no entero significa, por ejemplo, 1/2, 0.5762 o pi. Las computadoras usan los llamados números de punto flotante para representar números no enteros.
Sin embargo, los números de coma flotante son muy difíciles de usar para estas pequeñas computadoras en comparación con los enteros. ¡Entonces no lo hacen! Solo usan enteros para hacer todos los cálculos necesarios, y con muy pocas excepciones, todos están limitados a enteros de 8 bits. Un entero de 8 bits puede almacenar un valor de 0-255. Por lo tanto, cualquier cálculo (a) no será más preciso que un número entero (por ejemplo: dividir 8 entre 5 producirá 1 en lugar de 1.6 porque no puede representar números detrás del punto decimal) y (b) no puede exceder el rango de 0 -255.
Es aún peor: la mayoría de las computadoras de bicicleta ni siquiera pueden hacer matemáticas. Bueno, generalmente pueden sumar y multiplicar, pero no pueden dividir ni restar. En realidad, son cosas súper básicas, porque tienen que sobrevivir durante un par de años en el jugo en una sola celda.
Entonces, ¿cómo afecta esto al cálculo de la distancia, la velocidad y, finalmente, la velocidad promedio? Bueno, una computadora para bicicleta tiene solo 2 entradas: un temporizador muy preciso (que generalmente genera entre 1024 y 32768 pulsos por segundo) y una entrada de pulso desde un imán en su rueda. También sabe cuánto mide la circunferencia de su rueda. Entonces, para calcular su velocidad actual, hace lo siguiente:
- espera un pulso de tu rueda
- iniciar un temporizador
- cuando llegue el siguiente pulso de la rueda, detenga el temporizador
- divide la circunferencia de la rueda entre el tiempo y usa una tabla de búsqueda para convertir esto en algo legible para los humanos.
Entonces, digamos que el temporizador funciona a 1024Hz y la rueda de su bicicleta gira a aproximadamente 5 rotaciones por segundo (36 km / ho 22 mph). Esto significaría que contaría el piso (1024/5) = 204 tics de temporizador por rotación de la rueda. En el pequeño procesador hay una tabla de búsqueda que relaciona esos 204 ticks con el tamaño específico de la rueda (que programó) y luego encuentra la velocidad que debe mostrarse en su pantalla. En realidad no lo calcula, porque es muy difícil para ese procesador hacer tales cosas. Además, esta tabla solo necesita ser un par de tamaños de rueda por unas pocas decenas o tal vez 100 valores de tiempo diferentes. Por ejemplo, una tabla de 5x100, bastante pequeña en términos de computadora.
La distancia es muy fácil de calcular: simplemente multiplique la circunferencia de la rueda por el número de rotaciones. Luego use otra tabla de búsqueda para relacionar esto con algo visualizable. Esto también solo requiere una pequeña tabla de búsqueda.
Sin embargo, la velocidad promedio no es algo que se pueda poner en una tabla de búsqueda de tamaño razonable. Hay demasiados valores posibles de distancia de viaje y tiempo de viaje que pueden ocurrir. Entonces, estas computadoras tienen que hacer trampa de alguna manera: o necesitan usar las capacidades matemáticas muy limitadas que tienen, o necesitan redondear algunas cosas o buscar el valor promedio más cercano. Esto es exactamente lo que está haciendo la computadora de su bicicleta.
Hay computadoras para bicicletas más avanzadas, especialmente hoy en día. Con diseños más antiguos, realmente se podía ver esta naturaleza de operación de la tabla de búsqueda: podría mostrar, por ejemplo, 22.3 km / hy 22.5, pero no 22.4. ¿Por qué? No estaba en la tabla de búsqueda. No importa cuánto intente conducir exactamente a 22.4 km / h, en realidad nunca mostrará este valor. Además, los diseños más antiguos solo le permitirían ingresar el tamaño en pulgadas de sus neumáticos, no la circunferencia precisa real en mm.
Hoy en día, en realidad hay computadoras para bicicletas que pueden manejar operaciones matemáticas más "complejas" y usar mejores representaciones de números (enteros de 16 bits o números de coma flotante) para obtener una mejor estimación de su velocidad y promedios.