Team Da Vintschi

From Hackteria Wiki
Revision as of 16:29, 21 September 2021 by Tqhuber (talk | contribs)
Jump to: navigation, search

[[File:Logo_Team_Da_Vintschi.png|thumb]x500px]


Modul "Medizintechnik Do It Yourself"

Kurzbeschrieb

Das Modul "Medizintechnik DIY" wird an der Hochschule Technik & Architekturverbindet als Blockwoche durchgeführt. Ziel dabei ist es, im FabLab die Medizintechnik mit "Do It Yourself" (DIY) zu verbinden und selber einen Beitrag dazusteuern. So wird das technische Verständnis anhand praktischen Anwendungen, Test und Recherchen gefördert. Man soll im Team ein eigenes Projekt kreieren und dazu bestimmte Module entwickeln. Um dies zu Testen werden Prototypen erstellt und getestet. Auch lernt man mit den Instrumenten im FabLab wie 3D-Drucker und Lasercuter umzugehen.

Coronafall

Am Montog noch vor Ort, mussten wir am Dienstag zum Teil auf Homeschooling umstellen. Da es ein Coronafall hatte, mussten zwei der drei Studenten (André Jaun und Kilian Huber) leider zu Hause bleiben. Trotz den zwei Verluste, machte sich Sandro Gantner vor Ort ans Werk. Man versuchte sich zu ergenzen, z.B. wurden die Dokumentation oder Designs zu Hause erstellt. Der praktische Teil jedoch, wurde im FabLab gemacht. Über binary-kitschen.de und WhatsUp blieb man in Kontakte und konnte sich ziemlich gut Austauschen.

Teammitglieder

Sandro Gantner

mini
Alter: 25
Wohnort: Wädenswil
Studiengang: Medizintechnik
Erlernter Beruf: Elektroniker
Hobbys: Handball, Skifahren

Kilian Huber

mini
Alter: 24
Wohnort: Boswil
Studiengang: Medizintechnik
Erlernter Beruf: Elektroniker
Hobbys: Jungwacht, Gängelimusik Muri

André Jaun

mini
Alter: 25
Wohnort: Erstfeld
Studiengang: Maschinentechnik
Erlernter Beruf: Polymechaniker
Hobbys: Wandern, Musik machen

Vorbereitung Blockwoche

Reflexion

In diesem Abschnitt kann die Reflexion zur Vorbereitung der Blockwoche gelesen werden.

Biotechnologie für alle

Der Text zeigt, wie biotechnologische Forschung heutzutage nicht mehr nur in spezialisierten Labors stattfindet, sondern mit wenigen und einfachen Mitteln fast jede Person Laborinstrumente selber bauen kann. Für Andere bringt diese Entwicklung allerdings mehr Gefahren als Chancen mit sich, da die Labore schnell für Missbräuche verwendet werden können. Hingegen Chancen werden gesehen bei Entwicklungsländern, welche teilweise noch keine Labore besitzen wie in westlichen Ländern. Ohne finanziellen Möglichkeiten ist man so trotzdem in der Lage biotechnologische Forschung zu betreiben. Anhand von Workshops wird diese DIY-Kultur weltweit verbreitet. In dieser Kultur ist man ständig im Austausch, gibt sein Wissen weiter und lernt immer wieder neues dazu von anderen Menschen.

How to control someone

Greg Gages Vision ist es die Hirnforschung für jederman zugänglich zu machen. Auf Youtube gibt es dazu eine Aufnahmen von Greg an einer Demo, bei welcher er einen einfachen, kostengünstigen DIY-Bausatz verwendet, um einem Zuschauer den freien Willen zu nehmen. Das Experiment basiert auf die chemischen und elektronischen Vorgänge im Körper, welche mittels des Bausatz ermittelt und übertragen werden.

Open Source

Unter Open Source verstehet man das Teilen von Daten, Wissen, etc. mit der Öffentlichkeit. So können Drittpersonen auf diese Quellen zugreifen, diese für sich selbst verwenden und auf eigene Wünsche/Bedürfnisse anpassen. Auch können die geteilten Informationen fortlaufend weiterenteickelt werden.

Arduino

Diese Open-Source-Elektronikplattform basiert auf benutzerfreundlicher Hardware und Software. Ein grosses Ziel dabei ist, interaktive Projekte zu erstellen. Anhand des Arduino-Boards ist man in der Lage Eingaben zu lesen (z.B. Flüssigkeit auf einem Sensor, das Betätigen einer Taste, etc.) und sie in einen Ausgang umzuwandeln (einen Pumpe zu aktivieren, eine Lampe einzuschalten, etc.). Zusätzlich, kann mit Hilfe der Software und der Programmiersprache "Arduino" eine Reihe von Anweisungen an den Mikrokontroller des Boards gesendet werden, um so komplexe Abläufe zu erstellen.

Inputs

The Future Is Not What It Used To Be

In diesem Kapitel ist eine kurze Reflexion des Films "The Future Is Not What It Used To Be" aufgeführt.

Reflexion

Erkki Kurenniemi gilt als einer der führenden frühen Pioniere der elektronischen Musik in Finnland. Dieser Dokumentarfilm über ihn zeigt auf, wie seine Karriere bzw. seine Arbeit die verschiedenen Gebiete Musik, Film, Computer, Robotik, Wissenschaft und Kunst auf beeindruckender Art miteinander verbindet. Anfangs wird von seinem Privatleben berichtet z.B. dass er von seinem Vater viel lernte und seine Intressen an Elektronik und elkrischer Musik schon in der Schulzeit entstanden. Während seinem Physikstudium an der Universität programmierte er an einem analogen Computer herum. Später wollte die Universität ein eigenes Elektrostudium haben, hatten jedoch zu wenig Geld. So konnte er sich einbringen und dafür mehrere Geräte und elektrische Instrumente entwickeln. Dies war zu sagen sein Startschuss. Die Dokumentation zeigt anschliessend die verschiedensten Projekte auf. Unteranderem zeigt auch der Film das grosses Ziel "Mensch und Computer/Maschine zu verbinden".

Hack 0 "DIY Muscle SpikerShield"

Einleitung

EMG bedeutet Elektromyografie und ist eine neurologische Untersuchung, bei der die natürliche elektrische Aktivität eines Muskels gemessen werden. Das Ziel dieses Experiments ist es mit Hilfe eines SpikerShield-Kit und eines Arduino UNOs, EMG-Signale zu messen. In diesem Abschnitt erfahrt man, wie das Kit aufgebaut und verwendet wurde.

Löten

Für das Experiment mit dem Muscle SpikerShield Kit, mussten zuerst die Muscle Spike Platine mit den in dem Kit enthaltenen Einzelteilen auf die Platine gelötet werden. Zuerst wurde versucht die Einzelteile durch eine schon vorgefertigte Platine zu bestücken. Leider stellte sich heraus das die Vorlageplatine falsch bestückt wurde. Somit wechselten wir von der Vorlage zur Anleitung, welche sich auf der Webseite Backyard Brain befand. Mit der Hilfe der Anleitung konnte eine funktionstaugliche Platine gefertigt werden.

Arduino UNO & Entwicklungsumgebung

Das Board verfügt über 14 digitale I/O-Pins (sechs mit PWM- Ausgang), 6 analoge I/O-Pins und ist mit der Arduino IDE (Integrated Development Environment) über ein USB-Kabel vom Typ B programmierbar.

Das Arduino UNO ist ein Mikrocontroller-Boards (ATmega328P). Dieses Board besitzt mehrere digitale und analoge Input/Output-Pins. Man kann zusätzlich verschiedenen Erweiterungsboards (Shields) anschliessen und daher mit anderen Schaltkreisen verbinden. Es kann über das USB-Kabel oder eine externe 9-Volt-Batterie mit Strom versorgt werden , obwohl es Spannungen zwischen 7 und 20 Volt akzeptiert.


1. Symbolleiste für Schnellzugriff häufig verwendeter Funktionen
2. Programmieroberfläche
3. Informationsoberfläche mit Hinweisen zu eventuellen Fehlern und genutztem Speicher
4. Information zu angeschlossenem Arduino Board und verwendetem COM Port

Um ein Arduino-Board zu programmieren, benötigt es die integrierte Entwicklungsumgebung (IDE) "Arduino". Es handelt sich um eine Java-Anwendung, die für die gängigen Plattformen Windows, Linux und macOS kostenlos verfügbar ist. Man kann sie für verschiedene Einsatzbereiche verwenden wie: Grafik, Simulation und Animation. Die Arduino-IDE besitzt einen Code-Editor und es müssen nur zwei Funktionen definiert werden, damit ein funktionstüchtiges Programm entsteht:

  • setup() – wird beim Start des Programms einmalig aufgerufen, um z. B. Pins als Eingang oder Ausgang zu definieren.
  • loop() – wird fortlaufend und immer wieder durchgeführt, solange das Board eingeschaltet ist.


Programmierung

Nachfolgen ist das benötigende Arduino-Programm, welches von der Internetseite "BACKYARDBRAINS" heruntergeladen wurde, zu sehen. Nach dem Download musste es in der Entwicklungsumgbung "Arduino" geöffnet und uploadet werden.

#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);
}


Durchführung Funktionstest

Der Funktionstest des Muscle SpikerShields wurde nach Anleitung des Herstellers durchgeführt. Als Vorbereitung wurden zwei Elektroden an der Innenseite des Unterarms und eine Elektrode am Handrücken angebracht. Die Elektroden wurden per Kabel mit dem Muscle SpikerShield verbunden. Anschliessen haben wir den fertigen Programmcode aus der Anleitung auf das Arduino-Board geladen. Das Programm wurde gestartet und die Unterarmmuskulatur war zu diesem Zeitpunkt entspannt. Aus diesem Grund leuchtete zu Beginn nur die grüne LED (keine bis schwache Muskelanspannung). Sobald nun der Unterarm angespannt wurde, konnte die Stärke der Anspannung an den LEDs (grün, orange, rot) abgelesen werden. Zusätzlich konnten in der Arduino IDE die Analogwerte ausgelesen werden. Je mehr Muskelaktivität vorhanden war, desto grösser war der Analogwert. Das Experiment zeigte, dass das Muscle SpikerShield funktionsfähig ist und richtig bestückt wurde. Dieses Shield ermöglicht beispielsweise die Ansteuerung von Aktoren anhand der Muskelaktivität eines Menschen.

Beispiel: Keine Bewegung
Resultat: Nur grüne LEDs leuchten, kein Ton vorhanden
Beispiel: Bewegung
Resultat: Bis und mit rote LEDs leuchten, Ton als Rauschen vorhanden


Hack 1 "Falsches Sitzen"

Einführung

Während dem Arbeiten im Büro, in der Schule, etc. sitzt man sehr viel. Dabei nimmt man schnell eine bequeme Haltung ein, welche jedoch nicht immer gut ist. Durch falsches Sitzen können mehrere Beschwerden auftretten/entstehen wie zum Beispiel: Schmerzen oder Probleme mit den Gelenken, Abklemmen der Nerven und Adern, Gewebe-Reizung und viele mehr. Daher überlegten wir in dem Team, wie man dies verhindern kann. Rasch fanden wir eine grobe Idee: Man muss den Mensch bei zu starker Beugung darauf aufmerksam machen. Wie genau das gemacht wird, erfährt man in den nächsten Unterkaptel.

Prototyp 01

Der Prototyp besteht grundsätzlich aus einem Dehnmessstreifen, einem Arduino UNO und einem Motor. Teilweise werden noch weiter elektronische Bauteile benötigt (siehe "Schema"). Dabei wird die Beugung beim Sitzen anhand des Dehnmessstreifen ermittelt und anschliessend wird die Person mit der Rotation des Motors darauf aufmerksam gemacht, wann ein bestimmter Schwellwert überschritten wurde. Das Messen und Verarbeiten der Daten wir mit Hilfe des Arduino UNOs ausgeführt. Um alles zu testen bauten wir den Prototypen auf einem Steckboard auf.

Prototyp 01 Aufbau
Schema
D1: Dehnmessstreifen
T1: Transistor BD241C
M1: Elektromoter
R1: 30kOhm Widerstand
R2: 100Ohm Widerstand
R3: 22kOhm Widerstand


Programm

//Projekt Koerperhaltung
//Team Da Vintschi

int value = 0;
bool motorOn = false;


void setup(){
  
  Serial.begin(9600);
}

void loop(){

  value = analogRead(A7);

  if (value < 450)
  {
    motorOn = true;
  }
  else if (value > 460)
  {
    motorOn = false;
  }

  if (motorOn == true)
  {
    analogWrite(3, 40);
  }
  else
  {
    analogWrite(3, 0);
  }

  Serial.println(value);
}

Versuche mit dem Prototyp 01

Nach dem Aufbau führten wir einen Test durch dieser ist in diesem Video "Erste Versuch Hack1" zu sehen.
Das Testen war ein voller Erfolg und wir entschlossen uns die Idee noch weiter zu entwickeln und auszubauen.

Prototyp 02

Nachdem wir uns versichert haben, dass der "Prototyp 01" funktionierte, fingen wir an diesen zu erweitern. Um möglichst wenig Platz zu benötigen, wurde der Arduino UNO mit einem NANO ersetzt. Zusätzlich wurde eine externe Speisung (9V-Batterie) verwendet um alle Komponente zu betreiben. Damit man den Prototyp auch ein und ausschalten kann, wurden noch ein Kippschalter verwendet. Alle Bauteile wurden anschliessen auf eine Laborplatte gelötet oder mit Kabelbinder montiert. Der Dehnmessstreifen und der Schalter sind jedoch noch lose und werden in einem späteren Zeitpunkt verbaut. Am Motor wurde noch ein Gewicht (Listenklemme) verbaut, so kann beim Rotieren eine Vibration entstehen.

Prototyp 02 Aufbau
Schema
D1: Dehnmessstreifen
T1: Transistor BD241C
M1: Elektromoter
R1: 30kOhm Widerstand
R2: 100Ohm Widerstand
R3: 22kOhm Widerstand
S1: Kippschalter


Versuche mit Prototyp 02

Wie schon beim ersten Prototypen haben Versuche durchgeführt. Diesmal findet man das Video unter: Versuche mit Prototyp 2. Im Video sieht man wie Sandro den Prototypen einschaltet und anschliessen der Dehnmessstreifen bewegt. Bei einer zu grossen Dehnung beginnt der Motor zu rotieren und der Prototyp zu vibrieren.

Design

Nach dem der Prototyp zwei, mit Erfolg getestet wurde, wollten wir die ganze Elektronik kompakt in einer Box verstauen. Dazu wurden im Siemens NX CAD Programm, zwei Teile gezeichnet, welche anschliessend mit dem 3D Drucker ausgedruckt wurden. die zwei Teile bestehen aus einer Bodenplatte und einem Deckel.Die Bodenplatte wurde so konstruiert, dass die Elektronik auf die Platte befestigt werden kann. Der Deckel dient als Schutz und ist mit Aussparungen versehen. Diese Aussparungen werden benötigt für die Montage des Schalters und als Zugang zum USB Anschluss. Fur den Anschluss mit dem Dehnmessstreifens ist ebenfalls eine Aussparung vorgesehen. Die beiden Elemente sind am Rand mit sechs Schrauben zusammengeschraubt. Der Vorteil dieser Befestigungsart liegt darin, dass die Box jeder Zeit geöffnet werden kann.

Bodenplatte
Deckel mit Bodenplatte


Programmierung

Verbessertes Programm

In diesem Kapitel wird der gesamte Arduino-Programmcode beschrieben. Zuerst werden die drei Variablen deklariert. Danach wird im «setup» der Referenzwert des Dehnmessstreifens analog eingelesen und abgespeichert. Der Referenzwert wird später im loop für die Berechnung der Schwellwerte benötigt. Das Gerät sollte eingeschaltet werden, wenn sich der Körper in aufrechter Sitzhaltung befindet. Nur dann kann ein richtiger Referenzwert eingelesen werden. Im «loop» wird dann ständig der neue Analogwert des Dehnmessstreifens eingelesen und abgespeichert. Dieser wird mit den Schwellwerten verglichen und je nach dem wird dann der Motor ein- oder ausgeschaltet. Die Schwellwerte, um den Motor ein- bzw. auszuschalten, sind unterschiedlichen. Damit wird eine Hysterese gebildet, welche verhindert, dass der Motor kurzzeitig nacheinander ein- und ausschaltet. Ein Beispiel einer Hysterese ist in Abb. 1 zu sehen. Der Motor wird mit einem PWM-Signal von 30 % angesteuert. Über die serielle Ausgabe wird schlussendlich der Analogwert des Dehnmessstreifens angezeigt.

Abbildung 1: Grafische Veranschaulichung einer Hysterese, Quelle hier


Endresultat Hack1

Um den Dehnmessstreifen (DMS) am Rücken zu befestigen wurde ein Sport-Kompressionsshirt gekauft. Dieses ist hauteng am Körper und soll so die Bewegung des Rückens auf den DMS übertragen. Für die Halterung des DMS wurde ein Stück Schaumstoff auf Höhe der Lendenwirbel aufgenäht.

Positionierung am Shirt
Genauere Ansicht


Leider konnte mit dieser Befestigung keine Signaländerung des DMS zwischen aufrechter und durchhängender Körperhaltung gemessen werden. Aus diesem Grund wurde dann eine neue Lösung gesucht. Der DMS wurde neu am Schaumstoff angeklebt und zusätzlich wurde ein Gummiband angelegt. Dieses Gummiband sorgt dafür, dass der DMS an den Rücken gedrückt wird und so die Kräfte besser übertragen werden. Mit dieser Lösung konnten schliesslich Signaländerungen gemessen werden.


Auf der Vorderseite des Shirts wurde dann ein Klettstreifen angenäht, an dem das Gehäuse mit der Elektronik angebracht werden kann.

Vorne gross.jpg
Vorne beides.jpg
Vorne alles.jpg


Im Video "Endresultat Hack1" ist zu sehen, wie der Vibrationsmotor einschaltet, sobald die Sitzposition nicht mehr aufrecht ist.

Hack 2 "Muskelspiel"

Einleitung

Beim Hack 2 hatten wir die Idee, das Projekt Hack 0 mit einem einfachen Spiel zu verbinden. Grob gesagt sollte mit den Muskelbewegungen ein Spiel gestuert werden z.B. wenn man den rechten Arm bewegt, geht der Spielekarakter nach rechts.

Genauere Idee

Nach Absprache im Team entschieden wir uns für das Spiel "Pong" (siehe Abbildung). Dabei könnten zwei Personen mit ihren Bewegungen gegeneinander antretten. Das bedeutet an jeder der zwei Personen würden die Elektronen verbindet werden, um ihre Muskelaktivitäten zu messen. So könnte man z.B. beim Zusammenziehen des Muskels (Kontraktion) den senkrechten Strich nach oben wegen und beim locker Lassen des Muskels (Relaxation) nach unten. Wie wahrscheindlich schon viele wissen, wäre dann das Ziel den Punkt bzw. der Ball am „Schläger“ (Strich) vorbei zu "schiessen". Wer zum Schluss mehr Punkte vorweisen kann, hat gewonnen. Man müsste sich so aktiv Bewegen für das Spiel.

Pong


Aufbau

Zum Aufbau kann gesagt werden, dass wir ein zusätzliches Display, die Muscle SpikerShield-Kits und die Arduino UNO verwendet hätten. So hätte man evtl. ein kompaktes Spiel für jede Hosentasche erstellen können.

Problematik

Da wir für das Projekt Hack 1 investiert haben, konnten wir leider nicht mehr mit dem Entwickeln/Aufbauen dieses Hack 2 beginnen.

Reflexion der Woche

Sandro Gantner

Die Blockwoche war aus meiner Sicht sehr spannend und lehrreich. Ich bekam einen Einblick in die DIY-Szene und wurde inspiriert durch viele Projektideen, sei dies aus den Inputs oder dann von den anderen Projektteams. Nun bin ich in der Lage, selbst Teile mit dem Lasercutter oder 3D-Drucker herzustellen. Ich war überrascht, wie schnell und «einfach» man zu seinen Teilen kommt. Ich könnte mir gut vorstellen, dass ich das Fablab auch in Zukunft noch brauchen werde. Ich fand das unser Team trotz schwieriger Situation durch Corona gut funktionierte und wir ein tolles Endresultat erzielen konnten.

Präsentation

File:Abschlusspräsentation Team DaVintschi.pdf