Construye un estadiómetro digital: Controla tu altura con Arduino y sensor láser
Componentes y suministros
| Arduino Nano Rev 3 | 1 |
| Sensor láser CJMCU 530 (VL53L0X) | 1 |
| Encoder rotativo KY-040 | 1 |
| Pantalla OLED SSD1306 128x64 | 1 |
| Zumbador pasivo | 1 |
| 2 Resistencias 10KΩ | 1 |
Sobre el proyecto
¡Sigue el crecimiento de tu hijo con un estadiómetro digital!

Durante mi infancia, mi madre solía medir mi altura periódicamente y anotarla en un bloc de notas para seguir mi crecimiento. Por supuesto, sin un estadiómetro en casa, yo me paraba contra la pared o el marco de la puerta mientras ella medía con una cinta. Ahora tengo una nieta recién nacida y cuando empiece a caminar, sus padres querrán seguir su crecimiento en altura. Así nació la idea de un estadiómetro digital.
Está construido alrededor de un Arduino Nano y un sensor "Time of Flight" (ToF) que mide cuánto tarda la diminuta luz láser en rebotar de vuelta al sensor.
Paso 1: Piezas y componentes
- Arduino Nano Rev 3
- Sensor láser CJMCU 530 (VL53L0X)
- Encoder rotativo KY-040
- Pantalla OLED SSD1306 128x64
- Zumbador pasivo
- 2 resistencias 10KΩ
Paso 2: El sensor


El VL53L0X de ST Microelectronics es un módulo de telemetría láser Time-of-Flight (ToF) de nueva generación en un paquete diminuto, que proporciona medición de distancia precisa independientemente de la reflectancia del objetivo, a diferencia de tecnologías convencionales.
Puede medir distancias absolutas hasta 2 metros. El láser interno es totalmente invisible al ojo humano (longitud de onda 940 nm) y cumple con los últimos estándares de seguridad. Integra un array de SPADs (Single Photon Avalanche Diodes).
La comunicación con el sensor se hace por I2C. Como el proyecto incluye otro dispositivo I2C (la OLED), se necesitan 2 resistencias pull-up de 10KΩ en las líneas SCL y SDA.
He usado el CJMCU-530, un módulo breakout con el VL53L0X de ST Microelectronics.
Paso 3: Operación y posicionamiento del sensor
Una vez construido y probado, el dispositivo debe montarse en el centro de la parte superior de un marco de puerta; si lo montas demasiado cerca de una pared u obstáculo, el haz láser IR se interferirá y creará un fenómeno de crosstalk en la medida. Otra opción sería instalar el dispositivo mediante una varilla de extensión para alejarlo de la pared, pero es menos cómodo.
Mide cuidadosamente la distancia correcta entre el suelo y el sensor (offset a configurar) y calibra el dispositivo (ver siguiente paso). Una vez calibrado, puede usarse sin necesidad de recalibrar, a menos que lo muevas a otra posición.
Enciende el dispositivo y colócate debajo, en posición recta y firme. La medida se toma cuando el dispositivo detecta una longitud estable durante más de 2,5 segundos. En ese momento emite un sonido de "éxito" y mantiene la medida en la pantalla.
Paso 4: Calibración del offset




Como se mencionó, necesitas configurar el valor correcto (en centímetros) para el offset, la distancia entre el dispositivo medidor y el suelo. Esto se logra pulsando el botón del encoder rotativo (que tiene un pulsador). Una vez activado el modo calibración, ajustas la distancia girando el encoder (horario suma centímetros, antihorario resta). El offset va de 0 a 2,55 m.
Al terminar, pulsa de nuevo el botón. Dos tonos diferentes generados por el zumbador interno dan retroalimentación acústica. El modo calibración tiene un timeout de 1 minuto: si no configuras el offset en ese tiempo, el dispositivo sale del modo calibración y vuelve al modo medición, sin cambiar el offset guardado. El offset se almacena en la EEPROM del Arduino, manteniéndose tras apagados.
Paso 5: Código
ST Microelectronics ha publicado una API completa para el VL53L0X, incluyendo detección de gestos. Para mi dispositivo, he encontrado más fácil usar la librería VL53L0X de Pololu para Arduino. Esta librería proporciona una forma más rápida y fácil de empezar con el VL53L0X en un controlador compatible con Arduino, en contraste con personalizar y compilar la API de ST para Arduino.
He configurado el sensor en modo HIGH ACCURACY y LONG RANGE, para tener más libertad en la altura de instalación y ajuste del offset. Esto resulta en una velocidad de detección más lenta, que es suficiente para este dispositivo.
El offset se almacena en la EEPROM del Arduino, cuyos valores se mantienen al apagar la placa.
En el loop, la nueva medida se compara con la anterior y si han pasado 2,5 segundos en la misma medida (y no es un valor Offrange o Timeout), la medida se resta del offset y se muestra estable en la pantalla. Se reproduce una corta melodía de "éxito" en el zumbador piezoeléctrico para notificar al usuario auditivamente.
Archivo: HTAY.ino
Paso 6: Esquemáticos

Paso 7: Carcasa y ensamblaje

Dado mi incapacidad para cortar ventanas rectangulares en cajas comerciales, diseñé una carcasa con CAD y la mandé a imprimir en 3D. No es la opción más barata, pero es conveniente porque ofrece precisión y flexibilidad en el posicionamiento de todos los componentes.
El pequeño chip láser se monta sin cristal de cobertura, para evitar crosstalk y medidas erráticas. Si quieres instalar el láser detrás de una cubierta, necesitarás un procedimiento de calibración complejo como documenta ST Microelectronics.
Archivo 3D: HTAY.stl
Código
- HTAY.ino (solo descarga)
Repositorio GitHub librería Pololu: https://github.com/pololu/vl53l0x-arduino
Partes personalizadas y envolventes
- HTAY.stl (archivo para impresión 3D)
Esquemáticos
Proceso de manufactura
- Raspberry Pi y HDC2010: Guía completa de configuración I2C para sensor de temperatura y humedad
- Medición de la Calidad del Aire con OpenSensors: Guía para Arduino y Python
- Conecte un Sensor de Gas TGS2600 a Raspberry Pi para Detección de Gases Nocivos
- Verifica y calibra tu sensor de humedad para mediciones precisas
- Construya un mando a distancia IR universal con Arduino: Guía paso a paso
- Sensor K30 CO₂: Monitorización en tiempo real de la calidad del aire interior
- Integración del sensor de huella capacitivo DFRobot (ID809) con Arduino o ESP8266
- Construye una Torre de Sensores con Arduino Cloud: Temperatura, Movimiento y Gas
- Uso Fácil de Termistor: Guía Paso a Paso con Arduino
- Gestión de problemas de personal: Estrategias para contratar y retener talento en un mercado ajustado
- Evaluando su Preparación para IoT Industrial: ¿Está Listo para el Éxito en Industria 4.0?