Geavanceerd Valdetectiesysteem met Arduino, Windows IoT en Azure Cloud
Onderdelen en benodigdheden
| Arduino UNO | 1 |
| HC-06 Bluetooth-module | 1 |
| Adafruit ADXL345 versnellingsmeter-module | 1 |
| Man-man en man-vrouw jumper-draden | 1 |
| Mini-breadboard | 1 |
| Lumia 1520 of ander Windows Phone 10 compatibel apparaat | 1 |
| ORICO Bluetooth-module | 1 |
Apps en online diensten
- Microsoft Windows 10 IoT Core
- Microsoft Azure
- Microsoft Visual Studio 2015
- Arduino IDE
Over dit project
Inleiding
Vallen die leidt tot dodelijk letsel zijn een grote uitdaging voor ouderen. In de afgelopen jaren zijn verschillende benaderingen voorgesteld voor valdetectie: draagbare apparaten, omgevingssensoren en visie-gebaseerde systemen.
Dit project stelt een bewakingssysteem voor op basis van Arduino, Windows 10 en Microsoft Azure voor real-time valdetectie. Ruwe 3D-versnellingsmeterdata worden geleverd door Arduino met ADXL345. Het Windows 10-apparaat gebruikt deze informatie voor oriëntatiebepaling en valdetectie-algoritmen. Microsoft Azure-diensten en mobiele/PC-applicaties zorgen voor naadloze dataverwerking, analyse, opslag en toegang van overal.
Principe van valdetectie met houdingsherkenning
Het algoritme heeft twee modules: houdingsherkenning en valdetectie. Eerst worden x, y, z-waarden gelezen van de versnellingsmeter. Vervolgens wordt de L2-norm berekend.
Houdingsherkenning: Classificeert houdingen in zitten, staan en lopen. De y-waarde wordt getoetst aan een drempelwaarde voor oriëntatie. De variatiesnelheid van de L2-norm ten opzichte van de zwaartekracht (9,8) classificeert lopen of overgang tussen statussen.
Valdetectie: Zoekt een specifiek patroon in het signaal. Als het verschil tussen opeenvolgende minima en maxima groter is dan 2g, wordt het besloten als een val. De eindbeslissing combineert beide modules. Als de status nog steeds 'lopen' is, kan de val worden verworpen als false alarm.
Vereisten
Voor Arduino: HC-06 Bluetooth-module (goedkoop, klein). Voor Windows 10-apparaat: Surface Pro en Lumia 1520 hebben on-board Bluetooth; Raspberry Pi of MBM hebben een Bluetooth-dongle nodig.
Stap-voor-stap instructies
Stap 1: ADXL345 aan Arduino aansluiten (5 min)
ADXL345 is een kleine, dunne, laag-verbruik 3-as MEMS versnellingsmeter met hoge resolutie (13-bit). Ondersteunt SPI en I2C; hier gebruiken we I2C. Verbind SDA (data) en SCL (klok) met Arduino UNO (A4 en A5). Zorg dat VCC en CS-pins op 3,3V zitten.
Stap 2: Bluetooth-module aansluiten (5 min)
HC-06 is goedkoper dan BlueSMiRF. HC-05 kan master/slave, HC-06 alleen slave. Sluit VCC aan op 5V, GND op GND, TX op Arduino RX (pin 0), RX op Arduino TX (pin 1). Let op: Los Bluetooth TX/RX bij uploaden van sketch.
Stap 3: Bluetooth koppelen met Windows 10 (5 min)
De module draait SPP-protocol. Op Windows 10 PC: Instellingen → Apparaten → Bluetooth, koppel "HC-06", standaard code 1234, standaard 9600 Baud. Op Windows 10 Mobile: zelfde stappen. Op Windows 10 IoT Core (Raspberry Pi 2): gebruik ORICO BTA-403 Bluetooth USB-dongle, koppel via SSH en commandoregeltools.
Stap 4: Azure Storage Account aanmaken (10 min)
In Azure Management Portal: Storage → +NEW → Data Services → Storage → Quick Create. Vul URL, Locatie, Replicatie in. Wacht op status "Online". Kopieer Storage account naam en access key.
Stap 5: Azure Storage Table aanmaken
Gebruik Azure Storage Explorer (open source). Voeg account toe, maak nieuwe tabel "Accelerometer Table".
Stap 6: Code downloaden en deployen (10 min)
- Arduino: laad "ADXL345_HC06.ino" in Arduino IDE, upload (los HC-06 TX/RX), herstel verbindingen.
- Windows UWP app: laad "GenericBluetoothSerialUWApp" in Visual Studio 2015. Voeg storage account naam en key toe in MainPage.xaml.cs. Deploy naar PC, Mobile of IoT-apparaat.
- FallDetectionClient: laad van GitHub, voeg storage credentials toe, deploy.
Code
Arduino Sketch (ADXL345_HC06.ino)
ADXL345 Versnellingsmeter + HC-06 Bluetooth-module. Volledige code beschikbaar in de bron.
Bluetooth Serial App
Communiceert met Arduino via HC-06 en stuurt ADXL345-data naar Azure: GitHub
FallDetectionClient
UWP client-app voor valdetectie: GitHub
Schema's
ADXL345 + HC-06 schematische diagrammen beschikbaar.
Productieproces
- Betrouwbaar Arduino RFID Aanwezigheidssysteem Aangedreven door Python
- Arduino Uno Gebaseerde Mensendetectie Robot: Stap-voor-stap Sensorintegratie
- Ontwerp een PM2.5 & PM10 Luchtkwaliteit Detector App voor Windows 10 UWP
- Real-time Bosbrandbewakingssysteem met SMS-alarmen
- u-blox LEA‑6H GPS Module: Arduino & Python Integratie Handleiding
- Bouw Real-Time Cellulaire Automaten op Arduino met 128x64 OLED Display
- eDOT: Precieze Arduino-klok & weerstation met ingebouwde IR-remote
- Real-time RFID aanwezigheidssysteem met Arduino en Google Sheets
- Geavanceerd Arduino Botsingswaarschuwingsysteem – Visuele & Audio Alerts voor Voertuigveiligheid
- Arduino Uno & Bluetooth voor afstandsbediening van auto: stap-voor-stap handleiding
- Slimme Keyless Deurslot – Arduino & Android Bluetooth Wachtwoordsysteem