Sistema Avanzado de Detección de Caídas con Arduino, Windows IoT y Azure Cloud
Componentes y Suministros
- Arduino UNO × 1
- Módulo Bluetooth HC-06 × 1
- Acelerómetro ADXL345 (Adafruit) × 1
- Cables jumper macho-macho y macho-hembra × 1
- Mini protoboard × 1
- Lumia 1520 u otro Windows 10 Mobile × 1
- Módulo Bluetooth ORICO (para Raspberry Pi) × 1
Aplicaciones y Servicios
- Microsoft Windows 10 IoT Core
- Microsoft Azure (Storage Tables)
- Microsoft Visual Studio 2015
- Arduino IDE
Sobre el Proyecto
Sistema de vigilancia en tiempo real para detección de caídas en personas mayores. Arquitectura en tres capas:
- Arduino + ADXL345: Captura aceleración 3 ejes (13-bit, ±16g) vía I2C, envía por Bluetooth (HC-06).
- Dispositivo Windows 10 (IoT Core/Mobile/PC): Recibe datos, ejecuta fusión de sensores y algoritmo de detección de caídas (basado en norma L2 y reconocimiento de postura: sentado, de pie, caminando).
- Azure Cloud: Almacena datos en tablas para análisis histórico, alertas y acceso remoto vía app UWP.
Algoritmo de Detección
- Reconocimiento de postura: Umbral en eje Y para orientación; tasa de variación de norma L2 vs gravedad (9.8) para distinguir caminar/transiciones.
- Detección de caída: Busca patrón característico: diferencia entre mínimos y máximos consecutivos > 2g.
- Decisión final: Combina ambos módulos; descarta falsos positivos si la postura sigue siendo "caminando".
Pasos de Implementación
- Conectar ADXL345: SDA→A4, SCL→A5, VCC+CS→3.3V.
- Conectar HC-06: VCC→5V, GND→GND, TX→RX (D0), RX→TX (D1). Desconectar TX/RX al subir sketch.
- Emparejar Bluetooth: Código 1234, 9600 baudios. En Windows 10 IoT Core requiere dongle (ej. ORICO BTA-403) y emparejamiento vía SSH.
- Crear cuenta Azure Storage: Obtener nombre y clave de acceso.
- Crear tabla "AccelerometerTable" con Azure Storage Explorer.
- Desplegar código:
- Arduino: sketch
ADXL345_HC06.ino(lee ADXL345, envía por serie/Bluetooth). - App UWP
GenericBluetoothSerialUWApp(recibe BT, ejecuta algoritmo, sube a Azure cada 3s). - App UWP
FallDetectionClient(visualiza datos desde Azure en PC/Móvil/IoT).
- Arduino: sketch
Código
Sketch Arduino (ADXL345_HC06.ino)
#include <Wire.h>
#define ADXAddress 0x53 // 0xA7 >> 1
// Registros: 0x2D (POWER_CTL), 0x32-0x37 (DATA_X0..DATA_Z1)
void setup() {
Serial.begin(9600);
Wire.begin();
Wire.beginTransmission(ADXAddress);
Wire.write(0x2D); Wire.write(8); // Medición continua
Wire.endTransmission();
}
void loop() {
int16_t X_out, Y_out, Z_out;
// Lectura ráfaga 6 bytes desde 0x32
Wire.beginTransmission(ADXAddress);
Wire.write(0x32);
Wire.endTransmission(false);
Wire.requestFrom(ADXAddress, 6);
if (Wire.available() == 6) {
X_out = Wire.read() | (Wire.read() << 8);
Y_out = Wire.read() | (Wire.read() << 8);
Z_out = Wire.read() | (Wire.read() << 8);
}
float Xg = X_out / 256.0, Yg = Y_out / 256.0, Zg = Z_out / 256.0;
// Formato: x=+1.23y=-0.45z=+9.81,
Serial.print("x="); Serial.print(Xg,2);
Serial.print("y="); Serial.print(Yg,2);
Serial.print("z="); Serial.print(Zg,2);
Serial.println(",");
delay(20);
}
Apps UWP
- GenericBluetoothSerialUWApp – Recepción BT, algoritmo, subida Azure.
- FallDetectionClient – Cliente visualizador multiplataforma.
Esquemáticos
- Esquema completo (Fritzing):
Complete Schematic.fzz - Conexión ADXL345:
ADXL345.fzz - Conexión HC-06:
hc-06.fzz
Proceso de manufactura
- Sistema de Asistencia RFID Fiable con Arduino y Python
- Robot de Detección Humana con Arduino Uno: Integración de Sensores Paso a Paso
- Diseña una App Detector de Calidad del Aire PM2.5 y PM10 para Windows 10 UWP
- Sistema de monitorización de incendios forestales en tiempo real con alertas SMS
- Módulo GPS u-blox LEA‑6H 02: Guía de integración con Arduino y Python
- Autómatas Celulares en Tiempo Real con Arduino y Pantalla OLED 128x64
- eDOT: Reloj Preciso y Estación Meteorológica Arduino con Control IR Integrado
- Sistema de control de asistencia RFID en tiempo real con Arduino y Google Sheets
- Sistema Avanzado de Alerta de Colisión con Arduino – Alertas Visuales y Sonoras para Seguridad Vehicular
- Control remoto de coche con Arduino Uno y Bluetooth: Guía paso a paso
- Cerradura Inteligente Sin Llave: Arduino y Android con Bluetooth y Contraseña