Difference between revisions of "Team Avengers"

From Hackteria Wiki
Jump to: navigation, search
(Arduino)
(Arduino)
Line 35: Line 35:
  
 
==== Arduino ====
 
==== 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.
 +
 
<pre>
 
<pre>
 
// the setup function runs once when you press reset or power the board
 
// the setup function runs once when you press reset or power the board

Revision as of 13:42, 8 February 2022


Einleitung

Herzlich willkommen auf der offiziellen Seite vom Team "Avengers". Auf dieser Seite werden die Ergebnisse der Blockwoche "Medtech DIY 2022" vorgestellt. Die Daten unserer Projekte werden hier zur Verfügung gestellt, wenn man diese nachbauen möchte.

Team

  • Sabrina
  • Sarah
  • Noel
  • Pascal

Reflektion Readings

Die folgenden Materialien bildeten die Grundlage für den MedTech DIY Modul.

Articles

SATW Publication 2015

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

MCD #68

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

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.

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

Inputs

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.

Hacks

Hack 0: Muscle Shield

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

Teile

Parts Muscle Shield.jpeg

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.

Kit

Muscle Shield Instruction v2.11

Prozess

Soldering.jpeg

Top down view.jpeg

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

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.

Connections.jpeg ConnectionToBoard.jpeg

Dies führt dazu dass die Muskelströme gemessen werden können und auf dem Kit angezeigt werden.