Team Beta

From Hackteria Wiki
Revision as of 08:36, 17 September 2021 by Tdkaiser (talk | contribs) (Muscle spiker)
Jump to: navigation, search

Einleitung und Inputs

Kurzbeschrieb MedTech DIY

Das Modul verbindet Anwendungen der Medizintechnik mit Do It Yourself (DIY) Ansätzen. Dadurch wird das tiefere Verständnis von Medizintechnischen Geräten durch einen direkten, interdisziplinären und möglichst selbstgesteuerten Zugang gefördert. Basierend auf verschiedenen elektrophysiologischen Messmodulen (EMG, EKG, EOG, EEG) entwickeln die Studierenden im Team Ideen für innovative Projekte. Erste Prototypen werden mit den Mitteln der Digitalen Fabrikation hergestellt und getestet. (Modulbeschrieb HSLU, 2017)

Arbeitsplatz FabLab

FabLabs sind ein globales Netzwerk lokaler Labs. Das Ziel der FabLabs ist einer breiten Masse den Zugang zu diversen digitalen Fabrikationsmaschinen zu bieten. In der Blockwoche Medizintechnik DIY kann das FabLab der Hochschule Luzern auf dem Campus in Horw genutzt werden. Es stehen 3D-Ducker, Laser-Cutter, CNC-Maschinen usw. zur Verfügung.

Am ersten Tag erfolgte die Gruppeneinteilung. Im Anschluss konnte sich jedes Team seinen Arbeitsplatz selbst einrichten. Es soll dabei auf keinen Fall starr am eigenen Platz gearbeitet werden, sondern es ist erwünscht sich mit anderen Teams auszutauschen und auch die Plätze zu wechseln, um den Wissensaustausch zu fördern.

Jede Person im FabLab trägt dazu bei, dass folgende Dinge eingehalten werden:

  • Sicherheit: weder Menschen noch Maschinen Schaden zufügen
  • Betrieb: helfen beim Putzen, Unterhalt und Verbesserung des Labs
  • Wissen: zu Dokumentation beitragen und Einführungen geben

Einführung in die "DIY-Kultur"

Nach dem Mittag besuchten wir den Gast-Vortrag von Herrn Urs Gaudenz. In diesem wurden uns die Vorteile von DIY, Open-Source und Digital Manifacturing näher gebracht. Durch die DIY-Kultur werden vielen Möglichkeiten geschaffen, in Kombination mit Open-Source ist es möglich viele Projekte in kurzer Zeit zu realisieren. Durch diese Kultur kann man einfach auf Wissen und Erfahrungen anderer zurückgreiffen und muss das Rad nicht neu erfinden. Oftmals werden nicht nur die Bauteile geteilt, sondern auch der Surce-Code. Somit haben auch Personen ohne Programmierungskills die Möglichkeit komplexere Projekte zu realisieren. Auf dem Gaudishop von Herr Gaudenz bekommt man einen Einblick wie vielseitig diese Projekte sein können.

Vortrag von Christian Gehringer

Am zweiten Tag hat sich Christian Geringer online zu uns geschalten und mit uns über seine Tätigkeiten und Projekte gesprochen. Christian hat zuerst Biologie studiert und später noch ein Medizinstudium angehängt. Aktuell arbeitet er als Hausarzt in Deutschland und ist Anhänger der DIY-Gemeinschaft.

Face Shields sind seit der Coronapandemie vielen Personen ein Begriff. Christian half mit während die Masken und Face Shields knapp wurden und druckte mit einem 3D-Drucker selbst Face Shields und verteilte diese. Er nutze den 3D-Drucker weiter und druckte Proteinstrukturen aus, um ein besseres Verständnis für diese zu vermitteln. Auch ohne 3D-Drucker kann man grossartige Projekte realisieren. So baute er aus einem defekten selbst fahrenden Board und einem alten Playstation Controller ein Roboter, der Getränkekiste transportieren kann. Wichtig war im Dinge ohne Wert einen neuen Zweck zu geben.

Weiter sprach er über zwei Projekte aus seinem Medizinstudium. Beim ersten Projekt war er in Gabun. Er untersuchte Blutwürmer mit den lokalen Laborvorrichtungen. Die Laborvorrichtungen mussten teils mit DIY-Skills aufgebessert werden und so entstand ein verbesserter Schüttler für die benötigte Anwendung. Beim zweiten Projekt war Christian in Südafrika und untersuchte unter anderem welchen Einfluss die Stromausfälle auf die Verletzungen von Kindern hat. Er könnte nachweissen, dass mehr Kinder ins Spital eingeliefert werden, wenn der Strom unterbrochen ist, da dann mit offenem Feuer gekocht wird.

Zum Schluss konnten die Interessierten in einer offenen Fragerunde ihre Fragen stellen.

Teammitglieder

Benjamin Zuber

Studiengang: Maschinenbau
Benjamin Zuber

Semester 7
Alter: 26 Jahre
Ausbildung: Physiklaborant

Patrick Stadelmann

Studiengang: Medizintechnik
Patrick Stadelmann

Semester 7
Alter: 24 Jahre
Ausbildung: Elektroinstallateur

Fabian Kaiser

Studiengang: Medizintechnik
Fabian Kaiser

Semester 7
Alter: 25 Jahre
Ausbildung: Polymechaniker



Coronafall und Umstellung

Nachdem der erste Tag normal verlief, wurden wir in der Nacht auf Dienstag von einem Mail überrascht. Marc hatte sich trotz Impfung das Coronavirus eingefangen. Benjamin und Patrick hatten dieses Mail nicht früh genug gesehen und waren bereits vor Ort. Sie arbeiteten im FabLab bis am Mittag weiter an den Hack 0, 1 und 2. Zeitgleich beschäftigte sich Fabian mit dem Wiki und brachte dies auf einen guten Stand. Ab Mittwoch wurde für den Rest der Woche bei Benjamin zuhause gearbeitet. Er hat einen eigenen 3-D Drucker und ist sonst auch sehr gut ausgerüstet. Das restliche Material, was wir noch benötigt haben, holten wir am Morgen aus dem FabLab ab. Bei der Präsentation am Samstag war jeder alleine bei sich zuhause.


Hack 0

Löten

Benajmin beim "lötle"

Beim Löten haben wir uns an die Anweisungen auf der Verpackung des Muscle Spiker Shields gehalten. Gleichzeitig haben wir noch die Webseite von Backyard Brains aufgerufen und mit der Anleitung für die Version 2.11 gearbeitet. Zu Beginn hatten wir eine alte Version aufgerufen. Unbedingt auf die Versionsnummer auf der Verpackung achten. Bei weiteren Unklarheiten haben wir uns die Vorgängermodelle angeschaut. Durch die Arbeitsteilung von Plan lesen, stecken und löten war das Shield schnell einsatzbereit, obwohl bei einem Widerstand (R6) war man sich nicht sicher und hatte ihn im Anschluss entfernt. Der Grund für das entfernen war, dass wir an der falschen Stelle den Widerstand angebracht haben und dadurch kein Platz blieb für andere Bauteile, welche auch noch benötigt wurden. Andere Muscle Spiker Shields hatten diesen Widerstand auch nicht und daher haben wir den Widerstand R6 nicht angebracht. Weiter gab es ein kurzes Problem bei einem 8-Pin female header, da beim Löten dieses Teil nicht gut festgehalten wurde rutschte es etwas durch und das Bauteil war nicht bündig auf der Printplatte. Mit zwei Lötkolben und vier Händen konnte das Bauteil bündig auf der Printplatte befestigt werden. Jetzt konnte das Muscle Spiker Shields auf das Arduion gesteckt werden. Hier darauf achten, dass die Anschlüsse ineinandergreifen. Mit der korrekten Programmierung ist das Muscle Spiker Shield einsatzbereit.

Muscle spiker

Control Machines with your Brain - LED Stip

LED-Strip Test
LED Strip Test.jpeg

Zur qualitativen Erfassung der Muskelkontraktionsspannung wurde die zuvor zusammen gelötete Platine "Muscle Spikeshield DIY v2.11" auf dem Arduino montiert. Anschliessend wurde das Arduino Uno zur Stromversorgung mit einem Laptop verbunden. Das entsprechende Skript wurde von der Homepage "DIY.Backyardbrains.com" heruntergeladen und mit dem USB-Kabel und der Arduinosoftware auf das Arduino überführt. Danach wurden drei Elektroden gemäss der Anleitung von "Backyardbrains" an der entsprechenden stelle Positioniert und mit dem Inputanschluss verbunden. Die sechs LED's zeigen zeigen jeweils die Muskelkontraktionen an. Die Anzahl der leuchtenden LED's korrliert mit dem Spannungspotenzial der Muskelkontraktion. Das heisst, je fester man den Muskel anspannt, desto mehr LED's leuchten.


Das Arduinoskript ist Opensource und steht unter BACKYARDBRAINS zum Download bereit. Das heruntergeladene Arduinoskript ist nachfolgend aufgeführt:

#define NUM_LED 6  //sets the maximum numbers of LEDs
#define MAX 150     //maximum posible reading. TWEAK THIS VALUE!!
int reading[10];
int finalReading;
byte litLeds = 0;
byte multiplier = 1;
byte leds[] = {8, 9, 10, 11, 12, 13};

void setup(){
  Serial.begin(9600); //begin serial communications
  for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs
    pinMode(leds[i], OUTPUT);
  }
}

void loop(){
  for(int i = 0; i < 10; i++){    //take [ten] readings in ~0.02 seconds
    reading[i] = analogRead(A0) * multiplier;
    delay(2);
  }
  for(int i = 0; i < 10; i++){   //average the ten readings
    finalReading += reading[i];
  }
  finalReading /= 10;
  for(int j = 0; j < NUM_LED; j++){  //write all LEDs low
    digitalWrite(leds[j], LOW);
  }
  Serial.print(finalReading);
  Serial.print("\t");
  finalReading = constrain(finalReading, 0, MAX);
  litLeds = map(finalReading, 0, MAX, 0, NUM_LED);
  Serial.println(litLeds);
  for(int k = 0; k < litLeds; k++){
    digitalWrite(leds[k], HIGH);
  }
  //for serial debugging, uncomment the next two lines.
  //Serial.println(finalReading);
  //delay(100);
}
    


Advanced NeuroProsthetics: Take Someone's Free Will

Wir hätten dieses Experiment sehr gerne durchgeführt. Leider standen uns nicht alle benötigten Materialien zur Verfügung und wir haben uns stattdessen mehr auf den Hack 1 und Hack 2 fokusiert.

Hack 1

Fiebermesser

Fiebermesser mit LED-Anzeige

Wer kennt es nicht, professionelle Fiebermesser sind teuer und werden im Privatgebrauch nur selten verwendet. Aus diesem Grund haben wir uns entschieden einen DIY-Fiebermesser zu entwerfen. Dieser Zeigt mit LEDs an, ob man Fieber hat oder nicht. Durch die Signalisierung mit den 3 LEDs (grün=i.O; blau=Unterkühlung; rot=Fieber) ist die Anwendung des Fiebermesser intuitiv und einfach. Besonders in der Pandemie kann es sinnvoll sein seine Temperatur öfters zu messen. Mit dem DIY-Fiebermesser können auf einfachste Weise unnötig grosse Kosten vermieden werden.

Die ideale Körpertemperatur beträgt 36,6°C. Diese schwankt jedoch um einige zehntel Grad und daher wird der Bereich i.O mit 35,5 – 37.5°C beschrieben. Alles was darüber ist wird bei unserem Model bereits als Fieber bezeichnet. Normalerweise gibt es weitere Abstufungen wie erhöhte Temperatur, leichtes Fieber, Fieber und hohes Fieber. Für weitere DIY-Projekte kann das Fiebermessgerät erweitert werden. Unter der Marke von 35,5°C gibt es auch noch weitere Differenzierungen bei der Benennung. So deckt der Begriff Unterkühlung auch noch den Begriff Untertemperatur ab. Entscheidend ist auch der Ort der Messung. Üblich sind die Messungen im Mastdarm, Mund, Achselhöhle und Ohr. Hygienetechnisch verzichten wir auf die Option Mastdarm. Das Ohr ist nicht möglich, da dort die Temperatur meist kontaktlos gemessen wird. Bei der Achselhöhle ist die Messung unzuverlässig. Aufgrund dieser Tatsache entschieden wir uns für die Messung im Mund. Unter der Zunge liegt die Temperatur etwas tiefer als die tatsächliche Körpertemperatur. Sie weicht um 0,3 – 0.5°C ab. Daher werden die Werte nach unten korrigiert. Wir setzten somit die Werte wie folgt fest für die Messung im Mund:

  • Fieber ab 37,1°C (rotes Licht)
  • i.O ab und mit 35,1°C und bis und mit 37,1°C (grünes Licht)
  • Unterkühlung unter 35.1°C (blaues Licht)

Bei der Umsetzung haben wir mit dem Programmieren gestartet. Bitte hier kurz das Programm beschreiben

const int sensorPin=A0;
const float baselineTemp=35; // Minimale Körpertemperatur in °C

void setup() {
 Serial.begin(9600);
 for(int pinNumber=2; pinNumber<5;pinNumber++){
  pinMode(pinNumber, OUTPUT);
  digitalWrite(pinNumber, LOW); 
  
 }

}

void loop() {
 int sensorVal=analogRead(sensorPin);
 Serial.print("Sensor Value: ");
 Serial. print(sensorVal);
 float voltage=(sensorVal/1024.0)*5.0;

 Serial.print(",Volts: ");
 Serial.print(voltage);

 Serial.print(", degrees C: ");
 float temperature = (voltage-.5)*100;
 Serial.println(temperature);

 if (temperature < baselineTemp){// Zustandsmaschine 
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
}else if(temperature>=baselineTemp&&temperature<baselineTemp+2){
  digitalWrite(2,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(4,LOW);
}else if(temperature>=baselineTemp+2){
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,HIGH);

  delay(1); // Verzögerung
  
  
 }

}
    

Hardwaretechnisch haben wir zu Beginn die benötigten Bauteile wie Thermoelement, Arduino und verschiedene LED's auf einem Klemmbrett befestigt, um die Funktionalität zu testen. Nachdem das System funktionierte, musste es Gebrauchstauglich gemacht werden. Hierfür wurde im NX CAD ein auf das Projekt abgestimmtes Gehäuse gefertigt. Damit das Arduino an den richtigen Stellen befestigt werde kann, wurde über die Webseite GRABCAD eine CAD-Vorlage für das Arduino heruntergeladen. Ein Platz für eine Batterie wird auch eingeplant im Gehäuse. Auf dem Deckel werden die LED’s mit intuitiver Beschriftung angebracht. Zusätzlich wird noch ein Schalter eingebaut, damit das System ein- und ausgeschalten werden kann. Hier sieht man das CAD-File für das Gehäuse mit Deckel (Datei einfügen). Die Anschlüsse des Thermoelements werden mit Kabel verlängert und im Anschluss werden die Lötstellen mit Schrumpfschlauch und weiteren Mittel Wasserdicht gemacht. Jetzt ist das System nach Laden des Programmes einsatzbereit. Nimmt man das Thermoelement in den Mund, so weiss man nach 2 Minuten Wartezeit, ob man Fieber hat, unterkühlt ist oder alles in Ordnung ist.

Das Gehäuseunterteil mussten wir zweimal drucken, da beim ersten Mal die Halterung für das Arduino vergessen gegangen sind. Auch beim zweiten Versuch stellten wir einen Fehler fest. Die genutzte Vorlage von GRABCAD war fehlerhaft und die Halterungen passten nicht. Mit improvisieren und Heissleim haben wir dieses Problem gefixt. Ansonsten funktioniert das System wunderbar. Einziger Nachteil ist, dass man beim Messen nicht weiss, wie hoch das Fieber ist. Theoretisch könnte man innerlich kochen und das System zeigt einfach nur Fieber an.

3D-Druck

3D-Druck Fiebermesser fail.jpeg


Hack 2

Blindenwarnsystem

Stellen Sie sich folgende Situation vor: Eine Sehbehinderte Person möchte die Strasse überqueren. Leider gibt es in der nähe keinen Zebrastreifen, die Person muss also alle ihre Sinne einsetzen. Weil sie die Strasse möglichst schnell überqueren will läuft die Person mit zügigem Schritt über die Strasse und sucht dabei mit dem Langstock (Blindenstock) den Randstein auf der anderen Strassenseite. Durch die Eile stösst sie ihren Kopf an einem Strassenschild. Genau diese Situation widerfuhr mir in London. Auch wenn die genannte Person leicht alkoholisiert war denken wir, dass dies nicht eine Ausnahmesituation war. Deshalb wollten wir im Hack 2 ein Produkt entwickeln was in solchen Situationen Abhilfe schafft. Mittels einem Ultraschallsensor soll der Bereich vor dem Kopf gescannt werden und via Vibration wird ein Signal weitergeleitet, falls ein Hindernis in dem Bereich liegt.
Warum via Vibration und nicht durch ein Audio Signal?

  • Ein Audiosignal könnte andere Passanten irritieren und für Verwirrung sorgen
  • Die Sehbehinderte Person benötigt den Hörsinn bereits um sich bewegende Objekte (Autos, Fahrräder, Passanten etc.) zu erkennen. Dieser sollte somit nicht mehr "belastet" werden

3D-Druck

Die Halterung für den Ultraschallsensor wurde mit einem Open Source STL-File hergestellt.

Auch das Case wurde mit einem Open Source STL-File hergestellt.

Sensorhalter

Als Sensorhalterung wurde die Innenausstattung eines Baustellenhelmes ausgebaut und entsprechend mit dem 3D-Druckteil modifiziert.

Alphatest

Betatest

Reflexion