Team Dynamit

From Hackteria Wiki
Revision as of 13:51, 18 February 2021 by Takhanhb (talk | contribs) (Vorgehen:)
Jump to: navigation, search

Geh zurück auf Medizintechnik DIY

Das Team Dynamit besteht aus den jungen Entwicklern Andre, Bang und Jonathan die an der Hochschule Luzern Ihre Hochschulreife erlangen. Im Rahmen einer Blockwoche versucht das gebildete Trio Produkte im Biomechanischen Rahmen zu konkretisieren und zu realisieren.
TeamDynamite.png

Team Mitglieder

Rudow, Jonathan

Jonathan ist ein gelehrter Konstrukteur aus der Blechindustrie. Die Firma Trumpf Maschinen AG lehrte ihn die Handhabung des CAD’s und die Denkweise eines ausgefuchsten Ingenieurs. Seine Denkweise verschärfte er in einem Medizintechnikstudium, welches er an der Hochschule Luzern absolviert. Nach acht Semestern und unzähligen Denkfehlern, die bei Wissensabfragungen der Hochschule gefallen sind, darf auch dieser 24-jährige Mann nach dem Sommer 2021 auf eine glorreiche Zukunft in der Industrie, mit einem Bachelor-Abschluss, blicken. In seiner Freizeit geht Jonathan seiner Leidenschaft nach, und tanzt Rock ‘n Roll bei den Dancing Cats in Baar oder geht anderen Freizeitaktivitäten nach wie Skifahren, Volleyball, Squash, Golf, Wandern oder anderem. Wenn solche Aktivitäten nicht möglich sind, zählt Jonathan gerne COVID-19 Viren, die sich in einer vollgestopften S-Bahn zwischen Luzern und Zürich kultivieren.

Nguyen, Khanh Bang

Khanh Bang Nguyen, oder kurz genannt Bang ist in der 7. Semester der Maschinentechnik. Nach dem Kanti machte er ein Jahr Praktikum bei KNF Flodos AG. Sein Hobby ist Landschaftsfotografie.

Gut, Andre

Andre Gut studiert Maschinentechnik an der Hochschule Luzern und befand sich zur Zeit der Durchführung der Blockwoche "Medizintechnik DIY" im 5. Semester seines Studiums. Vor dem Beginn seines Studiums, im Sommer 2018, schloss Andre eine Lehre als Kunststofftechnologen bei den Pilatus Flugzeugwerken im Bereich der faserverstärkten Kunststoffen ab und führte seinen Militärdienst im Modell Durchdiener durch. Zu seinen Hobbies zählen unteranderem das Lesen und Bouldern.

Skillshares

Arduino

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.

Arduino UNO
Beim Arduino™ Uno handelt es sich um den wohl bekanntesten und geläufigsten Arduino. Als Mikrocontroller kommt ein ATmega328 zum Einsatz. Der Controller verfügt über 14 digitale Ein- und Ausgänge (von denen 6 im PWM-Modus genutzt werden können), 6 analoge Eingänge, einen 16 MHz Quarz, eine USB-Buchse (Typ B), einen Netzteil-Anschluss, einen ICSP-Stecker und einen Reset-Button. Das Board enthält alles, was wir zum Programmieren von Mikrocontrollern benötigen. Arduino-Pins-Description.jpg

Arduino Code
Arduino programmiert man in der Programmiersprache C/C++. Diese ist in der Hardware-Programmierung weit verbreitet. Wenn man also sehr spezielle Funktionen sucht, kann man in einer C/C++ Referenz nachschlagen. Ein Arduino-Programm hat eine bestimmte Programmstruktur. Im einfachsten Fall handelt es sich um die zwei Hauptmethoden setup() und loop(). Alles, was man in den geschweiften Klammern { } schreibt, gehört zu der jeweiligen Methode.


// Definition der Variablen
void setup()
{
  Variablen;                 // Vorbereitung
}

// Ausführung
void loop() {
  anweisungen;                 // Ausführung
}

Während die setup()-Methode nur beim Programmstart ausgeführt wird, wird die loop()-Methode kontinuierlich wiederholt.

Bekannte Befehle
If-Schleife
For-Schleife
While-Schleife
Beispiel
Button.png
Arduino Code:

// Variable 'pushButton' wird nicht verändert
int pushButton = 2; //Information, ob die Taste gedrückt ist, wird in Digital Pin 2 abgelesen.

//Vorbereitung
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  // pushButton als INPUT information
  pinMode(pushButton, INPUT);
}

// Ausführung
void loop() {
  // Lesen information von "pushButton"
  int buttonState = digitalRead(pushButton);

  // Ausdrucken in Serial monitor
  Serial.println(buttonState);
  delay(1);        // Verzörgen um 1 ms für Stabilität
}

HACKS

Hack 0 - nichts über ein Lächeln

Gesicht.jpeg
LED leuchten.gif

Covid 19 regiert die Welt und die Masken sind die Symptome dieser Krankheit in der Gesellschaft. Etwas sehr wichtiges bleibt auf der Strecke: Das Lachen der Menschen. Durch Die Masken bleibt das lachen verborgen. Dabei ist lachen gesund, macht Spass und ist ansteckend. Aus diesem Grund hat sich Team Dynamit überlegt das lachen in einem ersten Versuch mit dem Arduino und dem Zusatz DIY Muscle SpikerShield von Backyard Brain zu messen.

Ziel:

Das Signal von der Wangenmuskulatur (Lachmuskulatur) detektieren. Die Lampen von den Brainshield Modul sollen aufleuchten.

Material:

  • Arduino + Brainshield
  • EKG Elektroden

Vorgehen:

Es wurden exakt die gleichen Schritte durchgeführt wie auf der Anleitung von Backyard Brain beschrieben. Die Codierung für den Arduino kann dort runter geladen werden. Die EKG Elektroden werden links und rechts der Nase auf die Wange geklebt. Die beiden Elektroden werden mit dem roten Kabel belegt, das schwarze Kabel muss in der Faust gehalten werden. Jedes mal wenn der Proband nun lächelt sollten die LED's aufleuchten. Tipp: Falls die LED's auf dem Muscle Shield immer Leuchten oder nicht aufleuchten bei anspannung der Lachmuskeln,

Resultate:

Die Beschriebene Anleitung von Backyard Brain verweist darauf den unter respektive den Oberarm mit den Elektroden zu bestücken und zu messen. Es hat sich gezeigt dass das gleiche Prinzipp auf die Lachmuskulatur anwendebar ist. Das Signal der Muskeln kann nach den Erfahrungen von Team Dynamit sogar besser im Gesicht detektiert werden als wie in der Anleitung beschrieben auf dem Arm.

Hack 1 - nichts über ein Lächeln (Teil2)

LED smile.jpeg
Holz smile.jpeg
LED smile gelötet.jpeg
Smile smile-gif.gif

Es stellt sich die Frage wie man jemand anderen, der nicht direkt auf das Gesicht schauen kann, die Mimik des Gegenübers erfährt. Team Dynamit hat das Problem wie folgt gelöst:

Ziel:

Das aufgenommene Signal aus Hack0 umwandeln in ein visuelles Signal. Das visuelle Signal solle anderen zeigen ob unter der Maske sich ein lächeln verbirgt oder nicht.

Material:

  • Platine
  • Ausgeschnittenes Gesicht
  • 10 LED’s
  • Lötzeug
  • Arduino + Brainshield
  • EKG Elektroden

Vorgehen:

Auf der Platine werden die 10 LED's in Form eines lachen aufgetragen. Auf der hinteren Seite werden die LED's in 5 verschiedene Stromkreise unterteilt und demnach angelötet. Die beiden äussersten LED's bilden einen einzelnen Stromkreis, die beiden zweitäussersten ebenfalls usw. Auf die LED Platine wird ein Gsicht geklebt (optional). Die verschiedenen Stromkreise werden einzeln mit dem Arduino verbunden. Um die Eingehende Signale der Gesicht Muskulatur mit den LED's zu verknüpfen wird folgender Arduino Code geladen:

#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};
byte leds[] = {3,4,5,6,7};

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

Resultate:

Es kann festgestellt werden das wenn die Gesichtmuskulatur angespannt ist, die LED's auf der Platine anfangen zu leuchten. Die äussersten LED's leuchten nur dann wenn die "Lachmuskeln" richtig angespannt sind. Sihe GIF Smile Smile. Bei kleineren Anstrengungen scheint es, das die LED's willkürlich aufleuchten. Es muss untersucht werden wieso dies geschieht. Es wird angenommen das die Messung zu sensitiv ist.

Hack 2 - nichts über ein Lächeln (Teil 3)

Im dritten Hack wird versucht die ganze Angelegenheit in eine Maske unterzubringen. Ziel ist es, das wenn unter der Maske gelächelt wird, eine Signalisation auf der Maske ersichtlich ist.

Material:

  • FFP1-Maske
  • Isolierband
  • 10 LED’s
  • Lötzeug
  • Arduino + Brainshield
  • EKG Elektroden

Vorgehen:

Von Hack 2 wird der Maschinencode für das Arduino übernommen. Die Maske wird auf der getragenen Seit mit Isolierband begeklebt. Die 10 LED’s werden in Form von einem lachenden Mund in die Maske gesteckt. Dabei wird darauf geachtet dass das kurze Ende der LED’s immer auf die gleiche Seite schaut. Die LED’s werden miteinander verlötet so das 5 verschieden Stromkreise entstehen. Die 2 äussersten LED’s bilden einen Stromkreis die 2 zweitäussersten usw. Die vorbereitete Maske wird an das Aurduino (Brainshield) angesteckt.

Resultate:

Die Maske ist ein voller Erfolg. Desto stärker der Maskenträger seine Lachmuskeln anstrengt, desto stärker ist das Signal der

Experimente und Prototpen