Health Band: Smarter Wearable-Assistent für Senioren
Komponenten und Materialien
| Komponente | Anzahl |
|---|---|
| Infineon DPS310 Drucksensor (barometrisch) | 1 |
| Arduino Nano R3 | 1 |
| Espressif ESP8266 ESP-01 WiFi-Modul | 1 |
| Jumper-Kabel (Sortiment) | 1 |
| 3,7 V LiPo-Akku | 1 |
Benötigte Werkzeuge und Maschinen
- Lötkolben (Standard)
Apps und Online-Dienste
- Arduino IDE
- Blynk App (iOS/Android)
Projektbeschreibung
Lebt ein geliebter Mensch allein im Alter? Keine Sorge mehr. Mit Infineons DPS310-Drucksensor haben wir einen virtuellen Assistenten in Form eines Armbands entwickelt, der diese zeitraubende Aufgabe übernimmt und Ihre Liebsten in sichere Hände gibt.
„Senioren machen derzeit etwa 14,5 % der US-Bevölkerung aus, und bis 2030 werden es rund 74 Millionen sein. Angesichts steigender Gesundheitskosten und der Belastung des Gesundheitssystems sind neue Lösungen für das Senioren-Management unerlässlich.“
Nach der Recherche dieser erschreckenden Zahlen ist dies unser Versuch, älteren Menschen zu helfen!
Die Geschichte dahinter
Meine Großmutter leidet seit einigen Jahren an beginnender Alzheimer-Demenz, deren Zustand sich verschlechtert. Dies führte zu Problemen:
- Weglaufen zur Arbeit (obwohl ihr geraten wurde, nicht zu gehen)
- Mahlzeiten auslassen oder doppelt essen
- Vergessen der verordneten Übungen
Alles aufgrund von Gedächtnisverlust und mangelndem Bewusstsein für ihren Zustand. Meine Mutter musste fast rund um die Uhr bei ihr sein – sehr kräftezehrend. Die Idee: Ein Wearable, das Verhalten und Aktivitäten überwacht und im Notfall Angehörige alarmiert. Entlastung für die Pflegenden, Sicherheit für den Patienten.
Systemkomponenten & Konzept
Obwohl der Fokus auf Alzheimer-Patienten liegt, wurden viele Funktionen integriert, die allen Senioren im Alltag helfen.

Der DPS310 besticht durch seine winzige Bauform – ideal für Wearables. Herzstück ist der Arduino Nano, der über I²C mit dem DPS310 verbunden ist. Bewegungsmuster werden analysiert, um den Zustand des Patienten zu bestimmen und bei Notfällen Alarm zu schlagen. Die Daten werden in der Blynk-App visualisiert. Das Gesamtsystem wird in ein kompaktes, ansprechendes Armband integriert.
Funktionen & Fähigkeiten

Sturzerkennung (Fall)
Studien zeigen: Stürze sind das größte Risiko für Senioren. Oft kommt Hilfe zu spät. Der Health Band erkennt einen plötzlichen Druckabfall (Sturz) und sendet automatisch eine Nachricht an Angehörige.

Bewegungsmotivation (Exercise)
Ältere Menschen zu Bewegung zu motivieren ist schwer. Der Band zählt Schritte und Gehzeit – ein Anreiz, aktiv zu bleiben. Bei meiner Großmutter: Ärztliche Vorgabe 1000 Schritte, sie verliert die Zählung. Der Zähler hilft ihr.
Erkennt der Band eine „Wellenbewegung“ (periodisches Auf-und-Ab), beginnt die Schrittzählung. Jeder Zyklus (Berg zu Berg oder Tal zu Tal) = ein Schritt. Anzeige in der App.

Fiebererkennung (Fever)
Der DPS310 misst auch die Temperatur. Da das Band am Arm anliegt, erfasst es die Körpertemperatur kontinuierlich. Auffällige Spitzen oder Abfälle lösen automatisch eine Benachrichtigung aus.

Zustandserkennung (State)
Der Band zeigt den aktuellen Zustand an: Schlafen, Wach, Sport. (Noch nicht perfekt – manchmal Fehlklassifikationen. Weitere Zustände geplant.)
Schaltung
Der DPS310 kann per Bluetooth mit einer App genutzt werden, was für unser Konzept zu limitiert war. Daher: Arduino Nano per I²C an den Sensor, um Rohdaten auszuwerten. Danach ESP8266 für WiFi-Kommunikation mit der Blynk-App.
Aufbau


Zuerst Pins an den Sensor löten (2×7 Pins). Breadboard erleichtert das Arbeiten.

DPS310 → Arduino Nano (I²C):
- Pin 1 (SDA) → Analog Pin 4 (A4)
- Pin 2 (SCL) → Analog Pin 5 (A5)
- Pin 8 (GND) → GND
Hinweis: Ausrichtung wie im Bild beachten!
Arduino Nano → ESP8266 (WiFi):
- Pin 1 (TX) → Digital Pin 11
- Pin 2 (RX) → Digital Pin 10
- Pin 7 (GND) → GND
- Pin 8 (VCC) → 3,3 V
Hinweis: Ausrichtung wie im Bild beachten!


Armband-Fertigung
Alle Komponenten sind klein und passen ans Handgelenk. Wir nutzten Leinwand (Canvas) und Schaumstoff zur Einbettung sowie Klettverschluss für die Riemen.


- Schaumstoff auf Handgelenkbreite zuschneiden.
- Sensoren anordnen, finale Größe ausschneiden, Kanten abrunden.
- Pins in Schaumstoff stecken (Schutz & Halt), Akku in Schlitz einlegen.
- Armband umdrehen, Verbindungen löten (Pins schauen raus). Testlauf.
- Klettbänder annähen/kleben. Mit Leinwand umwickeln und Heißkleber fixieren – sauberes Finish.






***Wir werden das Projekt aktualisieren, sobald das finale 3D-gedruckte Gehäuse fertig ist (Bilder & Druckdateien).***
Programmierung der Algorithmen
Vor dem Programmieren müssen folgende Bibliotheken in der Arduino IDE installiert werden (Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen):
- Wire Library (meist vorinstalliert, I²C-Kommunikation) – GitHub
- DPS310 Pressure Sensor Library – GitHub
- Blynk Library – GitHub
Testcode hochladen, Serial Monitor prüfen (live Daten?). Dann Hauptcode hochladen und Blynk-App einrichten.
Blynk-App erstellen
Blynk aus Play Store installieren: Link. In der Arduino IDE unter Datei → Beispiele → Blynk viele Vorlagen.

_Cwhoz8GktO.jpeg?auto=compress%2Cformat&w=680&h=510&fit=max)

Controller: Arduino Nano, Verbindung: WiFi. Auth-Token per E-Mail erhalten → in Code eintragen.


Verwendete Widgets: Gauge (Temperatur), Value Display (Schritte), LCD Display (Zustand). Erweitern Sie nach Bedarf.
Fazit – Überwiegend erfolgreich!

Einige Probleme gab es: Handgelenktemperatur (36 °C) vs. medizinisches Thermometer (36,8 °C Achsel). Schrittzähler anfangs ungenau, nach Kalibrierung gut. Zustands-Erkennung teils fehlerhaft, durch zusätzliche Variablen verbessert.
Nach Neukalibrierung liefert der Health Band zuverlässige Daten. Meine Großmutter ist seit zwei Wochen ohne menschliche Assistenz – der Band funktioniert hervorragend! Sturz- und Fieberalarme wurden (glücklicherweise) noch nicht real getestet, theoretisch funktionsfähig.
Ein tolles Projekt, einfach umsetzbar – wir hoffen, es kann Leben retten und Senioren in sichere Hände geben!
Code
1. Generating Data Test (Arduino)
Testprogramm nach Bibliotheksinstallation – live Daten im Serial Monitor erwartet.
#include
void setup() {
Serial.begin(9600);
while (!Serial);
ifxDps310.begin(Wire); // Default-Adresse 0x77
// Falls Temperatur ~60°C angezeigt wird (Fuse-Bit-Problem):
// ifxDps310.correctTemp(); // einmalig nach Start aufrufen
int temp_mr = 2, temp_osr = 2; // Temp: 4 Messungen/s, 4x Oversampling
int prs_mr = 2, prs_osr = 2; // Druck: 4 Messungen/s, 4x Oversampling
int ret = ifxDps310.startMeasureBothCont(temp_mr, temp_osr, prs_mr, prs_osr);
if (ret != 0) { Serial.print("Init FAILED! ret = "); Serial.println(ret); }
else { Serial.println("Init complete!"); }
}
void loop() {
unsigned char pressureCount = 20, temperatureCount = 20;
long int pressure[20], temperature[20];
int ret = ifxDps310.getContResults(temperature, temperatureCount, pressure, pressureCount);
if (ret != 0) { Serial.print("FAIL! ret = "); Serial.println(ret); }
else {
Serial.println(); Serial.print(temperatureCount); Serial.println(" temperature values found:");
for (int i=0;i
2. HealthBand mit Blynk Application (Arduino)
Endprogramm – Schwellenwerte manuell anpassen (siehe Kommentare). Blynk-Widgets entsprechend konfigurieren.
#include
#include
#include
#define BLYNK_PRINT Serial
char auth[] = "YourAuthToken";
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
const unsigned char pressureLength = 50;
unsigned char pressureCount = 0;
long int pressure[50];
unsigned char temperatureCount = 0;
const unsigned char temperatureLength = 50;
long int temperature[50];
// Schwellenwerte (für Küstenregion ~34°C Umgebungstemp. ermittelt)
int pressureFallingThresh = 1;
int pressureSleepingThresh = 4;
int tempFeverThresh = 39;
int pressureJogThresh = 5;
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
while (!Serial);
ifxDps310.begin(Wire);
ifxDps310.setInterruptPolarity(1);
ifxDps310.setInterruptSources(1, 0, 0);
ifxDps310.getIntStatusFifoFull(); // Interrupt-Flag löschen
pinMode(3, INPUT);
attachInterrupt(digitalPinToInterrupt(3), onFifoFull, RISING);
int temp_mr = 3, temp_osr = 2;
int prs_mr = 1, prs_osr = 3;
int ret = ifxDps310.startMeasureBothCont(temp_mr, temp_osr, prs_mr, prs_osr);
if (ret != 0) { Serial.print("Init FAILED! ret = "); Serial.println(ret); }
else { Serial.println("Init complete!"); }
}
void loop() {
Blynk.run();
Serial.println("loop running");
delay(500);
if (pressureCount == pressureLength && temperatureCount == temperatureLength) {
// Ergebnisse auswerten & Alarme prüfen
for (int i=0;i tempFeverThresh) feverEmail();
}
for (int i=0;i
Schaltpläne
Herstellungsprozess
- IEC-Normen für Smart-Home-Geräte meistern: Was Designer wissen müssen
- Intelligente Jalousien: Automatische Lichtsteuerung mit Arduino & Solarenergie
- Smart IoT-Glas bauen: Füllstand überwachen mit ESP8266, Arduino & Ultraschall
- Arduino Iron Man bauen: Komponenten, Sensoren & Schritt-für-Schritt-Anleitung
- Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
- Erdmassen-Messung mit Arduino: Schritt-für-Schritt DIY-Anleitung
- DIY Arduino Luftbefeuchter-Steuerung mit Relais – Sichere Hochspannungs-Installation
- ROI in der Smart Manufacturing maximieren: Amortisation und datengesteuerter Erfolg
- Hardware-unabhängige Software: Schlüsselfaktoren für Smart Factories
- Handbandsäge: Langlebige, tragbare Schneidlösung für jedes Projekt