Difference between revisions of "Bärenbrüder"

From Hackteria Wiki
Jump to: navigation, search
(Heart and Brain SpikerShield)
(Muscle SpikerShield DIY v2)
Line 136: Line 136:
 
= Experimente =
 
= Experimente =
 
===Muscle SpikerShield DIY v2===
 
===Muscle SpikerShield DIY v2===
[[File:1232.jpg|400px|right|thumb|400px]]
+
 
 
Jede Gruppe erhielt von den Dozierenden ein "Muscle Spiker Shield". Dieses Modul sollte als Gruppe erarbeitet werden.
 
Jede Gruppe erhielt von den Dozierenden ein "Muscle Spiker Shield". Dieses Modul sollte als Gruppe erarbeitet werden.
  
Line 142: Line 142:
  
 
Danach wird es auf ein Arduino (Mikrocontroller) aufgesteckt und kann mit dem Computer und der Software Arduino IDE verbunden werden. Der benötigte Code kann auf der Webseite von BackyardBrains heruntergeladen werden. [https://backyardbrains.com/]Damit lassen sich die Signale, also die Intensität der Muskelkontraktionen anschaulich darstellen. Zusätztlich sind auf dem Muscle Spyker Shield sechs LED's aufgelötet die ebendfalls entsprechend der Intensität aufleuchten.
 
Danach wird es auf ein Arduino (Mikrocontroller) aufgesteckt und kann mit dem Computer und der Software Arduino IDE verbunden werden. Der benötigte Code kann auf der Webseite von BackyardBrains heruntergeladen werden. [https://backyardbrains.com/]Damit lassen sich die Signale, also die Intensität der Muskelkontraktionen anschaulich darstellen. Zusätztlich sind auf dem Muscle Spyker Shield sechs LED's aufgelötet die ebendfalls entsprechend der Intensität aufleuchten.
 +
 +
[[File:1232.jpg|400px|Thumb]]
  
 
===Heart and Brain SpikerShield===
 
===Heart and Brain SpikerShield===

Revision as of 21:02, 10 March 2019

Prolog

If you want a job done right, do it yourself!


Einleitung

Die Blockwoche Medizintechnik/DIY (do-it-yourself) des Herbstsemesters 18 findet vom Montag 11.02.19 bis Samstag 16.02.19 im Fablab Luzern statt. Die Studierenden wurden in 4er oder 3er Grupppen eingeteilt, sodass die Disziplinen Maschinentechnik (Ma), Medizinitechnik (Mt) und Wirtschatfsingeniuer (Wi) möglichst durchmischt sind.

Die Gruppe Bärenbrüder setzt sich aus den Teammitgliedern David Bühlmann (Ma), Quentin Frei (Ma), David Fäh (Mt) und Adrian Spichtig (Ma) zusammen. Im Sinne des "Do-it-yourself" erarbeiten die Studierenden selbstständig ein Projekt. Das Projekt soll basierend auf elektrophysiologischen Messmodulen etnwickelt werden. Für die Ptototypenfertigung stehen Laser Cutter, 3D-Drucker sowie Handwerkzeuge und Elektromaterial zur Verfügung. Am Ende der Woche wird das Projekt vorgestellt. Die für das Projekt benötigten Informationen werden selbstständig in den Teams erarbeitet. Zu Hilfe können jederzeit die Dozierenden Urs Gaudenz, Effi Tanner und Dr. Marc R. Dusseiller sowie Fabmanager Chris Obrist gezogen werden. Weiter ist ein Ziel der Woche, dass sich die Studierenden gegenseitig Unterrichten in sogenannten "Skill-Share-sessions". Die Blockwoche strebt gezielt den etwas anderen Unterricht an. Interdisziplinär und ohne Vorgabe wird ein eigenes Projekt entwickelt, bei dem das Verständins von medizintechnischen Geräten gefördert wird.

Teammitglieder

Adrian Spichtig

Adrian Spichtig ist gelernter Metallbauer und studiert Maschinentechnik im 6. Semester an der Hochschule Luzern.

David Bühlmann

David Bühlmann ist gelernter Polymechaniker und studiert Maschinentechnik im 6. Semester an der Hochschule Luzern.

Daniel Fäh

Daniel Fäh ist gelernter Automechaniker mit einer Weiterbildung zum Maschinentechniker HF und studiert Medizintechnik berufsbegleitend im 6. Semester.

Quentin Frei

Quentin Frei hat das Gymnasium abgeschlossen und studiert Maschinentechnik im 6. Semester an der Hochschule Luzern.

Arbeitsjournal

Tag 1

Zum Start in die Blockwoche hielt Urs einen Vortrag über Medizintechnik DIY und wie er in diesem Bereich gelandet ist. Die Idee des DIY und Open Source bietet grosse Chancen für Entwicklungsländer, die sonst keinen Zugang zu den teuren medizinischen Geräten haben. Aber auch in Industrieländern wirf sie die Frage auf, warum die Geräte so teuer sind, wenn sie auch aus Spielzeugen herstellbar sind.

Es folgte die Gruppeneinteilung sowie das Einrichten des Arbeitsplatzes. Jede Gruppe bekam ein Bausatz, um ein Gerät zu bauen, das Muskelsignale messen kann. Den Nachmittag verbrachten wir mit dem Zusammenlöten des Muscle-Spiker-Shields. Die Anleitung ist auf der Homepage von Backyard Brains verfügbar (Backyard Brains). Vor dem Zusammenbauen des Bausatzes präsentierte uns Marc noch seinen beruflichen Werdegang. Überraschend ist, dass ein Doktor einen so unkonventionellen Weg gewählt/genommen hat, wie er es getan hat.

Zum Abschluss des ersten Tages wurde uns die Benutzung von Hackteria erklärt. Auf dieser Webseite werden alle Bauanleitungen und Dokumentationen, die in dieser Woche entstehen, für alle zugänglich veröffentlicht.

Resultate: Am Ende des ersten Tages waren wir im Besitz eines funktionsfähigen Muskelstrommessgeräts und haben ein besseres Verständnis über das Thema Medizintechnik erhalten.

Erkenntnisse: Zwei Hände sind beim Löten oft nicht ausreichend und man sollte mit den kleinsten Bausteinen beginnen. Die Elektroden kann man an verschiedenen Muskeln des Körpers aufkleben und man bekommt fast immer ein Resultat, jedoch ist es schwierig zu klassifizieren, ob die Signale effektiv vom Muskel oder von sonstigen Bewegungen der Elektroden kommen.

Tag 2

Der zweite Tag wurde mit einer Skill-Share Session [[1]] gestartet.

Signal Muscle Spyker Shield.jpg

Lötlen & Experimentieren

Mit dem Muscle SpykerShield DIY v2.11 von Backyard Brains [2] wurde die elektrische Muskelspannung an verschiedenen Körperstellen gemessen und am Rechner dargestellt.

Im Bild rechts ist die Aufzeichnung des Signals des Unterarm Muskels zu sehen. Schwierigkeiten bereitete die Einstellung des Muscle-Spyker-shields. Die Ausschläge, Anspannungen des Muskels sind jedoch noch einigen Einstellungen deutlich erkennbar. Weiter rauschte das signal nach einiger Zeit aus unerklärlichen Gründen stark. Reset des Arduinos und/oder Neukalibrierung des Muscle-Spyker-Shields behebt das Problem. In einem weiteren Schritt gilt es herauszufinden, woher das Rauschen kommt.

Mit dem Heart and Brain Spyker-Shield wurde die Herzfrequenz gemessen und am Rechner mit dem Programm Spike Recorder von Backyard Brains [3] dargestellt. Verglichen mit einem optischen Herzfrequenzmesser stimmten die Messergebnisse gut überein.

Fab Share

Beim Fab Share gaben die Dozierenden sowie der Fabmanager Chris Obrist eine Einführung zur Benutzung der Laser Cutter (ACCTEK AKJ 9060) und der 3D Drucker von Ultimaker.

Anleitungen zur Nutzung der Geräte siehe Fablab Luzern [4].

Kulturbeitrag

Am Abend gab es eine Live-Performance der Künstler Daniel Maszkowicz und Emma Souharce. Sie entführten uns die Welt zwischen Musik (Geräuschen) und DIY-engineering.

Weiter Infos zu den Künstlern siehe Link [5].

Im Video unten ist ein Ausschnitt ihrer Performance zu sehen.


Tag 3

Am Mittwochmorgen besuchten wir die erste Skill Share Session von Marc. Marc brachte uns das Arduino näher. Er lehrte uns wie das Arduino-Programm aufgebaut ist. An Beispielprogrammen haben wir den Counter und Switch-Anweisung kennengelernt. Die Skill Share Session war sehr hilfreich für den weiteren Verlauf der Blockwoche.

Vom FABLAB Luzern wird eine Anleitung für Arduino-Einsteiger (PDF & Code-Beispiele) zur Verfügung gestellt:

Link: http://fablab-luzern.ch/anleitungen/

Im Verlauf des morgens haben wir den 3D-Drucker in Betrieb genommen. Beim ersten Versuch hat sich die Grundplatte des Kunststoffteils an den Ecken stark verformt. Das Werkstück kann jedoch noch gebraucht werden, da die Ecken keine Funktion haben. Vor dem Mittag haben wir uns in der Klasse getroffen. Jede Gruppe stellte ihren aktuellen Stand der Projekte vor. Einige Gruppen hatten mit den gleichen Problemen zu kämpfen. Durch den Austausch untereinander konnten die Probleme gelöst werden. Beim Vortrag von Effi ging es um Ihre Arbeiten, welche Sie während ihrer Laufbahn erarbeitet hat. Eindrücklich war ihr Mut neues zu Entwickeln. Neue Projekte sucht Effi im täglichen Leben, so entstand zum Beispiel eine automatische Pflanzengiessanlage. Auch bei ausgefallenen Projekten fühlt sich Effi wohl. Nach dem Vortrag besuchten wir die zweite Skill Share Session zum Thema Löten. Im Elektrotechniklabor konnten wir an mehreren Lötkolben das Löten kennenlernen. Dank der guten Einführung der Gruppe XNXX haben wir das Löten schnell gelernt.


Im Verlauf des Nachmittags konnten wir noch das Kit "Human-Human-Interface" von backyardbrains.com ausprobieren.

Link: https://backyardbrains.com/products/HHI


Das Kit ist darauf ausgerichtet, einen fremden Arm anlaog den eigenen Armbewegungen zu steuern. Tatsächlich hat das auch wirklich funktioniert. Die vom System empfangenen Muskelaktivitäten des "steuernden-Arms" werden dabei verstärkt und an den "zu steuernden Arm" weitergeleitet. Durch die elektrische Stimmulation werden die Muskeln des "zu steuernden Arms" zur Kontraktion angeregt. Wichtig zu wissen ist, dass die Intensität der elektrischen Impulse von Person zu Person unterschiedlich wahrgenommen werden. Daher sollte die Person, desssen Arm elektrisch stimmuliert wird, die Intensität auch selber regulieren können.


Platzierung der Elektroden für das HHI-Erlebnis

Tag 4

Den Donnerstagmorgen begannen wir mit der Durchführung unseres Skill-Shares über die Benützung von LaTeX. Es wurden vor allem Befehle, die für schulische Arbeiten üblich sind, behandelt, da es auch das primäre Interessengebiet der Teilnehmenden war. Bei Unklarheiten bezüglich den Befehlen von LaTeX bietet das Internet gute Erklärungen und Beispiel-Codes, der in das eigene LaTeX Dokument kopiert werden kann.

Hier findest du ein Online-Editor für LaTeX: https://www.overleaf.com/

und ein Open Wikibook als Hilfestellung zu LaTeX: https://en.wikibooks.org/wiki/LaTeX


Bis um 11:00 Uhr hatten wir dann Gelegenheit, an unserem Prototyp 1 weiterzuarbeiten. Wir diskutierten über verschiedene Befestigungsmöglichkeiten für unsere Stirnlampe und wie sie die Elektroden, die ebenfalls auf der Stirn befestigt werden, nicht behindern/beeinflussen.

Eine Stunde vor Mittag präsentierte jede Gruppe den anderen Kursteilnehmern kurz, was sie in den letzten paar Tagen gebaut hatten. Es war interessant zu hören, mit welchen Problemen sich die anderen Gruppen auseinandersetzen mussten und wie sie diese gelöst haben. Die einen Gruppen setzten sich mehr mit Software Problemen auseinander, während andere einen mehr mechanischen Ansatz verfolgten.

Am Nachmittag war die Idee, sich mit etwas Neuem zu befassen, um nicht zu lange an einem Projekt zu verweilen. Wir versuchten mittels einem Lichtschrankensensors ein LED Ring zu steuern. Den Anschluss des Sensors bereitete uns kaum Schwierigkeiten. Jedoch gelang es uns nicht, mit den Signalen des Sensors das Relais für den Ring anzusteuern. Auch Messungen durch das Multimeter lieferten uns keine Informationen, woran es scheiterte.

Um 14:00 Uhr hatten wir die Gelegenheit mit dem Gründer (Greg Gage) von Backyard Brains per Skype Kontakt aufzunehmen. Er beantwortete die von den Studenten auf der Webseite gestellten Fragen. (Link zu den Fragen: Q & A with Greg - Backyard Brains 2019)

Einer der Gründe, wieso medizinische Geräte so teuer sind, ist wahrscheinlich der Grund, dass es in den Staaten extrem kostspielig ist, ein neues Gerät prüfen zu lassen, um es überhaupt als medizinisches Gerät verkaufen zu dürfen. Die Idee für die Unternehmung entstand während Greg an einer Universität studierte. Der Ursprung basiert auf einer Zombie-Apokalypse, in der sich die Leute selber helfen müssten und somit in der Lage sein sollten, die benötigten Geräte selber herzustellen.

Tag 5

Am Freitag Morgen gelang es uns die Signale des Lichtschrankensensors auszulesen, jedoch bestanden sie quasi nur aus Rauschen, auch wenn die LED Anzeige auf dem Sensor scheinbar richtig funktionierte. Den Rest des Morgens verbrachten wir damit, ein Gehäuse für den LED Ring sowie ein Verstauort für das Akkupack und das Arduino zu bauen. Die Intensität des Lichts, dass der LED Ring von sich gibt, war so gross, dass es in den Augen schmerzte. Um dieses Problem zu lösen, entschieden wir uns, die Plexiglasscheibe, die als Abdeckung dient, zu gravieren.

Tag 6

Der letzte Tag der Blockwoche bestand aus Präsentationen, in welcher die Gruppen ihre erarbeiteten Projekte vorstellten.

Die Präsentation der Gruppe Bärenbrüder fand vom 9:00-9:15 statt. Mit Hilfe einer Powerpoint Präsentation wurde der Ablauf der Woche aus Gruppensicht vorgestellt. Probleme, Rückschläge und erarbeitete Lösungen wurden geteilt. Zum Schluss der Präsentation wurde das erarbeite Projekt, mit mässigem Erfolg demonstriert. Denn der Prototyp funktionierte nur zur Hälfte. Der LED-Ring leuchtete und der Kamm stellte sich auf, jedoch blieb diese Einstellung nicht bis zum nächsten Muskelimpuls. Das Heisst LED und Kamm reagierten zwar bei einem Muskelimpuls gingen danach aber wieder zurück in die Ausgansposition. Eigentlich sollten Lampe und Kamm ihren Status nur einmal bei einem Impuls ändern. Diese Fehlfuntion wird auf EMV (Elektromagnetische Verträglichkeit) zurüchgeführt. Das heisst die Position und Anordnung der Kabel, Akkus, Boards, Elektroden sowie Umgebungseffekte wie Berührung des Boards oder einzelner Kabel haben grossen Einfluss auf die Funktion.

Nach dem Aufräumen wurde als Abschluss der Woche eine Feedback-Runde durchgeführt.

Experimente

Muscle SpikerShield DIY v2

Jede Gruppe erhielt von den Dozierenden ein "Muscle Spiker Shield". Dieses Modul sollte als Gruppe erarbeitet werden.

Das Muscle Spyker Shield von BackyardBrains [6] misst mit Hilfe von drei Elektronen die Spannungen, die vom Hirn gesendet werden um die Muskeln anzusteuern. Das Muscle Spyker Shield wurde in Einzelteilen angeliefert und musste als erstes zusammengelötet werden.

Danach wird es auf ein Arduino (Mikrocontroller) aufgesteckt und kann mit dem Computer und der Software Arduino IDE verbunden werden. Der benötigte Code kann auf der Webseite von BackyardBrains heruntergeladen werden. [7]Damit lassen sich die Signale, also die Intensität der Muskelkontraktionen anschaulich darstellen. Zusätztlich sind auf dem Muscle Spyker Shield sechs LED's aufgelötet die ebendfalls entsprechend der Intensität aufleuchten.

Thumb

Heart and Brain SpikerShield

Das Heart and Brain SpikerShield ist ebenfalls von BackyardBrains. Es wurde dem Team bereits zusammengelötet abgegeben und deshalb wurde nur kurz ein Experiment damit ausgeführt. Mit den Shield und dem Programm Spike Recorder (gratis zum Download verfügbar auf der Website von BYB [8]) kann mit Hilfe von Elektroden das Aktionspotential des Herzens und langsame Hirnströme gemessen und auf dem Laptop dargestellt werden werden.

Thumb

Skill-Share Session

Den Studierenden wurden grüne und Orange Zettel verteilt. Grün für beherrschte Fähigkeiten (Skills) und Orange für Fähigkeiten die man sich aneignen möchte. Auf dem SkillShare Board wurden diese gesammelt und sortiert. Daraus ergaben sich 12 Share's. Jede Gruppe bietet während der Blockwoche einen Kurs (Share Session) an. Die Studierenden können sich für beliebig viele Kurse einschreiben. Die Gruppe Bärenbrüder bietet am DOnnerstag, Tag 4, den Kurs LaTex an.

Weitere Infos zu Skill Share Sessions siehe BreakOut Methoden.

SkillShare Sessions 2019:
SkillShare Gruppe Tag Zeit Ort
Fisch ausnehmen Team Gustav Mittwoch 10:15 Uhr FabLab - Draussen
Rätoromanisch Grundkurs Team Han Solo Mittwoch 13:30 Uhr E210
Günstig Reisen dusjagr Donnerstag 8:45 Uhr Sitzungszimmer D1
LaTex Team Bärenbrüder Donnerstag 08:45 Uhr E210
Dronen fliegen Team Dagobert Donnerstag 13:00 Uhr E210
Löten Team Alligators Donnerstag 13:00 Uhr E210
Destillieren Team Enterprise Donnerstag 15:30 Uhr Medtech-Labor E530
Human-Computer-Interfaces gaudi Donnerstag 15:30 Uhr FabLab Cafe
Ski wachsen Team Fanta 4 Freitag 08:45 Uhr FabLab


LaTex ist ein Softwarepaket, das die Benutzung des Textsatzsystems TeX mit Hilfe von Makros vereinfacht. LaTeX liegt derzeit in der Version 2ε vor. LaTeX wurde Anfang der 1980er Jahre von Leslie Lamport entwickelt.[3] Der Name bedeutet so viel wie Lamport TeX. Die Entwicklung wurde seit den 1990er Jahren von einer Anzahl Entwicklern weitergeführt. Heute ist LaTeX die populärste Methode, TeX zu verwenden. (Wikipedia [9])

Vorbereitung:

Die Bärenbrüder haben sich zuerst in das Thema LaTex eingelesen. Da ein Teammitglied das LaTex gut beherrscht, konnten wir auf seine Kenntnisse zurückgreifen. Es gelang uns sehr schnell mit dem Programm umzugehen. Für die Skill-Share Session müssten wir keine weiteren Vorbereitungen treffen, das Erlernen der Programmierung im LaTex war die einzige Arbeit.

Durchführung:

Im Raum E210 haben wir uns am Donnerstag getroffen. Mit Hilfe des Beamers gaben wir den Mitstudierenden eine Einführung in das LaTex-Programmieren. Wir haben einen Beispieltext geschrieben. Das Einfügen von Formeln und Bilder war ein weiter Bestandteil der Übung.


File:LaTex.pdf

Erfahrungen:

Das LaTex-Programmieren war am Anfang sehr kompliziert. Dank der Einführung konnten die Startschwierigkeiten schnell behoben werden. Mit ein wenig Übung ist das Texte schreiben in LaTex sehr einfach. Einige Kursteilnehmer schreiben sogar weitere Arbeiten in diesem Programm, da die Formatierung der Bilder viel einfacher ist als im Word.


Hier findest du ein Online-Editor für LaTeX: https://www.overleaf.com/


und ein Open Wikibook als Hilfestellung zu LaTeX: https://en.wikibooks.org/wiki/LaTeX

Projekt

Einleitung

Als Grundlage für unser Projekt im Rahmen der Blockwoche Do It Yourself – Medizintechnik (DIY) dient ein Arduino Uno und das Modul «Muscle Spiker Shield v2.11» von backyardbrains.com.

Link: https://backyardbrains.com/products/musclespikershield .


Was ist das «Muscle Spiker Shield v2.11» und was kann es ?

Das «Muscle Spiker Shield v2.11» ist ein Elektronikbausatz welcher in Zusammenarbeit mit einem Arduino Uno den Anwender dazu befähigt, Muskelkontraktionen mit Hilfe von Body-Elektroden als elektrische Signale zu erfassen (EMG = Elektromyographie) und weiter zu verwenden.


Was ist EMG (Elektromyographie) ?

Bei der Elektromyographie (EMG) wird die Muskelaktivität anhand elektrischer Signale ermittelt. Genau genommen handelt es sich in unserem Fall um ein Oberflächen-EMG. Das heisst, die Elektroden werden auf die Hautoberfläche, über der zu messenden Muskelgruppe, aufgeklebt und nicht wie beim intramuskulären-EMG in das Muskelgewebe eingeführt.


Exkurs: Wie funktioniert ein Muskel ? Kurz und einfach ausgedrückt, wird ein Muskel bzw. eine Muskelzelle durch ein elektrisches Signal zur Kontraktion angeregt. Wer es genau wissen möchte, hier der Link zur ausführlichen Beschreibung:

Link: https://www.elektronik-kompendium.de/public/schaerer/emg1.htm.


Und wie funktioniert nun das EMG ?

Nun, die Quelle für das EL-Signal ist das sogenannte (Zell-)Membranpotenzial welches zwischen dem inneren der Muskelzelle gegenüber seiner äusseren Umgebung ungefähr -70mV beträgt. Dieses Membranpotenzial wird auch Ruhepotential genannt und wie der Name es schon sagt, besteht dieses bei der ruhenden Zelle. Wird die Muskelzelle nun zur Kontraktion angeregt, steigt das Membranpotential sprunghaft auf ca. +30mV an. Die Amplitude des Signals beträgt somit bis zu 100mV. Die effektiv an der Hautoberfläche messbare Spannung beträgt aber nur ungefähr 50 µV bis 100µV. Dies aufgrund des Körper- / Gewebe-Innenwiderstandes.


Bedeutung für unser Projekt

Während der DIY-MedTech Blockwoche möchten wir nun eine Entwicklung generieren bei welcher wir die oben gewonnen Erkenntnisse in einem möglichst sinnvollen Kontext anwenden können.


Unser Projekt: Prototyp 1

Beschreibung: Unser Protoyp 1 ist ein Funktionsmuster einer LED-Lampe welche durch Muskelkontraktion an- / ausgeschaltet werden kann. Wir haben dazu ein Arduino Uno inkl. Muscle Spiker Shield und einen Neo-LED-Ring verwendet. Die Lichtfarbe des LED-Ringes kann mittels Spannungsveränderung geregelt werden. In unserem Anwendungsfall wollten wir allerdings ein helles/weisses Licht erzeugen. Dazu verwendeten wir keine Spannungssteuerung sondern einen fixen Digitalen Output mit 5V. Da an diesem Output der max. Strom sehr schwach ist (ca. 20mA) haben wir den LED-Ring über ein gesteuertes Relay gespiesen. Als Steuersignal verwendeten wir die elektrische Muskelaktivität von verschiedenen Muskeln. Unter anderem am Unterarm sowie die Muskeln über den Augenbrauen. Schlussendlich ist uns gelungen, den LED-Ring mittels Stirnrunzeln den LED-Ring ein- und auszuschalten. Folgender Code hat unser Problem gelöst:


#define NUM_LED 6  //sets the maximum numbers of LEDs
#define MAX 600     //maximum posible reading. TWEAK THIS VALUE!!
int reading[10];
int finalReading;

int state = LOW;
int laststate = LOW;

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);
    pinMode(4, 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);

  //--------------------------------------------------

  /*digitalWrite(4, HIGH);
  delay(3000);
  digitalWrite(4, LOW);
  delay(1000);
  */
if ( finalReading <= 300 )
{
  state = LOW; 
}
else
{
  state = HIGH;
}
if (state == HIGH && laststate == LOW)
{
  if (digitalRead(4) == HIGH )
  {
    digitalWrite(4, LOW);
  }
  else
  {
    digitalWrite(4, HIGH);
  }
  laststate = HIGH;
}

if (state == LOW && laststate == HIGH)
{
  laststate = LOW;
}
  /*
  if(finalReading > 250)
  {
    digitalWrite(4, LOW);
    //delay(1000);
  }
  else
  {
    digitalWrite(4, HIGH);
    //delay(1000);
  }
  */

  //--------------------------------------------------
  
}


Bärenbrüder in Aktion: Steuerung des LED-Rings mit der Backe


Erkenntnisse: An diesem Projekt haben wir gelernt wie eine LED-Lampe mit dem Arduino angesteuert wird. Das grösste Problem war das Erstellen des Arduino-Codes, damit beim ersten Runzeln der Stirn der LED-Ring eingeschaltet wird und beim zweiten Runzeln der Stirn der LED-Ring wieder ausgeschaltet. Als wir ein funktionierendes Programm erstellt haben war die Freude bei allen Teammitglieder gross. Das Projekt kann weitergeführt werden, in dem man noch weitere Farben LED-Ring anzeigt. Bei einem intensiven Input des Muscle Spiker Shield könnte der Ring auch rot leuchten.

Unser Projekt: Prototyp 2

Beschreibung: Der zweite Prototyp ist eine Verschmelzung des Prototyps 1 und der Mütze, welche Gaudi vor einem Jahr entwickelt hat. Der Servomotor, der den Kamm des Hutes antreibt ist, ist am Arduino an dem Pin 7 (Pulse), an dem Ground und an der 5V Spannung angeschlossen. Für den LED-Ring wurde eine Halterung mittels 3D-Druck hergestellt. Damit das Licht ein wenig gedämmt wird, montierten wir vor dem LED-Ring eine Kunststoffscheibe, welche im Bereich der Lichter mit dem Laser aufgeraut wurde. Durch das Aufrauen ist das Plexiglas milchig geworden. Der Servomotor wird betätigt, sobald der LED-Ring eingeschaltet wird.

Prototyp 2 Lampe.jpeg

Folgender Abschnitt beschreibt den Arduino-Code:

#define NUM_LED 6  //sets the maximum numbers of LEDs

#define MAX 600     //maximum posible reading. TWEAK THIS VALUE!!

int reading[10];

int finalReading;

 

 

 

#include <Servo.h>  //add '<' and '>' before and after servo.h

int servoPin = 7;

Servo servo; 

 

int servoAngle = 10;   // servo position in degrees

//_____________________________________________________________

 

 

 

int state = LOW;

int laststate = LOW;

 

byte litLeds = 0;

byte multiplier = 1;

byte leds[] = {8, 9, 10, 11, 12, 13};

 

void setup(){

  Serial.begin(9600); //begin serial communications

  servo.attach(servoPin);

  servo.write(servoAngle);

  for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs

    pinMode(leds[i], OUTPUT);

    pinMode(4, 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);

 

  //--------------------------------------------------

 

 

if ( finalReading <= 300)

{

  state = LOW;

}

else

{

  state = HIGH;

}

if (state == HIGH && laststate == LOW)

{

  if (digitalRead(4) == HIGH )

  {

    digitalWrite(4, LOW);

    servo.write(100);

   

/*    for(servoAngle = 60; servoAngle > 0; servoAngle--)  //now move back the micro servo from 0 degrees to 180 degrees

  {                                

    servo.write(servoAngle);             

  }

*/

  }

  else

  {

    digitalWrite(4, HIGH);

    servo.write(10);

/*

for(servoAngle = 0; servoAngle < 60; servoAngle++)  //move the micro servo from 0 degrees to 180 degrees

  {                                 

    servo.write(servoAngle);             

                      

  }

  */

  }

  laststate = HIGH;

}

 

if (state == LOW && laststate == HIGH)

{

  laststate = LOW;

}

  /*

  if(finalReading > 250)

  {

    digitalWrite(4, LOW);

    //delay(1000);

  }

  else

  {

    digitalWrite(4, HIGH);

    //delay(1000);

  }

  */

 

  //--------------------------------------------------



}


Mastermuetze.jpeg

Folgendes Video zeigt den fertigen Prototyp:


Erkenntnisse: An diesem Projekt haben wir gelernt wie ein Servomotor mit dem Arduino angesteuert wird. Nach einigen Problemen mit dem Arduino Programm ist es uns gelungen eine witzige Mütze herzustellen. Das Projekt kann weitergeführt werden, in dem man noch weitere kämme an der Mütze montiert, damit das Erscheinungsbild der Mütze noch imposanter wird.

Reflexion Pflichtlektüre

Als Team Bärenbrüder haben wir die Pflichtlektüre gemeinsam reflektiert und uns über die gewonnenen Erkenntnisse ausgetauscht. Wir finden den Ansatz des Wissensaustausches über Blog & Wiki super und sehr spannend. Copyleft anstelle Copyrights fördert den Fortschritt und die Möglichkeiten vieler und sollte vermehrt angewendet werden. Wir sind der Meinung das Wissen zu teilen eine tolle Sache ist und glücklicher macht als alleine damit herum zu sitzen. Was gibt es Interessanteres als etwas aufzumachen («hacken»), zu erforschen und damit zu experimentieren? In unserem Studentenalltag fehlt uns leider oft die Zeit dazu. Wir möchten etwas selber machen, also Do it yourself, und dabei neues lernen. Daher freuen wir uns alle auf die Blockwoche DIY Medizintechnik an der Hochschule Luzern um ein wenig Zeit mit tüfteln, probieren oder eben mit dem «Hacken» zu verbringen.

Reflexion Blockwoche

Die Blockwoche Medizintechnik DIY ist bei allen Teammitgliedern sehr gut angekommen. Das Arbeiten ohne genaue Aufgabenstellen war am Anfang sehr ungewohnt. Sobald wir uns mit dem Arduino angefreundet haben, konnten wir einige Experimente selbständig durchführen. Für das gelingen der Experimente waren auch die Skill Share Sessions verantwortlich. Das ganze Team hat die Sessions mit grosser Begeisterung besucht. Die Sessions 3D-Druck, Laser Cutting und Löten hat unserer Gruppe am besten gefallen. Das Team Bärenbrüder bedankt sich bei den unterstützenden Dozenten für die lehrreiche Woche. Das erlernte Wissen können wir sicher in unserem Berufsleben noch einmal anwenden.

Epilog

"It takes half of your life before you discover life is a do-it-yourself project, Napoleon Hill"

Zurück nach Medizintechnik DIY