Team Da Vintschi

From Hackteria Wiki
Revision as of 15:10, 15 September 2021 by Tqhuber (talk | contribs) (Erste Versuche)
Jump to: navigation, search
Logo Team Da Vintschi.png


Teammitglieder

Sandro Gantner

mini
Alter: 25
Wohnort: Wädenswil
Studiengang: Medizintechnik
Erlernter Beruf: Elektroniker
Hobbys: Handball, Skifahren

Kilian Huber

mini
Alter: 24
Wohnort: Boswil
Studiengang: Medizintechnik
Erlernter Beruf: Elektroniker
Hobbys: Jungwacht, Gängelimusik Muri

André Jaun

mini
Alter: 25
Wohnort: Erstfeld
Studiengang: Maschinentechnik
Erlernter Beruf: Polymechaniker
Hobbys: Wandern, Musik machen

Vorbereitung Blockwoche

Reflexion

In diesem Abschnitt kann die Reflexion zur Vorbereitung der Blockwoche gelesen werden.

Biotechnologie für alle

Der Text zeigt, wie biotechnologische Forschung heutzutage nicht mehr nur in spezialisierten Labors stattfindet, sondern mit wenigen und einfachen Mitteln fast jede Person Laborinstrumente selber bauen kann. Für Andere bringt diese Entwicklung allerdings mehr Gefahren als Chancen mit sich, da die Labore schnell für Missbräuche verwendet werden können. Hingegen Chancen werden gesehen bei Entwicklungsländern, welche teilweise noch keine Labore besitzen wie in westlichen Ländern. Ohne finanziellen Möglichkeiten ist man so trotzdem in der Lage biotechnologische Forschung zu betreiben. Anhand von Workshops wird diese DIY-Kultur weltweit verbreitet. In dieser Kultur ist man ständig im Austausch, gibt sein Wissen weiter und lernt immer wieder neues dazu von anderen Menschen.

How to control someone

Greg Gages Vision ist es die Hirnforschung für jederman zugänglich zu machen. Auf Youtube gibt es dazu eine Aufnahmen von Greg an einer Demo, bei welcher er einen einfachen, kostengünstigen DIY-Bausatz verwendet, um einem Zuschauer den freien Willen zu nehmen. Das Experiment basiert auf die chemischen und elektronischen Vorgänge im Körper, welche mittels des Bausatz ermittelt und übertragen werden.

Open Source

Unter Open Source verstehet man das Teilen von Daten, Wissen, etc. mit der Öffentlichkeit. So können Drittpersonen auf diese Quellen zugreifen, diese für sich selbst verwenden und auf eigene Wünsche/Bedürfnisse anpassen. Auch können die geteilten Informationen fortlaufend weiterenteickelt werden.

Arduino

Diese Open-Source-Elektronikplattform basiert auf benutzerfreundlicher Hardware und Software. Ein grosses Ziel dabei ist, interaktive Projekte zu erstellen. Anhand des Arduino-Boards ist man in der Lage Eingaben zu lesen (z.B. Flüssigkeit auf einem Sensor, das Betätigen einer Taste, etc.) und sie in einen Ausgang umzuwandeln (einen Pumpe zu aktivieren, eine Lampe einzuschalten, etc.). Zusätzlich, kann mit Hilfe der Software und der Programmiersprache "Arduino" eine Reihe von Anweisungen an den Mikrokontroller des Boards gesendet werden, um so komplexe Abläufe zu erstellen.

Hack 0 "DIY Muscle SpikerShield"

Einleitung

EMG bedeutet Elektromyografie und ist eine neurologische Untersuchung, bei der die natürliche elektrische Aktivität eines Muskels gemessen werden. Das Ziel dieses Experiments ist es mit Hilfe eines SpikerShield-Kit und eines Arduino UNOs, EMG-Signale zu messen. In diesem Abschnitt erfahrt man, wie das Kit aufgebaut und verwendet wurde.

Löten

Für das Experiment mit dem Muscle SpikerShield Kit, mussten zuerst die Muscle Spike Platine mit den in dem Kit enthaltenen Einzelteilen auf die Platine gelötet werden. Zuerst wurde versucht die Einzelteile durch eine schon vorgefertigte Platine zu bestücken. Leider stellte sich heraus das die Vorlageplatine falsch bestückt wurde. Somit wechselten wir von der Vorlage zur Anleitung, welche sich auf der Webseite Backyard Brain befand. Mit der Hilfe der Anleitung konnte eine funktionstaugliche Platine gefertigt werden.

Arduino UNO & Entwicklungsumgebung

Das Board verfügt über 14 digitale I/O-Pins (sechs mit PWM- Ausgang), 6 analoge I/O-Pins und ist mit der Arduino IDE (Integrated Development Environment) über ein USB-Kabel vom Typ B programmierbar.

Das Arduino UNO ist ein Mikrocontroller-Boards (ATmega328P). Dieses Board besitzt mehrere digitale und analoge Input/Output-Pins. Man kann zusätzlich verschiedenen Erweiterungsboards (Shields) anschliessen und daher mit anderen Schaltkreisen verbinden. Es kann über das USB-Kabel oder eine externe 9-Volt-Batterie mit Strom versorgt werden , obwohl es Spannungen zwischen 7 und 20 Volt akzeptiert.


1. Symbolleiste für Schnellzugriff häufig verwendeter Funktionen
2. Programmieroberfläche
3. Informationsoberfläche mit Hinweisen zu eventuellen Fehlern und genutztem Speicher
4. Information zu angeschlossenem Arduino Board und verwendetem COM Port

Um ein Arduino-Board zu programmieren, benötigt es die integrierte Entwicklungsumgebung (IDE) "Arduino". Es handelt sich um eine Java-Anwendung, die für die gängigen Plattformen Windows, Linux und macOS kostenlos verfügbar ist. Man kann sie für verschiedene Einsatzbereiche verwenden wie: Grafik, Simulation und Animation. Die Arduino-IDE besitzt einen Code-Editor und es müssen nur zwei Funktionen definiert werden, damit ein funktionstüchtiges Programm entsteht:

  • setup() – wird beim Start des Programms einmalig aufgerufen, um z. B. Pins als Eingang oder Ausgang zu definieren.
  • loop() – wird fortlaufend und immer wieder durchgeführt, solange das Board eingeschaltet ist.


Programmierung

Nachfolgen ist das benötigende Arduino-Programm, welches von der Internetseite "BACKYARDBRAINS" heruntergeladen wurde, zu sehen. Nach dem Download musste es in der Entwicklungsumgbung "Arduino" geöffnet und uploadet werden.

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


Durchführung Funktionstest

Der Funktionstest des Muscle SpikerShields wurde nach Anleitung des Herstellers durchgeführt. Als Vorbereitung wurden zwei Elektroden an der Innenseite des Unterarms und eine Elektrode am Handrücken angebracht. Die Elektroden wurden per Kabel mit dem Muscle SpikerShield verbunden. Anschliessen haben wir den fertigen Programmcode aus der Anleitung auf das Arduino-Board geladen. Das Programm wurde gestartet und die Unterarmmuskulatur war zu diesem Zeitpunkt entspannt. Aus diesem Grund leuchtete zu Beginn nur die grüne LED (keine bis schwache Muskelanspannung). Sobald nun der Unterarm angespannt wurde, konnte die Stärke der Anspannung an den LEDs (grün, orange, rot) abgelesen werden. Zusätzlich konnten in der Arduino IDE die Analogwerte ausgelesen werden. Je mehr Muskelaktivität vorhanden war, desto grösser war der Analogwert. Das Experiment zeigte, dass das Muscle SpikerShield funktionsfähig ist und richtig bestückt wurde. Dieses Shield ermöglicht beispielsweise die Ansteuerung von Aktoren anhand der Muskelaktivität eines Menschen.

Beispiel: Keine Bewegung
Resultat: Nur grüne LEDs leuchten, kein Ton vorhanden
Beispiel: Bewegung
Resultat: Bis und mit rote LEDs leuchten, Ton als Rauschen vorhanden


Hack 1 "Falsches Sitzen"

Einführung

Während dem Arbeiten im Büro, in der Schule, etc. sitzt man sehr viel. Dabei nimmt man schnell eine bequeme Haltung ein, welche jedoch nicht immer gut ist. Durch falsches Sitzen können mehrere Beschwerden auftretten/entstehen wie zum Beispiel: Schmerzen oder Probleme mit den Gelenken, Abklemmen der Nerven und Adern, Gewebe-Reizung und viele mehr. Daher überlegten wir in dem Team, wie man dies verhindern kann. Rasch fanden wir eine grobe Idee: Man muss den Mensch bei zu starker Beugung darauf aufmerksam machen. Wie genau das gemacht wird, erfährt man in den nächsten Unterkaptel.

Prototyp

Der Prototyp besteht grundsätzlich aus einem Dehnmessstreifen, einem Arduino UNO und einem Motor. Teilweise werden noch weiter elektronische Bauteile benötigt (siehe "Schema"). Dabei wird die Beugung beim Sitzen anhand des Dehnmessstreifen ermittelt und anschliessend wird die Person mit der Rotation des Motors darauf aufmerksam gemacht, wann ein bestimmter Schwellwert überschritten wurde. Das Messen und Verarbeiten der Daten wir mit Hilfe des Arduino UNOs ausgeführt. Um alles zu testen bauten wir den Prototypen auf einem Steckboard auf.

Prototyp
Schema
D1: Dehnmessstreifen
T1: Transistor
M1: Elektromoter
R1: ...Ohm Widerstand
R2: ...Ohm Widerstand
R3: ...Ohm Widerstand


Erste Versuche