Difference between revisions of "Team Avengers"

From Hackteria Wiki
Jump to: navigation, search
(Hack 1: MediGram)
(Abschlusspräsentation Powerpoint Slides)
 
(15 intermediate revisions by the same user not shown)
Line 315: Line 315:
 
==== Hardware ====
 
==== Hardware ====
 
Dieses Bild zeigt den Arduino-Aufbau mit zwei Motoren. Das Biosignal von jedem Arm wird über die Elektrodenpfade an jeden Motor weitergeleitet und führt eine bestimmte Funktion aus. Ein Motor steuert die Größe, d. h. das Vergrößern und Verkleinern des Bildes. Der zweite Motor wird die Drehung der Plattform steuern. Eine Schraube wurde 3D-gedruckt, um die Plattform für das iPad zu stabilisieren.
 
Dieses Bild zeigt den Arduino-Aufbau mit zwei Motoren. Das Biosignal von jedem Arm wird über die Elektrodenpfade an jeden Motor weitergeleitet und führt eine bestimmte Funktion aus. Ein Motor steuert die Größe, d. h. das Vergrößern und Verkleinern des Bildes. Der zweite Motor wird die Drehung der Plattform steuern. Eine Schraube wurde 3D-gedruckt, um die Plattform für das iPad zu stabilisieren.
[[File:Hardware.jpeg|200px|left|thumb|Hardware]] [[File:WhatsApp Image 2022-02-11 at 09.47.28.jpeg|440px]] [[File:WhatsApp Image 2022-02-10 at 15.01.13.jpeg|200px]]
+
[[File:Hardware.jpeg|200px|left|thumb|Hardware, Links:Hexagon,Schraube]] [[File:WhatsApp Image 2022-02-11 at 09.47.28.jpeg|440px]] [[File:WhatsApp Image 2022-02-10 at 15.01.13.jpeg|200px]]
 +
 
 +
 
  
  
Line 438: Line 440:
  
  
[[File:WhatsApp Image 2022-02-11 at 15.44.24.jpeg|400px|left]] [[File:WhatsApp Image 2022-02-11 at 15.44.33.jpeg|400px]] [[File:WhatsApp Image 2022-02-09 at 16.51.33.jpeg|360px|right]]
+
[[File:WhatsApp Image 2022-02-11 at 15.44.24.jpeg|400px|left]] [[File:WhatsApp Image 2022-02-11 at 15.44.33.jpeg|400px]] [[File:WhatsApp Image 2022-02-09 at 16.51.33.jpeg|360px|right|thumb|Testing]]
  
  
Line 447: Line 449:
 
[[File:WhatsApp Image 2022-02-10 at 17.13.49.jpeg|300px|right|thumb|Semi-Smart Cane]]
 
[[File:WhatsApp Image 2022-02-10 at 17.13.49.jpeg|300px|right|thumb|Semi-Smart Cane]]
 
==== Beschriebung ====
 
==== Beschriebung ====
Für Hack 2 wurde ein Smart Cane entwickelt. Der Stock soll erkennen und per Ton und Vibration melden, wenn sich Hindernisse in der Nähe der Person befinden. Dieser Stock ist speziell für eine blinde Person bestimmt.
+
Für Hack 2 wurde ein Semi-Smart Cane entwickelt. Der Stock soll erkennen und per Ton und Vibration melden, wenn sich Hindernisse in der Nähe der Person befinden. Dieser Stock ist speziell für eine blinde Person bestimmt.
  
 
==== Hardware ====
 
==== Hardware ====
 
[[File:WhatsApp Image 2022-02-11 at 10.42.33.jpeg|300px|right|thumb|Teile]]  
 
[[File:WhatsApp Image 2022-02-11 at 10.42.33.jpeg|300px|right|thumb|Teile]]  
  
Im fabLab wurden zwei Holzstöcke gefunden, die die Grundlage und Struktur des Stocks bilden sollten.  
+
Im FabLab wurden zwei Holzstöcke gefunden, die die Grundlage und Struktur des Stocks bilden sollten.  
 
Die beiden Stöcke wurden mit einem kleinen Stück Gussholz zusammengefügt und auf jeder Seite mit zwei Schrauben festgenagelt. Anschließend wurde der Stock auf die gewünschte Länge zugeschnitten. Der Griff wurde mit dem Gussholz hergestellt. Er wurde erhitzt und dann um den oberen Teil des Stocks gelegt und nach den Händen eines Teammitglieds geformt. Die gesamte Struktur wurde dann für ein elegantes Aussehen sprühlackiert.  
 
Die beiden Stöcke wurden mit einem kleinen Stück Gussholz zusammengefügt und auf jeder Seite mit zwei Schrauben festgenagelt. Anschließend wurde der Stock auf die gewünschte Länge zugeschnitten. Der Griff wurde mit dem Gussholz hergestellt. Er wurde erhitzt und dann um den oberen Teil des Stocks gelegt und nach den Händen eines Teammitglieds geformt. Die gesamte Struktur wurde dann für ein elegantes Aussehen sprühlackiert.  
  
Line 461: Line 463:
  
 
[[File:WhatsApp Image 2022-02-11 at 14.16.33.jpeg|350px]]  [[File:WhatsApp Image 2022-02-11 at 14.16.33 (1).jpeg|350px]]
 
[[File:WhatsApp Image 2022-02-11 at 14.16.33.jpeg|350px]]  [[File:WhatsApp Image 2022-02-11 at 14.16.33 (1).jpeg|350px]]
 +
 +
 +
 +
 +
  
 
==== Code ====
 
==== Code ====
Line 591: Line 598:
  
 
== Abschlusspräsentation Powerpoint Slides ==
 
== Abschlusspräsentation Powerpoint Slides ==
 
Die Powerpoint Slides:
 
[[:File:MEDTECH DIY 2022_Team Avengers.pptx]]
 
 
 
In PDF Format:
 
In PDF Format:
 
[[:File:MEDTECH DIY 2022_Team Avengers_PDF.pdf]]
 
[[:File:MEDTECH DIY 2022_Team Avengers_PDF.pdf]]

Latest revision as of 22:35, 27 February 2022


Einleitung

Herzlich willkommen auf der offiziellen Seite von Team "Avengers". Nach dem intergalaktischen Krieg mit Thanos und seiner Armee sind wir zurück in der Blockwoche "Medizintechnik DIY 2022". Die Daten und Journals unserer Projekte werden hier zur Verfügung gestellt, wenn man diese nachbauen möchte.

Unser Wiki besteht anfänglich aus einer Reflexion von Input Readings und Videos die zur Einführung dienen. Die Blockwoche haben wir als ein Journal dokumentiert, so dass die täglichen Events, Inputs und deren Reflexion chronologisch Sinn machen. Zum Abschluss beinhaltet unsere Wiki Seite die Hacks, von der Konzipierung bis zum Resultat, sowie auch eine Schlussreflexion der ganzen Woche.

Team

Team Avengers besteht aus den folgenden Helden:

Medtech sabrina.jpg Medtech sarah.jpg Medtech noel.jpg Medtech pascal.jpg
Sabrina Schmitz

B.Sc. Medizintechnik

Sarah Frunz

B.Sc. Medizintechnik

Noel Palmgrove

B.Sc. Medizintechnik

Pascal Tschümperlin

B.Sc. Medizintechnik

Reflexion Readings & Videos

Die folgenden Materialien als Readings und Videos bildeten die Grundlage und Vorbereitung für das Medizintechnik DIY Modul.

Artikel

Es gab im ganzen 3 Artikel zu lesen zur Vorbereitung der Blockwoche.

FabLab

FabLabs

Die FabLabs sind ein globales Netzwerk von selbst aufgebauten Labors, geeignet für digitale Produktion von Prototypen. Die Labs sind auch Orte wo verschiedene Individuen mit verschiedenen Skills zusammen kommen, um diverse Projekte zu realisieren. Es strahlt also das Konzept vom DIWO - Do it with others. Wichtig auch untereinander ist es Spass zu haben, Sicherheit und Sauberheit im Fab Lab zu gewährleisten und das Wissen zu dokumentieren und für andere zugänglich machen. FabLab Luzern

Biotechnology for All / DIY in Bioanalytics: Doing grasping it yourself

In Bezug auf die SATW-Publikation eröffnen "Do-it-yourself"-Strategien ein Wissensgebiet, das traditionell von Experten besetzt war. Garagenlaboratorien mit Waagen, Mischern, Kühlschränken und Brutschränken sind im Kommen. DIY-Biologen bauen aus Einzelteilen Labormaterialien wie Spektrometer. Im Internet findet jeder eine Anleitung, wie man aus einer Webcam für ein paar Euro ein Mikroskop bauen kann. Billige, hochmoderne Geräte, die für den Massenmarkt produziert werden, können für neue Funktionen mit Laborfähigkeiten modifiziert werden. Die Strategie des "Hacking" ist ein wesentlicher Bestandteil dieses Prozesses. SATW Pub2015

The Art of Free and Open Science

In Bezug auf den MCD 68 gibt Marc Dusseiller Antworten auf mehrere wichtige Fragen, die Klarheit über das Thema und den Bereich von Hackteria schaffen. Hackteria ist ein Netzwerk von Menschen, die DIY-Biologie praktizieren und ein Interesse an Kunst, Design und interdisziplinärer Zusammenarbeit haben. Das Netzwerk wurde 2009 von Yashas Shetty, Andy Gracie und Marc Dusseiller gegründet und umfasst heute nicht nur Wissenschaftler, Ingenieure und Künstler, wie man erwarten würde, sondern auch Philosophen, Unternehmer und sogar Foodies und Köche. Hackteria ist weltweit tätig und stützt sich auf eine Webplattform und ein Wiki für den Wissensaustausch, die es jedem ermöglichen, verschiedene Methoden des Hackens lebender Systeme zu erlernen und zu testen. Hackteria ist nicht an einem physischen Ort angesiedelt und hat zum Ziel, Künstlern, Wissenschaftlern und Hackern die Möglichkeit zu geben, zusammenzuarbeiten und verschiedene Biohacking- und Biokunsttechniken außerhalb der offiziellen Labors und Kunstinstitutionen zu erproben, im Grunde überall auf der Welt. MCD 68

Videos

Es gab im ganzen 3 Videos zur Lektüre zur Vorbereitung der Blockwoche.

Greg Gage Ted

In diesem Video demonstriert Greg Gage seine Technologie zur Messung und Weiterleitung von elektrischen Signalen in motorischen Endplatten von menschlichen Muskeln. Dabei werden mit Elektroden an Versuchsperson Nummer 1 die Muskelsignale gemessen, und über einen Verstärker an Versuchsperson 2 weitergeleitet. Dabei werden bei Versuchsperson 2 die Muskeln stimuliert, welche von Versuchsperson 1 aktiviert wurden. Dadurch entstehen bei Versuchsperson 2 die gleichen Bewegungen wie bei Versuchsperson 1, einfach ohne dass diese dies kontrollieren kann.

Open Source Lego

Es handelt sich um das Rezept eines beliebigen Werks, das gemeinsam genutzt wird und für jedermann frei zugänglich ist. Der Begriff stammt ursprünglich von Open-Source-Software. Heute ist Open Source nicht mehr nur im Bereich der Software aktiv. Der Austausch von Wissen und die Vernetzung bringen viele Vorteile mit sich. Unternehmen wie RedHat und Websites wie Thingiverse sind beliebte Anbieter, bei denen Nutzer Zugang zu kostenlosen und Open-Source-Dateien für weitere Projekte erhalten. Die Arbeit im FabLab und während des Moduls Medtech DIY wird mit Open-Source-Software durchgeführt.

Arduino

Das Arduino ist ein open-source und programmierbare Elektronikbauteil für das Ausführen schneller Prozesse. Es besteht aus Mikrocontroller, zum einen für die Berechnungsgeschwindigkeit und zum anderen für die Kommunikation mit der Software. Die Elektronik kann per USB oder 9V DC Netzteil betrieben werden. Es beinhaltet einen Spannungsregulator zu 5V, Power pins für das Betreiben anderer Schaltungen und digitale Inputs und Outputs.

Wichtig für Arduino Setup

Beim Starten der Software, unter "Tools: Boards" sollte das entsprechende Arduino Board ausgewählt werden (Standard: Arduino Uno) und den Kommunikationskanal unter "Port" ausgewählt werden. Um das Setup auszutesten, kann man unter "File: Examples: Basics: Blink" ein Programm laufen lassen um eine einfache LED in verschiedenen Intervallen blinken zu lassen. Der untenstehende Code wurde leicht angepasst um 6 LEDs abwechselnd blinken zu lassen. Der erste Loop initialisiert die LED_BUILTIN Pins als digitaler Output wo die LEDs installiert sind. Der zweite Loop funktioniert so um die LEDs ein- oder auszuschalten je nach zeitintervall (im Beispiel: 1000 ms EIN und 500 ms AUS). Desweiteren haben wir die globale Variable LED_BUILTIN zu den digitalen Pins geändert, wo die LEDs installiert sind, und laufen so in einem Loop von Pin 8 oder LED 8 zu Pin 13 oder LED 13.

Code:

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  for(int i = 8; i <=13; i++)
  {
    pinMode(i, OUTPUT);
  }
}

// the loop function runs over and over again forever
void loop() {
  for(int i = 8; i <=13; i++)
  {
    digitalWrite(i, HIGH);
    delay(1000);
    digitalWrite(i, LOW);
    delay(500);
  }
}

Wochenjournal

Wir haben die gesamte Blockwoche als Journal dokumentiert. Dies beinhaltet tägliche Inputs, Aktivitäten und Hacks die durchgeführt wurden.

Montag

Intro Medtech DIY FabLab

Die Do-it-yourself-Kultur beschreibt eine Strategie, die es zum Ziel hat, das Wissen einfacher zugänglich zu machen. Gute Geräte, um Unbekanntes zu erforschen sind meist sehr teuer. Mithilfe der DIY-Kultur soll es möglich sein, diese Geräte günstiger nachzubauen, sodass mehr Menschen in der Lage sind, sich diese zu leisten. Mit Geräten wie selbstgebauten Mikroskopen oder EMG-Messgeräten können mehr Menschen forschen und sich weiterbilden. Das Wissen und Erforschen ist somit nicht nur mit sehr teurem Equipment in einem Labor möglich, sondern auch mit einfachem Zubehör in der Garage Team Chihuahua hs21.

Urs Gaudenz

Am Montagnachmittag, hat Urs Gaudenz eine kurze Vorlesung zu den Themen Open Source und Do It Yourself gehalten. Bei Do It Yourself geht es nicht unbedingt darum, etwas alleine zu tun, weshalb synonym auch gerne Do It Together verwendet wird. Viel mehr geht es darum, sich in einer Community auszutauschen, Entwicklungen kostenlos von anderen Mitglieder zu übernehmen und weiterzuentwickeln. Das Ziel von Open Source besteht darin, Daten der Öffentlichkeit zur Verfügung zu stellen, wie man es zum Beispiel vom bekanntesten Beispiel 'Wikipedia' kennt.

Wiki Intro

In einer halbstündigen Einführung, wurde uns die Handhabung von Wikis erklärt. Das wohl bekannteste Beispiel für Wikis ist die Webplattform Wikipedia. Wikis kann jeder registrierter Nutzer lesen sowie auch direkt bearbeiten. Es ist somit möglich Wissen und Erfahrungen gemeinschaftlich zu sammeln und zu teilen. Es wurde uns gezeigt, wie man Bilder hinzufügen oder Webseiten verlinken kann. Es gibt ein Wiki für alle Teilnehmer der Blockwoche, diese heisst Medizintechnik DIY. Auf dieser Seite sind dann die Links zu den Wikis der einzelnen Teams zu finden.More info

Dienstag

Skill Share Session

Skill Share

Am Dienstagnachmittag schrieben alle Studenten zwei ihrer individuellen Fähigkeiten auf und klebten sie an die braune Tafel (gelbe Klebezettel). Sie wurden dann in ähnliche Kategorien wie Kunst und digitales Design, Hobbys, Programmieren usw. eingeteilt. Dann schrieb jeder Student zwei Interessen auf, die er hat, und klebte sie auf die braune Tafel (grüne Klebezettel). Ziel dieser Sitzung war es, Fähigkeiten zu ermitteln, die die Studierenden weitergeben und anderen Interessierten beibringen können. Unsere Gruppe sollte am Mittwochmorgen einen Beitrag zur Herstellung von Zahnspangen leisten.

Chris Obrist

Am Dienstagnachmittag gab Chris Obrist einen Input zu Lasercutter. Beim Lasercutter werden Platten aus verschiedenen Materialien wie Holz, Karton, Plexiglas, Kunststoff, Leder, ect. mit einem Hochleistungslaser durchtrennt oder graviert. Mit einem Zeichnungsprogramm werden die 2D Pläne erstellt oder von vorhandenen OpenSource Daten übernommen und angepasst. Wenn die Pläne bereitstehen, werden diese mittels Stick auf den Lasercutter übertragen, da werden die Pläne gelasert. Eines der Vorteile ist der schnelle Herstellungsprozess, so können zum Beispiel hochwertige Gehäuse für Prototypen hergestellt werden. Im FabLab in Horw stehen zwei von Acctek (AKJ6090 und AKJ9060).

Andreas Kopp

Am Dienstagnachmittag gab Andreas Kopp einen Einblick in den 3D-Druck. Das FabLab verfügt über drei originale Ultimaker 3D-Drucker mit einer Düse von 0,8 mm und vier neuere Versionen mit einer Düse von 0,4 mm. Der 3D-Druckprozess beginnt mit der Entwicklung eines CAD-Modells. Nach der Fertigstellung des Entwurfs wird dieser als STL-Datei exportiert, dem Standard-Dateityp für den 3D-Druck. Die STL-Datei verwendet eine Reihe von Dreiecken, um die Oberflächengeometrie des Modells nachzubilden. Beim Exportieren wird eine hohe Auflösung gewählt, um die Oberflächen des Modells anzunähern. In dieser Woche werden im Sinne des Hackings Open-Source-STL-Dateien verwendet, damit die Gruppe Zeit für die Arbeit an anderen Teilen des Projekts hat. Danach wird die STL-Datei durch einen Prozess namens "Slicing" in Maschinensprache (G-Code) umgewandelt und ist bereit zum Drucken. Hier wird Cura verwendet. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem Abkühlen sind die Objekte fertig. Im Vergleich zum Laserschneider ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.

Ewen Chardronnet

Ewen Chardronnet aus Frankreich ist Author, Journalist, Kurator, investigativer Künstler und Chefredakteur von Makery - Media for Labs. Seine Präsentation umfasste seine Tätigkeit als Journalist und spannende Projekte die Kunst mit der Medizinaltechnik verbinden. Das Makery - Media for Labs ist ein Internet-basierter Informationsmedium (Newsletter, Website, soziale Netzwerke), gegründet im Jahr 2014 von Digital Art International.

Ewen hat sich später für Medizintechnik interessiert und schrieb Bücher, welches durch die Pandemie sehr stark im Vordergrund aufgetaucht ist. Er hat das ART4MED Projekt vorgestellt, welches biomedizinische Forschung mit Kunst in Verbindung setzt. Die Events sind unter ein Symposion wie Finland, Slowenien, Niederlande und Denmark herausgegeben präsentiert Innovationen wie Prothesen die Open Source sind und mit Kunst und medien verbunden werden. Als nächstes wurden wir zu Adriana Knouf eingeführt, die sich für Weltraumtechnik interessiert und ein sogenannte Hormone Umwandler im Anzug entwickelt hat. Quorum Sensing fokussiert sich auf mikrobiomische gene modifikationen und krankheitsdetektierung durch den Geruchssinn. Das UnbornoX9 Projekt befasst sich mit der entwicklung von einem Fötus in einem künstlichen Mutterleib.

Die Projekte gaben uns die Möglichkeit, ins Nachdenken zu verlegen. Die Medizintechnik birgt spannende und lebensrettende Technologien jedoch bringt die Integration der Kunst ein zusätzliches Bild der Schönheit und Einzigartigkeit.

Mittwoch

Skill Share Session

Für den Vormittag wurden am Vortag verschiedene Skill Mentoren unter den Studierenden und den Dozenten definiert mit ihrem Lieblingsthema, dass Sie beibringen/vortragen wollten.

Zahnspange Herstellung

Sabrina Schmitz, eine gelernte Zahntechnikerin, von den Avengers hat uns durch verschiedene Zahnspangen/Prothesen und deren Materialien eingeführt. Zahnspangen benötigen speziellen Dentaldraht welcher je nach Anwendung eine unterschiedliche Eigenschaft aufweisen. Die Retentionsdrähte werden durch einen Zahntechniker genaust möglich an Zähne angepasst um ein best möglichen Halt zu gewährleisten. Äusserst spannend war wie detailliert das Biegen war. Nur so können Zahnspangen und Prothesen am Ende fest genug sitzend damit ein herausfallen vermieden werden kann.

Brainstorming

Am Mittwochnachmittag nahm sich das Team etwas Zeit, um Ideen für Hack 1 zu sammeln. Die Absicht war, etwas zu entwickeln, das Arduino, Lasercut und 3D-Druck beinhaltet, aber auch die Zeit, die für die Umsetzung der Idee notwendig ist. Die Idee, die sich entwickelte, war ein 3D-Hologramm, das anatomische Bilder für medizinisches Personal auf einem elektronischen Gerät wie einem iPad anzeigen würde. Ein weiterer Schritt besteht darin, dass sich das Gerät mit Hilfe eines Muskelspitzenschutzes dreht, d. h. mit einem Arduino, der so programmiert ist, dass er sich dreht, wenn die Person, die das Gerät benutzt, ihre Hände in einer bestimmten Position bewegt, wobei das Signal über Elektrodenbahnen übertragen wird. Die Hologrammstruktur wird auf dem Gerät platziert und das gesamte System dreht sich. Die Idee wurde inspiriert von Instructurable crafts.

Donnerstag

Hack 1

Am Donnerstagmorgen arbeitete das Team an der Fertigstellung von Hack 1. Das ideale Material zur Herstellung der Hologrammstruktur wäre ein transparenter, dünner, aber stabiler Kunststoff, den wir mit dem Laser schneiden könnten, um die genaue Form und Größe zu erreichen. Im FabLab ist jedoch nur 3 mm dickes Plexiglas verfügbar, das sowohl zu dick als auch zu schwer ist, um das Ziel zu erreichen. Daher wurde eine Laminierfolie verwendet und manuell zugeschnitten und zusammengeklebt, um die Hologrammform zu erhalten. Diese Methode erwies sich als schwierig, da sich beim Laminieren Wellen bildeten, welche die Projektion des Bildes beeinflussten, zudem hat das manuelle Schneiden zu Ungenauigkeiten führte und die Stabilität der Struktur beeinträchtigte. Der Prozess wurde ein zweites Mal von Teammitglied Sabrina durchgeführt, die zu Hause eine Laminiergerät besitzt und die Wellen im Material reduzierte und mit Hilfe eines Skalpells ein saubereres Ergebnis erreichte wodurch das Bild besser projizierte werden konnte.

Brainstorming für Hack 2

Während der Finalisierung des Hack 1 hat die Gruppe begonnen ein Brainstorming für den Hack 2 zu machen. Die Absicht war es etwas ohne ein Muscle Shield zu erstellen und ein positiven Einfluss in die Gesellschaft hat. So ist die Gruppe mit Hilfe von Silvan Wirthensohn auf die Idee für einen Blindenstock mit einem Distanzsensor gekommen. Per Zufall hat die Gruppe einen Prototypen eines Blindenstocks im FabLab entdeckt und ihn so weiterentwickeln können. Für die Fixierung des Distanzsensors und des Lautsprechers wurde eine Box angefertigt und an den Stock befestigt. Mittels eines Vibrators konnten wir im Handstück des Stocks eine haptische Rückmeldung erzeugen. Der Vibrator wurde mit Hilfe von Wood Cast in das Handstück integriert. Beim zusammen Löten der einzelnen Drähte für die Verlängerung zum Handstück sind mehrer Probleme aufgetaucht welche jedoch als Gruppen gelöst werden konnten.

Freitag

Am Freitagmorgen arbeitete das Team an der Fertigstellung von Hack 1 und 2.

Samstag

Die Abschlusspräsentationen der Gruppen waren für den Samstagmorgen angesetzt. Wir konnten uns die einzigartigen Innovationen der anderen Gruppen anhören und ihnen auch unsere Hacks vorstellen. Der Vormittag wurde mit kurzen Demos verbracht. Im Anschluss daran gaben alle ein Feedback zu den guten und negativen Aspekten. Diese Informationen wurden gesammelt und diskutiert. Die Medtech-DIY-Blockwoche war damit zu Ende.

Hacks

Teile: Hack 0

Hack 0: Muscle Shield

Als Erster Hack wird in diesem Modul ein Kit zur Erkennung von Muskelströmungen zusammengebaut.

Instruktionen

Die Anleitung zum Zusammenbau dieses Kits sind vom Kit-Hersteller auf dessen Seite zur Verfügung gestellt. Die korrekte Version ist untenstehend verlinkt. Das Kit selbst ist auch verlinkt.

Muscle Shield Instruction v2.11 Kit

Prozess

Um den Hack zu vollbringen, wird das Board nach Anleitung zusammengelötet. Dabei ist jeweils eine Person aktiv am Löten, und die anderen geben Anweisungen zur korrekten Positionierung aller Teile, und kontrollieren die Lötstellen.

Lötprozess
Hilfestellung zum Lötprozess


Code

Dieser Code wird für das Kit verwendet. Er wird ebenfalls vom Hersteller zur Verfügung gestellt.

/*
* ----------------------------------------------------------------------------------------------------
* Backyard Brains 2015
* Muscle SpikerShield Arduino UNO Code for Human-Human-Interface
*
* Code monitors amplitude of EMG envelope, displays EMG strength on LED bar and controls 
* relay that turns on/off a TENS (Transcutaneous Electrical Nerve Stimulation) device.
* 
* V1.0
* Written by Marcio Amorim
* Updated by Stanislav Mircic
*
* Tested with Muscle SpikerShield V2.31
* ----------------------------------------------------------------------------------------------------
*/  
  
#define RELAY_PIN 3                         //pin for relay that controls TENS device
#define SENSITIVITY_BUTTON_PIN 7            //pin for button that selects sesitivity
#define NUM_LED 6                           //number of LEDs in LED bar
#define RELAY_THRESHOLD 4                   //defines sensitivity of relay

byte ledPins[] = {8, 9, 10, 11, 12, 13};    //pins for LEDs in LED bar
 
//EMG saturation values (when EMG reaches this value the TENS relay will be activated)
int sensitivities[] = {200, 350, 520, 680, 840, 1000};
int lastSensitivitiesIndex = 2;             //set initial sensitivity index
  
int emgSaturationValue = 0;                 //selected sensitivity/EMG saturation value
int analogReadings;                         //measured value for EMG
byte ledbarHeight = 0;                      //temporary variable for led bar height


//-----------------------------------------------------------------------------------
//   Setup inputs and outputs
// ----------------------------------------------------------------------------------
void setup(){

  //init button pin to input                                
  pinMode(SENSITIVITY_BUTTON_PIN, INPUT); 
  //init relay pin to output    
  pinMode(RELAY_PIN, OUTPUT); 
  digitalWrite(RELAY_PIN, LOW);
  //initialize all LED pins to output
  for(int i = 0; i < NUM_LED; i++){ 
    pinMode(ledPins[i], OUTPUT);
  }
  
  //get current sensitivity
  emgSaturationValue = sensitivities[lastSensitivitiesIndex];
}

//-----------------------------------------------------------------------------------
//   Main loop
//
//   - Checks state of sesitivity button
//   - Measure EMG
//   - Shows EMG strength on LED bar
//   - Turns ON or OFF the relay for TENS device
// ----------------------------------------------------------------------------------
void loop()
{
   
      //-----------------------  Switch sensitivity ------------------------------------
    
      //check if button is pressed (HIGH)
      if (digitalRead(SENSITIVITY_BUTTON_PIN))
      { 
          //turn off all the LEDs in LED bar
          for(int j = 0; j < NUM_LED; j++)
          {  
            digitalWrite(ledPins[j], LOW);
          }
          
          //increment sensitivity index
          lastSensitivitiesIndex++;
          if(lastSensitivitiesIndex==NUM_LED)
          {
            lastSensitivitiesIndex = 0;
          }
          
          //get current sensitivity value
          emgSaturationValue = sensitivities[lastSensitivitiesIndex]; 
            
          //light up LED at lastSensitivitiesIndex position for visual feedback
          digitalWrite(ledPins[lastSensitivitiesIndex], HIGH);
           
          //wait user to release button
          while (digitalRead(SENSITIVITY_BUTTON_PIN)) 
          {  
            delay(10);
          }       
          //whait a bit more so that LED light feedback is always visible
          delay(100);        
      }
        

      //-----------------------------  Measure EMG -----------------------------------------------
    
      analogReadings = analogRead(A0);//read EMG value from analog input A0
        
        
      //---------------------- Show EMG strength on LED ------------------------------------------
        
      //turn OFF all LEDs on LED bar
      for(int j = 0; j < NUM_LED; j++)
      {  
        digitalWrite(ledPins[j], LOW);
      }
         
      //calculate what LEDs should be turned ON on the LED bar
      analogReadings= constrain(analogReadings, 30, emgSaturationValue);
      ledbarHeight = map(analogReadings, 30, emgSaturationValue, 0, NUM_LED);
        
      //turn ON LEDs on the LED bar
      for(int k = 0; k < ledbarHeight; k++)
      {
        digitalWrite(ledPins[k], HIGH);
      }
        
        
      //----------------------- Turn ON/OFF relay for TENS ---------------------------------------
        
      //Turn ON relay if EMG is greater than threshold value
      //(threshold is expressed in LED bar height units)
      if(ledbarHeight>RELAY_THRESHOLD)
      {
        digitalWrite(RELAY_PIN, HIGH);
        delay(50);
      }
      else
      {
        digitalWrite(RELAY_PIN, LOW);
      }
}
Results: Hack 0

Resultat

Alles zusammengebaut und programmiert werden die Elektroden angeschlossen. Eine am oberen Unterarm, zwei am unteren. Dieses werden wie auf den Bildern gezeigt mit dem Kit verbunden. Dies führt dazu dass die Muskelströme gemessen werden können und auf dem Kit angezeigt werden.

Hack 1: MediGram

Beschreibung

Als Hack 1 wird die Steuerung des Muscle Shields aus Hack 0 verwendet um ein eine Plattform zu bewegen, mit der ein Hologramm gesteuert werden kann. Dabei werden zwei Muscleshields und zwei kontinuierliche Servomotoren verwendet. Dabei steuert je ein Muscleshield einen Servomotor. Die Ansteuerung der Motoren wird so realisiert, das die Bewegung in beide Richtungen gesteuert werden kann.

Hardware

Dieses Bild zeigt den Arduino-Aufbau mit zwei Motoren. Das Biosignal von jedem Arm wird über die Elektrodenpfade an jeden Motor weitergeleitet und führt eine bestimmte Funktion aus. Ein Motor steuert die Größe, d. h. das Vergrößern und Verkleinern des Bildes. Der zweite Motor wird die Drehung der Plattform steuern. Eine Schraube wurde 3D-gedruckt, um die Plattform für das iPad zu stabilisieren.

Hardware, Links:Hexagon,Schraube
WhatsApp Image 2022-02-11 at 09.47.28.jpeg WhatsApp Image 2022-02-10 at 15.01.13.jpeg







Code

Dieser Code wird für Hack 1 verwendet. Er wird ebenfalls vom von Spike shield angepasst.

/*
* ----------------------------------------------------------------------------------------------------
* Backyard Brains 2015
* Muscle SpikerShield Arduino UNO Code for Human-Human-Interface
*
* Code monitors amplitude of EMG envelope, displays EMG strength on LED bar and controls 
* relay that turns on/off a TENS (Transcutaneous Electrical Nerve Stimulation) device.
* 
* V1.0
* Written by Marcio Amorim
* Updated by Stanislav Mircic
*
* Tested with Muscle SpikerShield V2.31
* ----------------------------------------------------------------------------------------------------
*/  
  
#include <Servo.h>
#define MAX 700                         //maximum possible reading. Tweak This Value!!

int reading_0[10];
int reading_1[10];
int finalReading_0;
int finalReading_1;
int value;
int send_value_0;
int send_value_1;
byte multiplier = 1;

Servo servo1;
Servo servo2;

//-----------------------------------------------------------------------------------
//   Setup inputs and outputs
// ----------------------------------------------------------------------------------

void setup(){
  Serial.begin(9600); //begin serial communications
  servo1.attach(5);
  servo2.attach(2);
  }
  
//-----------------------------------------------------------------------------------
//   Main loop
//
//   - Checks state of sesitivity button
//   - Measure TBD
//   - Shows EMG strength on LED bar---- TBD
//   - Turns ON or OFF the relay for TENS device---- TBD
// ----------------------------------------------------------------------------------

void loop()
{
 for(int i = 0; i < 10; i++){    //take ten readings in ~0.02 seconds
    reading_0[i] = analogRead(A0) * multiplier;
    delay(2);
  }
  for(int i = 0; i < 10; i++){    //take ten readings in ~0.02 seconds
    reading_1[i] = analogRead(A1) * multiplier;
    delay(2);
  }
  for(int i = 0; i < 10; i++){   //average the ten readings
    finalReading_0 += reading_0[i];
  }
  for(int i = 0; i < 10; i++){   //average the ten readings
    finalReading_1 += reading_1[i];
  }
  finalReading_0 /= 10;
   finalReading_1 /= 10;
  Serial.print(finalReading_1);
  Serial.print("\t");

  send_value_0 = map(finalReading_0, 0, MAX, 65, 180);
  send_value_1 = map(finalReading_1, 0, MAX, 65, 180);

if(send_value_0 <= 85 && send_value_0 >= 110)
{
  send_value_0 = 90;
}
if(send_value_1 <= 85 && send_value_1 >= 110)
{
  send_value_1 = 90;
}
  Serial.print("\n");
  Serial.print("calc value");
  Serial.print("\t");
  Serial.print(send_value_0);
  Serial.print("\t");
  Serial.print(send_value_1);
  Serial.print("\n");

  servo1.write(send_value_0);
  servo2.write(send_value_1);
  //for serial debugging, uncomment the next two lines.
  //Serial.println(finalReading);
  delay(100);
}

Resultat

Wie schon in der Beschreibung erwähnt haben wir im Hack 1 das Muscle Shield aus dem Hack 0 verwendet um mit Hilfe des Muskelpotentials eine Plattform mit dem Hologram zu bewegen. Es wurden zwei Muscle Shield mit einem Arduino verwendet damit der eine Arm die Zoom Bewegung durchführen konnte und der andere Arm die Rotation erzeugen konnte. Um das Hologram zu erzeugen wurde mit Hilfe eines iPads die Bilder projiziert. Auf den Bildern unten kann man zum einen die Konstruktion mit den zwei Servomotoren sehen und wie es im Ganzen mit dem Hologram aufgebaut ist. Leider war unsere Konstruktion für das Gehäuse etwas zu klein so das wird das Gehäuse nicht befestigen konnten.


WhatsApp Image 2022-02-11 at 15.44.24.jpeg
WhatsApp Image 2022-02-11 at 15.44.33.jpeg
Testing


Herz Hologram.JPG

Hack 2: Semi-Smart Cane

Semi-Smart Cane

Beschriebung

Für Hack 2 wurde ein Semi-Smart Cane entwickelt. Der Stock soll erkennen und per Ton und Vibration melden, wenn sich Hindernisse in der Nähe der Person befinden. Dieser Stock ist speziell für eine blinde Person bestimmt.

Hardware

Teile

Im FabLab wurden zwei Holzstöcke gefunden, die die Grundlage und Struktur des Stocks bilden sollten. Die beiden Stöcke wurden mit einem kleinen Stück Gussholz zusammengefügt und auf jeder Seite mit zwei Schrauben festgenagelt. Anschließend wurde der Stock auf die gewünschte Länge zugeschnitten. Der Griff wurde mit dem Gussholz hergestellt. Er wurde erhitzt und dann um den oberen Teil des Stocks gelegt und nach den Händen eines Teammitglieds geformt. Die gesamte Struktur wurde dann für ein elegantes Aussehen sprühlackiert.

In diesem Bild ist der Arduino zu sehen. Das erste Bauteil, das von links angeschlossen ist (die beiden runden Augen), ist der Distanzsensor, der auf 80 cm eingestellt ist. Das nächste Bauteil ist der Vibrator. Diese Komponente befindet sich im Griff des Stocks und vibriert, wenn sich ein Objekt weniger als 80 cm vom Stock entfernt befindet. Das letzte Bauteil ist der Tongenerator und funktioniert ähnlich wie der Vibrator.

Wir haben den Mini-Sichtungsroboter "Vision" entwickelt, der die gesamte Elektronik enthält. Dazu gehören der Arduino, der mit dem Distanzdetektor verbunden ist, der Lautsprecher und die Kabel für den Vibrator. Vision wird an den beiden Teilen des Stocks angebracht.


WhatsApp Image 2022-02-11 at 14.16.33.jpeg WhatsApp Image 2022-02-11 at 14.16.33 (1).jpeg




Code

Der folgende Code wurde verwendet, um Hack 2 auszuführen. Er wurde zum Teil von einem Codebeispiel des FabLabs Luzern übernommen, und für unsere Bedürfnisse angepasst.

/*
 
 DistanzSensor2
 
 Code for Ultrasonic sensor HC–RS04 
 created by Rui Santos, https://randomnerdtutorials.com

 Distance display with status LED's (green, yellow, red)
 for checking the fill level e.g. of a Meischenfass 

 modified 21.11.18
 by Chris Obrist


 */
 
int trigPin = 11;    // Trigger
int echoPin = 12;    // Echo
int vibrator_pins[] = {2};
int num_vibrators = 1;
long duration, cm;
 
void setup() {
  //Serial Port begin
  Serial.begin (9600);
  //Define inputs and outputs
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  for(int i = 0; i < num_vibrators; i++)
  {
    pinMode(vibrator_pins[i], OUTPUT);
    digitalWrite(vibrator_pins[i], LOW);
  }
}
 
void loop() {

cm = readSensorDist();

if(cm < 80) {
  for(int i = 0; i < num_vibrators; i++)
  {
    digitalWrite(vibrator_pins[i], HIGH);
  }
}
else
{
   for(int i = 0; i < num_vibrators; i++)
  {
    digitalWrite(vibrator_pins[i], LOW);
  }
}


  Serial.print(cm);
  Serial.print("cm");
  Serial.println();


delay(10);
  
}


int readSensorDist() {

  // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
 
  // Read the signal from the sensor: a HIGH pulse whose
  // duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);
 
  // Convert the time into a distance
  return (duration/2) / 29.1;     // Divide by 29.1 or multiply by 0.0343

  
  delay(250);


}

Results: Hack 2

Resultat

Der abgeschlossene Prototyp ist im ersten Bild ersichtlich. Sämtliche Elektronik ist in der Box am vorderen Ende des Stabs verstaut, mit Ausnahme des Vibrationsmotors, welcher im Griff verarbeitet ist. Die Box ist für einen effektiven Gebrauch noch ein bisschen zu gross, da sie allerdings nicht sehr schwer ist, ist der Prototyp trotzdem bereits brauchbar. Die Elektronik funktioniert erwartungsgemäss. Einzig der Ultraschallabstandssensor hat noch ein paar wenige Feinabstimmungsprobleme, da nicht immer alle Objekte erkannt werden.

Reflexion

Über alles gesehen war diese Woche ein Erfolg. Alle Teilnehmer haben einiges gelernt und neue Erfahrungen gewonnen. Manche Dinge sind trotzdem schief gelaufen, und werden untenstehend erläutert.

Probleme

In diesem Abschnitt werden zu jedem Hack ein Paar Probleme erwähnt, und Verbesserungsvorschläge gemacht.

Hack 0

Ein Problem beim Hack 0 war es, das es in unserem Team nicht bekannt war, das LEDs nur in eine Richtung funktionieren. Dadurch mussten nach Vollendung der Lötarbeiten nochmals fast alle LEDs herausgenommen und ersetzt werden. Dies führte zu einem hohen Zeitverlust. Um dies zu verhindern, wäre eine bessere Recherche zu den Teilen, beziehungsweise eine genauere Betrachtung davon nötig gewesen, da dabei aufgefallen wäre, dass die LEDs nicht perfekt rund sind, sondern auf einer Seite abgeflacht sind. Dies wäre ein Hinweis gewesen, dass sie richtig herum montiert werden müssen.

Hack 1

Der Hack 1 brachte mehrere Probleme mit sich. Sowohl Hardware, wie auch Softwareprobleme.

1. Motorensteuerung Die verwendeten Servomotoren waren eine leichte Abwandlung eines anderen Motorentyps, da diese eine kontinuierliche Bewegung vollbrachten. Da dies jedoch nicht die Standardvariante dieses Motorentyps ist, ist die Ansteuerung davon nur sehr schlecht dokumentiert. Dies ist ein Problem das wir nicht verhindern konnten, allerdings kann es für zukünftige Teams eine Hilfe sein, das hier auf dieses Problem hingewiesen wird.

2. Gehäuse Das Gehäuse wurde zu früh hergestellt. Es wurde bereits hergestellt, als die Entwicklung der Bewegemechanik noch nicht abgeschlossen war, und darum die Grössenverhältnisse nicht klar waren. Dadurch hat die fertige Mechanik nicht ins Gehäuse gepasst. Dies hätte verhindert werden können, indem zumindest mit der Feinanpassung des Gehäuses gewartet worden wäre, bis zumindest die Dimensionen der Mechanik bekannt gewesen wären.

3. Mechanik In unserem Team gab es eine Know-How Lücke beim Thema Mechanik. Niemand wusste wirklich wie die beiden Freiheitsgrade der Rotation sowie der Bewegung auf der Z-Achse mechanisch bewerkstelligt werden sollten. Wir gingen einfach davon aus das es dann schon gehen wird. Dies endete darin dass zuerst einige Teile gedruckt wurden, die schlussendlich gar nicht verwendet werden konnten, da es mechanisch nicht funktionierte. Das mechanische Problem wurde zwar gelöst, allerdings kostete es sehr viel Zeit, welche dann dem Hack 2 verloren ging. Ebenfalls wurde dadurch das Problem mit dem Gehäuse erst ermöglicht.

Hack 2

Der zweite Hack wurde grösstenteils ohne Probleme erledigt, da er auch deutlich einfacher war. Dies war so weil auch nur noch wenig Zeit zur Verfügung war. Die einzigen Probleme die auftauchten waren nicht wirklich vorhersehbar. Das einzige Problem das wir hatten war das der Vibrationsmotor genau dann kaputt ging als wir in eingebaut hatten. Dadurch mussten wir den Griff nochmals erhitzen und einen neuen Vibrationsmotor einbauen. Damit war dieses Problem jedoch gelöst. Und da der ursprüngliche Vibrationsmotor noch getestet wurde vor dem Einbau konnte es auch nicht verhindert werden.

Abschlusspräsentation Powerpoint Slides

In PDF Format: File:MEDTECH DIY 2022_Team Avengers_PDF.pdf