Tragbares Pulsoximeter für Notfalleinsätze während COVID-19
Komponenten und Materialien
| Arduino Nano R3 | 1 |
| Maxim Integrated MAX30100 Pulsoximeter-Sensor | 1 |
| SSD1306 128x32 I2C OLED Display | 1 |
| Steckplatine (Prototyp) | 1 |
| Fingerclip (Design von Peter Smith, Thingiverse) | 1 |
Benötigte Werkzeuge und Maschinen
- 3D-Drucker (allgemein)
- Lötkolben (allgemein)
- Lötzinn, bleifrei
- 4x0,25 mm Draht
Über dieses Projekt
Dieses einfache Projekt soll Menschen und Institutionen in der Notlage helfen. Die schwierige Beschaffung fundamentaler Geräte, die in Normalzeiten in jedem Krankenhaus Standard sind, ist ein riesiges Problem – ebenso der Mangel an Schutzausrüstung.
Open Source als Basis für schnelle Replikation & Verbreitung
Das „Basis-Paket“ dieses ersten Releases umfasst alle Teile für ein funktionsfähiges Gerät:
1 – Die Hardware
Kurze Liste gängiger, günstiger Hardware mit großem Potenzial: Arduino Nano (andere Micros möglich), MAX30100 Pulsoximeter-Sensor, OLED 128x32, „Notfall-Platine“.
2 – 3D-druckbare Gehäuse
Einfaches 3D-gedrucktes Gehäuse zum Schutz von Hardware und Verbindungen.
3 – 3D-druckbarer Fingerclip
Open-Source „Pulse Oximeter Clip“ für MAX30100 Board von Peter_Smith auf Thingiverse – schnellster Weg zur Teilung.
4 – Einfache Notfall-Platine
Zum elektrischen Verbinden und Tragen aller Teile: einfache „Basisplatine“ auf Lochrasterplatine (nächste Stufe: geätzter PCB). So lassen sich Arduino, Sensor und OLED schnell verbinden.
5 – Der Code
In dieser Vorab-Version: Basiskonfiguration für klare Anzeige von Herzfrequenz und Oximetrie mit Echtzeit-Monitoring. Parameter für allgemeinen Gebrauch eingestellt, kleine Anpassungen für spezifische Situationen möglich.
6 – Die Anleitung
Einfache Zeichnungen, Schritt-für-Schritt-Anleitung, Basis-Infos für Aufbau und Debug. Links zu Bibliotheken und Thingiverse-Repository. Nichts weiter nötig in dieser Phase.
WICHTIGER HINWEIS (DISCLAIMER): Diese Applikation, Sensoren und das funktionale Gerät sind NICHT für medizinische Zwecke getestet und die Einzelteile sind nicht kalibriert und nicht zertifiziert. Bitte nutze dieses einfache Gerät nur für präventive Zwecke und zur Patientenüberwachung ausschließlich in Notfallsituationen, wenn keine medizinischen Geräte und Pulsoximeter verfügbar sind. Jede Nutzung außerhalb dieses Rahmens erfolgt auf eigene Verantwortung, jede Modifikation ebenfalls.
Dieses Programm ist Freie Software: Weitergabe/Modifikation unter GNU GPL v3 oder später. Vertrieben in der Hoffnung, nützlich zu sein, aber OHNE JEGLICHE GARANTIE – nicht einmal implizite Marktgängigkeit oder Eignung für bestimmte Zwecke. Siehe GNU GPL für Details. Copyright © 2020, CEREBRUM™ srl
Das Herunterladen auch nur einer Datei oder die Nutzung jeglichen Inhalts/Anleitung bedeutet: Du akzeptierst den Disclaimer und die Absicht dieses Projekts, veröffentlicht unter der Notfallsituation „Covid-19 Erkrankungen“.
Code
CE_Pulse-Oxi_dev2.4.ino (Arduino Nano)
/* GNU GPL v3 - Copyright 2020, CEREBRUM srl
* Arduino NANO - 3,3V | I2C A4 (SDA), A5 (SCL)
* MAX30100 - PulseOximeter Board (+3.3V | GND | SDA/SCL)
* OLED SSD1306 128x32 (+3.3V | GND | SDA/SCL)
*/
#include
#include "MAX30100_PulseOximeter.h"
#include "MAX30100.h"
#include
#define REPORTING_PERIOD_MS 1000
#define PULSE_WIDTH MAX30100_SPC_PW_1600US_16BITS
#define IR_LED_CURRENT MAX30100_LED_CURR_40MA
#define LED_CURRENT MAX30100_LED_CURR_20_8MA
#define SAMPLING_RATE MAX30100_SAMPRATE_100HZ
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0);
PulseOximeter pox;
MAX30100 sensor;
uint32_t tsLastReport = 0;
uint32_t last_beat = 0;
bool initialized = false;
int HRclean;
int SpO2;
void onBeatDetected() { show_beat(); last_beat = millis(); }
void show_beat() {
u8g2.setFont(u8g2_font_cursor_tr);
u8g2.setCursor(118, 10);
u8g2.print("_");
u8g2.sendBuffer();
}
void initial_display() {
if (!initialized) {
u8g2.clearBuffer();
u8g2.setCursor(15, 12);
u8g2.setFont(u8g2_font_crox2hb_tr);
u8g2.print("CEREBRUM.it");
u8g2.setFont(u8g2_font_crox2h_tr);
u8g2.setCursor(30, 29);
u8g2.print("Initialisiere...");
u8g2.sendBuffer();
delay(4000);
initialized = true;
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_crox2hb_tr);
if (!pox.begin()) {
u8g2.setCursor(40, 12); u8g2.print("FEHLGESCHLAGEN");
u8g2.setCursor(15, 29); u8g2.print("Sensor prüfen!");
u8g2.sendBuffer();
for(;;);
} else {
u8g2.setCursor(20, 12); u8g2.print("INITIALISIERT");
u8g2.setCursor(0, 29); u8g2.print("Sensor anlegen...");
u8g2.sendBuffer();
}
delay(2000);
}
}
void setup() {
u8g2.begin();
initial_display();
pox.begin();
pox.setOnBeatDetectedCallback(onBeatDetected);
pox.setIRLedCurrent(LED_CURRENT);
sensor.setMode(MAX30100_MODE_SPO2_HR);
sensor.setLedsPulseWidth(PULSE_WIDTH);
sensor.setSamplingRate(SAMPLING_RATE);
}
void loop() {
pox.update();
HRclean = pox.getHeartRate();
SpO2 = pox.getSpO2();
if ((millis() - tsLastReport > REPORTING_PERIOD_MS) &&
(HRclean > 30 && HRclean < 220 && SpO2 > 30 && SpO2 < 100)) {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_crox2h_tr);
u8g2.setCursor(0, 12); u8g2.print("HR");
u8g2.setCursor(75, 12); u8g2.print("Bpm");
u8g2.setCursor(0, 30); u8g2.print("SpO2 ");
u8g2.setCursor(75, 30); u8g2.print("%");
u8g2.setFont(u8g2_font_fub11_tf);
u8g2.setCursor(45, 12); u8g2.print(HRclean);
u8g2.setCursor(45, 30); u8g2.print(SpO2);
u8g2.setFont(u8g2_font_cursor_tr);
u8g2.setCursor(118, 10); u8g2.print("^");
u8g2.sendBuffer();
tsLastReport = millis();
}
}
3D-Druck Teile
- Hauptgehäuse für Elektronik & OLED
- Deckel für Hauptgehäuse
- 2-teiliger Fingerclip (von Peter Smith, siehe Contributors)
Schaltpläne
- Hauptverbindungen (Fritzing-Datei)
- Einfache Adapterplatine für Display, Sensor & Arduino Core (Fritzing-Datei)
Herstellungsprozess
- Metall-3D-Druck: 5 hochmoderne Anwendungen, die die Industrie transformieren
- Warum Checklisten die Werkseffizienz antreiben: Bewährte Vorteile und praktische Umsetzung
- COVID‑19: Schlüsselstrategien für einen effektiven Notfall-Supply-Chain-Reaktionsplan
- Ultraschall-Schwebegerät mit Arduino bauen – Akustische Levitation Schritt für Schritt
- Health Band: Smarter Wearable-Assistent für Senioren
- Experten-Leitfaden zur Auswahl von Drahtgitterböden für zuverlässige Palettenregale
- 5 überzeugende Anwendungsfälle für 3D-Druck in Industrie & Kreativwirtschaft
- Premium Sandguss-Lösungen für industrielle Anwendungen
- Elektro-Wasserpumpe für den Hausgebrauch – Zuverlässig, Effizient, Einfach zu Installieren
- Top CNC-EDM-Maschinen für Präzisionsbearbeitung