MedTechDIY20 Another Team
go back to Medizintechnik DIY
Contents
Abstract
Team
Another Team besteht aus den drei Studierenden Claude Portmann, Simon Schmitter und Louis Schibli der Hochschule Luzern. Im Rahmen der Blockwoche DIY Medizintechnik formierte sich das Team, um interaktiv an den grossen Problemen unserer Zeit zu arbeiten. Aufgrund der Interdisziplinarität des Teams (Simon und Claude studieren Maschinentechnik, Louis studiert Medizintechnik) sind bis Ende der Woche bahnbrechende Lösungen zu erwarten.
Einleitung
Kurzbeschrieb MedTech DIY
In der Blockwoche Medizintechnik DIY (DO IT YOURSELF) soll in interdisziplinären Gruppen gearbeitet werden. Nach kurzen Einführungen sollen die Gruppen selbstständig und kreativ eigene innovative Projekte planen und durchführen. Als einführendes Projekt haben wir Backyard Brains
Angefangen haben wir mit dem Zusammenbauen des "Muscle SpikerShield", welches wir gleich für erste Experimente verwendet konnten. Das erste Experiment bestand darin, dass die Muskelsignale gelesen werden und mit LEDs die Intensität sichtbar ist. Daraus haben wir das zweite Experiment "Spike Recorde" entwickelt, welches die Aktionsptentiale der Hand Muskeln auf dem Computer angezeigt werden können. Später haben wir nicht nur die Hand Muskeln sondern auch das Herz untersucht.
Nach der Dumpster Diving Session mit Gaudi haben wir einen Elektromagneten im Schrott gefunden. Der Elektromagnet wurde gleich für unser nächstes Experiment eingesetzt. Er soll durch Muskel Anspannung magnetische Gegenstände anziehen und durch Lockerung der Muskeln die Gegenstände wieder loslassen. Hier entwickelte sich die Idee für eine Arm Prothese.
Da bei unserer Gruppe immer viel Material auf dem Tisch lag, fanden wir einen Ventilator-Propeller, den uns auf eine weitere Idee brachte. Wir entwickelten einen Ventilator, der mit Wärme und Kälte gesteuert werden kann.
Vorbereitung
Alle Teilnehmer haben die Arduino Desktop IDE auf ihrem Laptop installiert, ein Arduino UNO inklusive USB Kabel und das orange Board von Backyard Brains dabei.
Einführung
Arduino bezeichnet eine Gruppe von Microcontrollern der gleichnamigen italienischen Firma Arduino. Da die PCBs Open Source sind, gibt es viele Drittanbieter, welche ihre eigenen Arduino kompatiblen Boards herstellen und verkaufen. Diese dürfen jedoch nicht Arduino genannt werden, da der Name geschützt ist.
Die Innovation der Firma Arduino besteht einerseits aus den diversen Microcontroller Boards, als auch aus der entwickelten Programmierumgebung, der Arduino IDE, welche das Programmieren von Microcontrollern erheblich vereinfacht hat. Zuvor mussten ähnliche AVR Microcontroller über adapter programmiert werden.
Inputs
Experiments
Backyard Brains
Wir haben den Bausatz gemäss den Instructions auf der Webseite fertiggestellt. Danach haben wir den default code so angepasst, dass nur die gemessene spannung nach der verstärkung über serial ausgegeben wird. dazu musste zwei zeilen code auskommentiert werde da mehrere Variablen auf dem Serial monitor ausgegeben werden.
Damit kann der Serial Plotter die Muskelkontraktionen graphisch darstellen.
#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.println(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); }