http://www.hackteria.org/wiki/api.php?action=feedcontributions&user=Robin.schaumlechner&feedformat=atomHackteria Wiki - User contributions [en]2024-03-28T19:28:00ZUser contributionsMediaWiki 1.28.0http://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45436Team Auslöten2021-09-23T11:48:29Z<p>Robin.schaumlechner: /* Code */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team "Auslöten". Auf dieser Seite werden die Ergebnisse der Blockwoche "MEdtech DIY" vorgestellt. Die Daten unserer Projekte werden hier zur Verfügung gestellt, wenn man diese nachbauen möchte. Wir wünschen viel Vergnügen!<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
Gehäuse: [[:File:co2-Messgerät-Gehäuse.svg]]<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich durch eine Hohe Genauigkeit aus.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
Weiterführende Infos zum Messprinzip findet man hier: [https://www.sensirion.com/de/ueber-uns/unternehmen/pasensr-technologie/ Sensirion SCD41 Messprinzip]<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
<br />
<br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br />
<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden mit jeweils einem 220 Ohm Vorwiderstand auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
Rückschläge gehören auch dazu, eines davon ist die Vorderseite der Hülle. Beim ersten Versuch haben wir keine Löcher für die LED's und den Sensor eingeplant. Beim zweiten Versuch war der Fehler, eine Einstellung vor dem Lasern. Beim dritten Versuch war alles ausser den Augen vom Totenkopf gut. Da hätten wir zwei Linien für die Augen machen müssen, das haben wir dann schlussendlich nicht mehr korrigiert. Das Messen funktioniert, somit das wichtigste am Laufen. <br />
<br />
[[File:vorn1.jpeg|250px]]<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
====Kurzbeschreibung====<br />
Der Drawbot braucht für den Antrieb zwei 42 Schrittmotoren und einen Servo, dazu braucht er noch ein Arduino. Die Teile können mit dem 3D-Drucker gedruckt werden. Ziel respektive Funktion von diesem Drawbot ist das Schreiben und Zeichnen. Da wir keine passenden Riemen gefunden haben, war hier die Ausführung schwer und auch zeitlich ein wenig knapp. Deshalb haben wir 2 kleine Hacks gemacht, welche noch vorgestellt werden.<br />
<br />
Youtube Video, wie es aussehen könnte:<br />
<br />
{{#widget:YouTube|id=tPbYbp5LPhs}}<br />
<br />
Für weitere Informationen zum Hack hier zum Link. [https://thingiverse.com/thing:3096135/ Drawbot]<br />
<br />
===Krawatte===<br />
====Kurzbeschreibung====<br />
<br />
Da uns der Lasercutter und dessen Fertigungsprozess interessiert hat, haben wir nach verschiedene Objekte gesucht. Bei der Suche haben wir diese Krawatte (Bild unten) gefunden und haben diese gelasert. Faszinierend wie das Material, welches einst stabil und fest war zu so beweglich verändert werden konnte. <br />
<br />
[[File:krawatte2.jpeg|200px]]<br />
<br />
===Stoppuhr===<br />
====Kurzbeschreibung====<br />
Für die Stoppuhr haben wir ein Arduino, eine vierstellige Sieben-Segment-Anzeige, zwei Taster und ein Breadboard gebraucht. Dieses Hack brauchte nicht viele Komponente, daher haben wir diese auch einfach gefunden und konnten es durchführen. Die Funktion ist ziemlich einfach. Zuerst zeigt die Stoppuhr einfach nur vier Nullen an. Wenn der Start-Taster gedrückt wird, fängt die Segmentanzeige an, Sekunden hochzuzählen. Drückt man den Zwischenzeit-Taster, stoppt die Zeit auf dem Display. Im Hintergrund wird aber weitergezählt. Ein erneuter Druck auf den Zwischenzeit-Taster zeigt wieder die aktuell laufende Zeit an. Drückt man den Start-Taster, stoppt die Uhr sowohl im Display, als auch im Hintergrund. Nun kann man die Uhr entweder per Druck auf den Zwischenzeit-Taster weiterlaufen lassen oder durch erneuten Druck auf den Start-Taster auf Null zurücksetzen. Diese Stoppuhr könnte man nun vertiefen in einen weiteren Hack. <br />
<br />
<br />
[[File:stoppuhr2.jpeg|250px]]<br />
<br />
====Code====<br />
<br />
<pre><br />
<br />
#include <TM1637Display.h><br />
<br />
#define numberOfSeconds(_time_) ((_time_ / 1000) % 60)<br />
#define numberOfMinutes(_time_) (((_time_ / 1000) / 60) % 60)<br />
<br />
int startPin = 9; // start, stop, delete<br />
int zwischenzeitPin = 8; // pause, continue<br />
<br />
int stateStart;<br />
int stateZwischenzeit;<br />
<br />
int lastStateStart;<br />
int lastStateZwischenzeit;<br />
<br />
int programState = 0;<br />
<br />
unsigned long startZeit = 0;<br />
long zwischenzeit = 0;<br />
long zeitAngehalten = 0;<br />
<br />
TM1637Display display(2, 3);<br />
<br />
void setup() {<br />
Serial.begin(115200);<br />
<br />
pinMode(startPin, INPUT_PULLUP);<br />
pinMode(zwischenzeitPin, INPUT_PULLUP);<br />
<br />
// Set brightness<br />
display.setBrightness(0x0c);<br />
<br />
}<br />
<br />
void showTime(long theTime) {<br />
<br />
unsigned long myTime = theTime - startZeit;<br />
<br />
int seconds = numberOfSeconds(myTime);<br />
int minutes = numberOfMinutes(myTime);<br />
<br />
display.showNumberDecEx(seconds, 0, true, 2, 2);<br />
if (seconds % 2 == 0) {<br />
display.showNumberDecEx(minutes, 0b01000000, true, 2, 0);<br />
} else {<br />
display.showNumberDecEx(minutes, 0, true, 2, 0);<br />
}<br />
}<br />
<br />
void loop() {<br />
<br />
stateStart = digitalRead(startPin);<br />
stateZwischenzeit = digitalRead(zwischenzeitPin);<br />
<br />
switch (programState) {<br />
case 0: // gestoppt<br />
startZeit = 0;<br />
display.showNumberDecEx(0, 0b01000000, true, 2, 2);<br />
display.showNumberDecEx(0, 0b01000000, true, 2, 0);<br />
// start<br />
if ((stateStart == LOW) && (stateStart != lastStateStart)) {<br />
startZeit = millis();<br />
programState = 1;<br />
}<br />
break;<br />
case 1: // gestartet<br />
showTime(millis());<br />
// zwischenzeit<br />
if ((stateZwischenzeit == LOW) && (stateZwischenzeit != lastStateZwischenzeit)) {<br />
zwischenzeit = millis();<br />
programState = 2;<br />
}<br />
// stop<br />
if ((stateStart == LOW) && (stateStart != lastStateStart)) {<br />
zeitAngehalten = millis();<br />
programState = 3;<br />
}<br />
break;<br />
case 2: // zwischenzeit<br />
showTime(zwischenzeit);<br />
// zwischenzeit ausblenden<br />
if ((stateZwischenzeit == LOW) && (stateZwischenzeit != lastStateZwischenzeit)) {<br />
programState = 1;<br />
}<br />
break;<br />
case 3: // gestoppt<br />
// weiter laufen lassen<br />
if ((stateZwischenzeit == LOW) && (stateZwischenzeit != lastStateZwischenzeit)) {<br />
startZeit = startZeit + (millis() - zeitAngehalten);<br />
programState = 1;<br />
}<br />
// löschen<br />
if ((stateStart == LOW) && (stateStart != lastStateStart)) {<br />
programState = 0;<br />
}<br />
break;<br />
}<br />
<br />
lastStateStart = stateStart;<br />
lastStateZwischenzeit = stateZwischenzeit;<br />
<br />
}<br />
<br />
</pre><br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
Zu einem drahtlosen Herzfrequenzmesser am Handgelenk haben wir eine Recherche durchgeführt, aber hatten nicht alle Komponenten vor Ort. Für diesen Hack hätten wir die Komponenten uECG, Arduino nano, nRF24-Chip, Batterie und LED-Ring gebraucht. uECG misst die Daten und berechnet die BPM. Im Direktverbindungsmodus sendet es alle Informationen (ECG-Daten) über ein Funkprotokoll, das mit dem generischen nRF24-Chip kompartibel ist. Die Verwendung von einem Arduino nano ist sehr praktisch, da es genau unter den LED-Ring passt. <br />
<br />
[[File:Bildschirmfoto 2021-09-17 um 22.52.01.png|200px]]<br />
<br />
Youtube Video, wie es aussehen könnte:<br />
<br />
{{#widget:YouTube|id=GZ2qYeTa760}}<br />
<br />
====Code====<br />
<br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce/ Heart-rate-monitor]<br />
<br />
===Car===<br />
====Kurzbeschreibung====<br />
[https://thingiverse.com/thing:2653508/ Street racing car] ist ein Projekt, welches in einer Woche gut durchgeführt werden kann. Die meisten Teile können mit dem 3D-Drucker hergestellt werden. Diesen Hack haben wir erst in einer späteren Recherche gefunden, daher konnte dieser Hack auf Grund der Zeit nicht durchgeführt werden. <br />
<br />
<br />
[[File:Bildschirmfoto 2021-09-17 um 23.22.09.png|200px]]<br />
<br />
== Reflexion ==<br />
<br />
Die Gruppe Auslöten hat während der Blockwoche "Medizintechnik DIY" einen funktionsfähigen CO2 Detektor entwickelt. Die "Anleitung" dazu findet ihr auf unserer Gruppen Homepage und kann ganz einfach nachgebaut werden. Wir haben ebenfalls für weitere Projekte recherchiert, welche ihr bei uns auf der Homepage findet. Die Blockwoche hat uns allen sehr gut gefallen. Wir konnten unsere Ideen durch die freie Arbeitsweise gut umsetzen und einiges neues dazu lernen. Vor allem das Lasercutten war für alle etwas neues. Zu dem lernten wir auch noch mehr über die DIY Kultur und werden in Zukunft versuchen unser Wissen so weiter zugeben. Denn nur wenn man Wissen teilt, verdoppelt es sich!<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45435Team Auslöten2021-09-23T11:47:26Z<p>Robin.schaumlechner: /* Code */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team "Auslöten". Auf dieser Seite werden die Ergebnisse der Blockwoche "MEdtech DIY" vorgestellt. Die Daten unserer Projekte werden hier zur Verfügung gestellt, wenn man diese nachbauen möchte. Wir wünschen viel Vergnügen!<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
Gehäuse: [[:File:co2-Messgerät-Gehäuse.svg]]<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich durch eine Hohe Genauigkeit aus.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
Weiterführende Infos zum Messprinzip findet man hier: [https://www.sensirion.com/de/ueber-uns/unternehmen/pasensr-technologie/ Sensirion SCD41 Messprinzip]<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
<br />
<br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br />
<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden mit jeweils einem 220 Ohm Vorwiderstand auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
Rückschläge gehören auch dazu, eines davon ist die Vorderseite der Hülle. Beim ersten Versuch haben wir keine Löcher für die LED's und den Sensor eingeplant. Beim zweiten Versuch war der Fehler, eine Einstellung vor dem Lasern. Beim dritten Versuch war alles ausser den Augen vom Totenkopf gut. Da hätten wir zwei Linien für die Augen machen müssen, das haben wir dann schlussendlich nicht mehr korrigiert. Das Messen funktioniert, somit das wichtigste am Laufen. <br />
<br />
[[File:vorn1.jpeg|250px]]<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
====Kurzbeschreibung====<br />
Der Drawbot braucht für den Antrieb zwei 42 Schrittmotoren und einen Servo, dazu braucht er noch ein Arduino. Die Teile können mit dem 3D-Drucker gedruckt werden. Ziel respektive Funktion von diesem Drawbot ist das Schreiben und Zeichnen. Da wir keine passenden Riemen gefunden haben, war hier die Ausführung schwer und auch zeitlich ein wenig knapp. Deshalb haben wir 2 kleine Hacks gemacht, welche noch vorgestellt werden.<br />
<br />
Youtube Video, wie es aussehen könnte:<br />
<br />
{{#widget:YouTube|id=tPbYbp5LPhs}}<br />
<br />
Für weitere Informationen zum Hack hier zum Link. [https://thingiverse.com/thing:3096135/ Drawbot]<br />
<br />
===Krawatte===<br />
====Kurzbeschreibung====<br />
<br />
Da uns der Lasercutter und dessen Fertigungsprozess interessiert hat, haben wir nach verschiedene Objekte gesucht. Bei der Suche haben wir diese Krawatte (Bild unten) gefunden und haben diese gelasert. Faszinierend wie das Material, welches einst stabil und fest war zu so beweglich verändert werden konnte. <br />
<br />
[[File:krawatte2.jpeg|200px]]<br />
<br />
===Stoppuhr===<br />
====Kurzbeschreibung====<br />
Für die Stoppuhr haben wir ein Arduino, eine vierstellige Sieben-Segment-Anzeige, zwei Taster und ein Breadboard gebraucht. Dieses Hack brauchte nicht viele Komponente, daher haben wir diese auch einfach gefunden und konnten es durchführen. Die Funktion ist ziemlich einfach. Zuerst zeigt die Stoppuhr einfach nur vier Nullen an. Wenn der Start-Taster gedrückt wird, fängt die Segmentanzeige an, Sekunden hochzuzählen. Drückt man den Zwischenzeit-Taster, stoppt die Zeit auf dem Display. Im Hintergrund wird aber weitergezählt. Ein erneuter Druck auf den Zwischenzeit-Taster zeigt wieder die aktuell laufende Zeit an. Drückt man den Start-Taster, stoppt die Uhr sowohl im Display, als auch im Hintergrund. Nun kann man die Uhr entweder per Druck auf den Zwischenzeit-Taster weiterlaufen lassen oder durch erneuten Druck auf den Start-Taster auf Null zurücksetzen. Diese Stoppuhr könnte man nun vertiefen in einen weiteren Hack. <br />
<br />
<br />
[[File:stoppuhr2.jpeg|250px]]<br />
<br />
====Code====<br />
<br />
<pre><br />
<br />
#include <LiquidCrystal_I2C.h><br />
LiquidCrystal_I2C lcd(0x27, 16, 2);<br />
unsigned long start, finished, elapsed;<br />
void setup()<br />
{<br />
lcd.begin();<br />
lcd.backlight();<br />
lcd.clear();<br />
lcd.setCursor(0,0);<br />
lcd.print("(1) START/RESET");<br />
lcd.setCursor(0,1);<br />
lcd.print("(2) STOPP");<br />
pinMode(2, INPUT); //Starttaste<br />
pinMode(3, INPUT); //Stopptaste<br />
}<br />
void displayResult(){<br />
int s, ms;<br />
unsigned long over;<br />
elapsed = finished - start;<br />
over = elapsed % 3600000;<br />
over = over % 60000;<br />
s = int(over / 1000);<br />
ms = over % 1000;<br />
lcd.print(s);<br />
lcd.print("s ");<br />
lcd.print(ms);<br />
lcd.print("ms");<br />
}<br />
void loop(){<br />
if (digitalRead(2) == HIGH)<br />
{<br />
start = millis();<br />
lcd.clear();<br />
lcd.setCursor(0,0);<br />
lcd.print("GESTARTET ...");<br />
lcd.setCursor(0,1);<br />
}<br />
if (digitalRead(3) == HIGH)<br />
{<br />
finished = millis();<br />
delay(200);<br />
displayResult();<br />
}<br />
}<br />
<br />
</pre><br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
Zu einem drahtlosen Herzfrequenzmesser am Handgelenk haben wir eine Recherche durchgeführt, aber hatten nicht alle Komponenten vor Ort. Für diesen Hack hätten wir die Komponenten uECG, Arduino nano, nRF24-Chip, Batterie und LED-Ring gebraucht. uECG misst die Daten und berechnet die BPM. Im Direktverbindungsmodus sendet es alle Informationen (ECG-Daten) über ein Funkprotokoll, das mit dem generischen nRF24-Chip kompartibel ist. Die Verwendung von einem Arduino nano ist sehr praktisch, da es genau unter den LED-Ring passt. <br />
<br />
[[File:Bildschirmfoto 2021-09-17 um 22.52.01.png|200px]]<br />
<br />
Youtube Video, wie es aussehen könnte:<br />
<br />
{{#widget:YouTube|id=GZ2qYeTa760}}<br />
<br />
====Code====<br />
<br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce/ Heart-rate-monitor]<br />
<br />
===Car===<br />
====Kurzbeschreibung====<br />
[https://thingiverse.com/thing:2653508/ Street racing car] ist ein Projekt, welches in einer Woche gut durchgeführt werden kann. Die meisten Teile können mit dem 3D-Drucker hergestellt werden. Diesen Hack haben wir erst in einer späteren Recherche gefunden, daher konnte dieser Hack auf Grund der Zeit nicht durchgeführt werden. <br />
<br />
<br />
[[File:Bildschirmfoto 2021-09-17 um 23.22.09.png|200px]]<br />
<br />
== Reflexion ==<br />
<br />
Die Gruppe Auslöten hat während der Blockwoche "Medizintechnik DIY" einen funktionsfähigen CO2 Detektor entwickelt. Die "Anleitung" dazu findet ihr auf unserer Gruppen Homepage und kann ganz einfach nachgebaut werden. Wir haben ebenfalls für weitere Projekte recherchiert, welche ihr bei uns auf der Homepage findet. Die Blockwoche hat uns allen sehr gut gefallen. Wir konnten unsere Ideen durch die freie Arbeitsweise gut umsetzen und einiges neues dazu lernen. Vor allem das Lasercutten war für alle etwas neues. Zu dem lernten wir auch noch mehr über die DIY Kultur und werden in Zukunft versuchen unser Wissen so weiter zugeben. Denn nur wenn man Wissen teilt, verdoppelt es sich!<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45434Team Auslöten2021-09-23T11:45:12Z<p>Robin.schaumlechner: /* Code */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team "Auslöten". Auf dieser Seite werden die Ergebnisse der Blockwoche "MEdtech DIY" vorgestellt. Die Daten unserer Projekte werden hier zur Verfügung gestellt, wenn man diese nachbauen möchte. Wir wünschen viel Vergnügen!<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
Gehäuse: [[:File:co2-Messgerät-Gehäuse.svg]]<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich durch eine Hohe Genauigkeit aus.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
Weiterführende Infos zum Messprinzip findet man hier: [https://www.sensirion.com/de/ueber-uns/unternehmen/pasensr-technologie/ Sensirion SCD41 Messprinzip]<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
<br />
<br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br />
<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden mit jeweils einem 220 Ohm Vorwiderstand auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
Rückschläge gehören auch dazu, eines davon ist die Vorderseite der Hülle. Beim ersten Versuch haben wir keine Löcher für die LED's und den Sensor eingeplant. Beim zweiten Versuch war der Fehler, eine Einstellung vor dem Lasern. Beim dritten Versuch war alles ausser den Augen vom Totenkopf gut. Da hätten wir zwei Linien für die Augen machen müssen, das haben wir dann schlussendlich nicht mehr korrigiert. Das Messen funktioniert, somit das wichtigste am Laufen. <br />
<br />
[[File:vorn1.jpeg|250px]]<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
====Kurzbeschreibung====<br />
Der Drawbot braucht für den Antrieb zwei 42 Schrittmotoren und einen Servo, dazu braucht er noch ein Arduino. Die Teile können mit dem 3D-Drucker gedruckt werden. Ziel respektive Funktion von diesem Drawbot ist das Schreiben und Zeichnen. Da wir keine passenden Riemen gefunden haben, war hier die Ausführung schwer und auch zeitlich ein wenig knapp. Deshalb haben wir 2 kleine Hacks gemacht, welche noch vorgestellt werden.<br />
<br />
Youtube Video, wie es aussehen könnte:<br />
<br />
{{#widget:YouTube|id=tPbYbp5LPhs}}<br />
<br />
Für weitere Informationen zum Hack hier zum Link. [https://thingiverse.com/thing:3096135/ Drawbot]<br />
<br />
===Krawatte===<br />
====Kurzbeschreibung====<br />
<br />
Da uns der Lasercutter und dessen Fertigungsprozess interessiert hat, haben wir nach verschiedene Objekte gesucht. Bei der Suche haben wir diese Krawatte (Bild unten) gefunden und haben diese gelasert. Faszinierend wie das Material, welches einst stabil und fest war zu so beweglich verändert werden konnte. <br />
<br />
[[File:krawatte2.jpeg|200px]]<br />
<br />
===Stoppuhr===<br />
====Kurzbeschreibung====<br />
Für die Stoppuhr haben wir ein Arduino, eine vierstellige Sieben-Segment-Anzeige, zwei Taster und ein Breadboard gebraucht. Dieses Hack brauchte nicht viele Komponente, daher haben wir diese auch einfach gefunden und konnten es durchführen. Die Funktion ist ziemlich einfach. Zuerst zeigt die Stoppuhr einfach nur vier Nullen an. Wenn der Start-Taster gedrückt wird, fängt die Segmentanzeige an, Sekunden hochzuzählen. Drückt man den Zwischenzeit-Taster, stoppt die Zeit auf dem Display. Im Hintergrund wird aber weitergezählt. Ein erneuter Druck auf den Zwischenzeit-Taster zeigt wieder die aktuell laufende Zeit an. Drückt man den Start-Taster, stoppt die Uhr sowohl im Display, als auch im Hintergrund. Nun kann man die Uhr entweder per Druck auf den Zwischenzeit-Taster weiterlaufen lassen oder durch erneuten Druck auf den Start-Taster auf Null zurücksetzen. Diese Stoppuhr könnte man nun vertiefen in einen weiteren Hack. <br />
<br />
<br />
[[File:stoppuhr2.jpeg|250px]]<br />
<br />
====Code====<br />
<br />
<pre><br />
<br />
#include <LiquidCrystal_I2C.h><br />
LiquidCrystal_I2C lcd(0x27, 16, 2);<br />
unsigned long start, finished, elapsed;<br />
void setup()<br />
{<br />
lcd.begin();<br />
lcd.backlight();<br />
lcd.clear();<br />
lcd.setCursor(0,0);<br />
lcd.print("(1) START/RESET");<br />
lcd.setCursor(0,1);<br />
lcd.print("(2) STOPP");<br />
pinMode(2, INPUT); //Starttaste<br />
pinMode(3, INPUT); //Stopptaste<br />
}<br />
void displayResult(){<br />
int s, ms;<br />
unsigned long over;<br />
elapsed = finished - start;<br />
over = elapsed % 3600000;<br />
over = over % 60000;<br />
s = int(over / 1000);<br />
ms = over % 1000;<br />
lcd.print(s);<br />
lcd.print("s ");<br />
lcd.print(ms);<br />
lcd.print("ms");<br />
}<br />
void loop(){<br />
if (digitalRead(2) == HIGH)<br />
{<br />
start = millis();<br />
lcd.clear();<br />
lcd.setCursor(0,0);<br />
lcd.print("GESTARTET ...");<br />
lcd.setCursor(0,1);<br />
}<br />
if (digitalRead(3) == HIGH)<br />
{<br />
finished = millis();<br />
delay(200);<br />
displayResult();<br />
}<br />
}<br />
<br />
</pre><br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
Zu einem drahtlosen Herzfrequenzmesser am Handgelenk haben wir eine Recherche durchgeführt, aber hatten nicht alle Komponenten vor Ort. Für diesen Hack hätten wir die Komponenten uECG, Arduino nano, nRF24-Chip, Batterie und LED-Ring gebraucht. uECG misst die Daten und berechnet die BPM. Im Direktverbindungsmodus sendet es alle Informationen (ECG-Daten) über ein Funkprotokoll, das mit dem generischen nRF24-Chip kompartibel ist. Die Verwendung von einem Arduino nano ist sehr praktisch, da es genau unter den LED-Ring passt. <br />
<br />
[[File:Bildschirmfoto 2021-09-17 um 22.52.01.png|200px]]<br />
<br />
Youtube Video, wie es aussehen könnte:<br />
<br />
{{#widget:YouTube|id=GZ2qYeTa760}}<br />
<br />
====Code====<br />
<br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce/ Heart-rate-monitor]<br />
<br />
===Car===<br />
====Kurzbeschreibung====<br />
[https://thingiverse.com/thing:2653508/ Street racing car] ist ein Projekt, welches in einer Woche gut durchgeführt werden kann. Die meisten Teile können mit dem 3D-Drucker hergestellt werden. Diesen Hack haben wir erst in einer späteren Recherche gefunden, daher konnte dieser Hack auf Grund der Zeit nicht durchgeführt werden. <br />
<br />
<br />
[[File:Bildschirmfoto 2021-09-17 um 23.22.09.png|200px]]<br />
<br />
== Reflexion ==<br />
<br />
Die Gruppe Auslöten hat während der Blockwoche "Medizintechnik DIY" einen funktionsfähigen CO2 Detektor entwickelt. Die "Anleitung" dazu findet ihr auf unserer Gruppen Homepage und kann ganz einfach nachgebaut werden. Wir haben ebenfalls für weitere Projekte recherchiert, welche ihr bei uns auf der Homepage findet. Die Blockwoche hat uns allen sehr gut gefallen. Wir konnten unsere Ideen durch die freie Arbeitsweise gut umsetzen und einiges neues dazu lernen. Vor allem das Lasercutten war für alle etwas neues. Zu dem lernten wir auch noch mehr über die DIY Kultur und werden in Zukunft versuchen unser Wissen so weiter zugeben. Denn nur wenn man Wissen teilt, verdoppelt es sich!<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Medizintechnik_DIY&diff=45305Medizintechnik DIY2021-09-18T13:55:02Z<p>Robin.schaumlechner: /* Zusammenfassung und Reflexion */</p>
<hr />
<div><div style="float:right" class="toclimit-2">__TOC__</div><br />
<br />
[[File:150210716_233172705108857_8497346149908168942_n.jpg|640px]]<br />
<br><br />
<br><br />
== Kurzbeschrieb ==<br />
<br />
Das Modul verbindet Anwendungen der Medizintechnik mit Do It Yourself (DIY) Ansätzen. Dadurch wird das tiefere Verständnis von Medizintechnischen Geräten durch einen direkten, interdisziplinären und möglichst selbstgesteuerten Zugang gefördert. Basierend auf verschiedenen elektrophysiologischen Messmodulen (EMG, EKG, EOG, EEG) entwickeln die Studierenden im Team Ideen für innovative Projekte. Erste Prototypen werden mit den Mitteln der Digitalen Fabrikation hergestellt und getestet.<br />
<br />
[[File:Keywords_overview.jpg|400px]]<br />
<br />
=== Dokumentationen der früherern Durchführungen ===<br />
<br />
[[Medizintechnik DIY ws21]] [[Medizintechnik DIY 2020]] [[Medizintechnik DIY 2019]] [[Medizintechnik DIY 2018]]<br />
<br />
Sämtliche Wiki-Seite früherer Durchführungen sind hier: https://www.hackteria.org/wiki/Category:MedTech-DIY<br />
<br />
== Covid-19 Schutzmassnahmen ==<br />
<br />
Die COVID-19 Schutzregeln der HSLU und des BAG gelten wie üblich.<br />
<br />
== Location(s) ==<br />
<br />
'''FabLab Horw (Trakt I)'''<br />
<br />
[[File:Location_fablab.jpg|400px]]<br />
<br />
'''Unterrichtsraum F203 (Trakt II) (... Plätze)''' <br />
<br />
'''tbc: Sitzungszimmer D1 (Trakt I) (12 Plätze)'''<br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Fablab_groundFloor.jpg|Fablab Luzern<br />
File:DIY-MedTech_Fablablab.jpg|WetBioMedLab im Fablab<br />
File:IMG_20180213_165204.jpg|After the 2nd day<br />
File:DIY-MedTech_classroom.jpg|Unterrichtsraum E210<br />
</gallery><br />
<br />
'''[https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json Virtual Lab - 2d Workadventure]'''<br />
<br />
[[File:Virtuelle_RaumEinteiliung.jpg|400px]]<br />
<br />
Hier der Link zum eintreten: https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json<br />
<br />
Damit wir neben der Präsenzzeit online diskutieren und gemeinsam an Projekten arbeiten können, bereiteten wir eine virtuelle Arbeitsumgebung auf mit dem Tool "[https://workadventu.re/ workadventure]" vor. Das Tool funktioniert ausschliesslich mit einem Laptop / PC, leider (noch) kein gut funktionierender Smartphone Support.<br />
<br />
== Schedule ==<br />
<br />
Montag, 13. September - Samstag 18. September 2020<br />
<br />
Täglich von 9:00 - 12.00 and 13.00 - 16:30 Uhr (Fablab offen ab 8:45)<br />
<br />
Dienstag bis 19:00 Uhr<br />
<br />
Samstag 10:00 - 13:00 Uhr<br />
<br />
<span style="color:#81d41a; font-size:120%">Neues Schedule</span><br />
<br />
[[File:WeekgridMedTech2021HS_final.jpg|640px]]<br />
<br />
<br clear=all><br />
<br />
=== Content ===<br />
<br />
'''Preparation:''' <br />
* Read and Reflect<br />
* Prepare for Team Discussion<br />
<br />
'''Learn 0: Introduction'''<br />
* Introduction into DIY and Fablab<br />
* Introduction of Winterschool<br />
* Wiki-Intro<br />
<br />
'''Hack 0: Body-Signals'''<br />
* Lötle<br />
* Experimentiere<br />
<br />
'''Learn 1: Un-conferencing'''<br />
* Input Lectures on MedTech and DIY Hacking Cultures<br />
<br />
'''Hack 1:'''<br />
* Refraining<br />
* Experimenting<br />
* more Prototyping<br />
<br />
'''Share:'''<br />
* Documentation<br />
* Presentation<br />
<br />
'''Post Production:'''<br />
* Final Documentation<br />
<br />
=== Impuls Referate MedTechDIY 2021 ===<br />
==== Dr. Christian Gehringer ====<br />
<br />
'''DIY Ansätze in der Biomedizinischen Forschung'''<br />
<br />
Christian erzählt über seinen beruflichen Werdegang bisher und über 2 Forschungsprojekte, die etwas anders als normal initiiert werden konnten und trotzdem den Weg in die akademisch-wissenschaftliche Welt gefunden haben.<br />
<br />
Die Folien findet ihr hier: [[:File:DIY_Ans_tze_in_Biomedizinischer_Forschung___Presentation_MedTech_2020.pdf]]<br />
<br />
[[File:Folien_christian.jpg|400px]]<br />
<br />
==== The Future Is Not What It Used to Be (2002) ====<br />
<br />
'''A documentary film about Erkki Kurenniemi''' <br />
<br />
[[File:Selection_892.jpg|400px]]<br />
<br />
https://www.imdb.com/title/tt0372001/plotsummary?ref_=tt_ov_pl<br />
<br />
A documentary film about '''Erkki Kurenniemi''' (b. 1941), whose career represents a surprisingly natural blend of music, film, computers, robotics, science and art. His project of collecting everything around him will perhaps be the most significant of all his works. Kurenniemi records his thoughts, observations, objects and images constantly, with manic precision, with the ultimate goal of merging man and machine - reconstructing the human soul. Kurenniemi's story is a fascinating and forceful depiction of a forgotten visionary; it is significant because of the cultural history of the unique, never- before-seen archive material alone. The documentary includes footage of the unique DIMI-instruments developed by Kurenniemi, and segments from unfinished experimental short films from the 1960s. The Future is not what it used to be is a film about the 1960s avant-garde in music and film, the early history of microcomputers and the open questions of 21st century science. Audio commentary by Mika Taanila and Erkki Kurenniemi.<br />
<br />
Download from here (Save as... to your computer): <br />
<br />
https://www.dropbox.com/s/jh6m4hgj6trlrsn/taanila_the-future-is-not-what-it-used-to-be_2002.m4v?dl=0<br />
<br />
==== Marc Dusseiller - Hackteria / SGMK ====<br />
<br />
'''How I ended up loving the Coconut - DIY Culture in a global context'''<br />
<br />
See slides: [[:File:dusjagr_DIY-MedTech_intro_DIY-Culture_2021.pdf]]<br />
<br />
[[File:dusjagrCoconuts_talk.jpg|400px]]<br />
<br />
==== Andreas Kopp - Erfindergarten ====<br />
<br />
'''Maker Extraordinaire?'''<br />
<br />
See slides: https://docs.google.com/presentation/d/1SkSrOMfr1TF-9--QQER83K3uMyfvFfBAE5V9OaN93Qo/<br />
<br />
Download: [[:File:Maker Extraordinaire 2020.pdf]]<br />
<br />
[[File:wirvsvirus.jpg|400px]]<br />
<br><br />
<br />
== Schlusspräsentationen / Demos Zeitplan ==<br />
<br><br />
Mit den Gruppenpräsentationen wollen wir uns nochmals gemeinsam anschauen was ihr in dieser Woche gearbeitet, gelernt und erlebt habt. Zeigt was ihr geforscht und gebaut habt. Wo ihr vielleicht auch auf Probleme gestossen seit oder etwas nicht wir geplant funktioniert hat. Wie habt ihr in der Gruppe gearbeitet und was konntet ihr auch voneinander lernen. Versucht die Präsentation / Demo lebendig zu gestalten und mit verschiedenen Medien zu arbeiten. <br />
<br />
'''Hier einige Tipps und Ideen dazu:'''<br><br />
* Nutzt eine Kamera um ein Close-Up von Prototypen oder Experimentier-Aufbauten zu zeigen.<br />
* Zeigt Folien oder Bilder indem ihr euren Bildschirm "shared"<br />
* Es gibt auch eine Funktion um YouTube Videos im jitsi für alle einzublenden<br />
* Überlegt euch einen Ablauf und präsentiert gemeinsam. Eine Person kann zB auf seinem Kanal ein Bild zeigen während eine andere Person dazu spricht.<br />
<br><br />
'''Tipps für die Zuhörer:'''<br><br />
* Schaltet zwischen Kachel-Übersicht und Grossansicht hin und her um alles gut zu sehen<br />
* Wie immer ist es schön wenn man auch das "Publikum" mit Bild sieht<br />
* Nutz die Chat funktion im Jitsi um Anmerkungen und Fragen zu stellen, die im Anschluss besrochen werden können<br />
* Stellt Fragen und gebt Feedback. Man darf auch online einfach mal aus Freude was dazwischen "jolen"<br />
<br><br />
'''Zeitplan''' (zufällige Einteilung)<br><br />
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10"<br />
|'''Wann'''<br />
|'''Wer'''<br />
|-<br />
|10:00 - 10:10<br />
|Marc - Willkommen / Einleitung<br />
|-<br />
|10:15 - 10:35<br />
|[[Team Chihuahua]]<br />
|-<br />
|10:40 - 11:00<br />
|[[Team Da Vintschi]]<br />
|-<br />
|11:05- 11:25<br />
|[[Team Auslöten]]<br />
|-<br />
|11:30 - 11:50<br />
|[[Team Beta]]<br />
|-<br />
|11:50 - 12:15<br />
|Abschluss, Feedback, Goodbye<br />
|}<br />
<br />
'''Wo:''' Im Online-Classroom des [https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json virtuallen Fablabs]. Für die Präsentation ist es vielleicht einfacher wenn ihr dem Jitsi Raum per Link beitretet.<br />
<br><br />
<br />
== Wird nicht durchgeführt.... Skill Share Sessions ==<br />
<br />
''Was ist eine Skill Share Session?''<br />
<br />
Wird im Rahmen der Einleitung im Detail erklärt. Hier ein paar Beispiele der verschiedenen Methoden für die Durchführung.<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
== Student Teams ==<br />
<br />
4 Teams à 3 Studierende<br />
<br />
Aufgabe an alle Teams am ersten Tag der Blockwoche. <br />
* Gebt euch einen eigenen originelle Teamnamen, der mit dem Anfangsbuchstaben A B C D beginnt<br />
* Erstellt eine Wiki-Seite für euer Team.<br />
* Lädt ein Bild auf eure Seite<br />
* Kurzer Beschreib der Teammitglieder<br />
<br />
=== [[Team Auslöten]] ===<br />
<br />
====Zusammenfassung und Reflexion====<br />
<br />
Die Gruppe Auslöten hat während der Blockwoche "Medizintechnik DIY" einen funktionsfähigen CO2 Detektor entwickelt. Die "Anleitung" dazu findet ihr auf unserer Gruppen Homepage und kann ganz einfach nachgebaut werden. Wir haben ebenfalls für weitere Projekte recherchiert, welche ihr bei uns auf der Homepage findet. Die Blockwoche hat uns allen sehr gut gefallen. Wir konnten unsere Ideen durch die freie Arbeitsweise gut umsetzen und einiges neues dazu lernen. Vor allem das Lasercutten war für alle etwas neues. Zu dem lernten wir auch noch mehr über die DIY Kultur und werden in Zukunft versuchen unser Wissen so weiter zugeben. <br />
''Denn nur wenn man Wissen teilt, verdoppelt es sich!''<br />
<br />
====Prototypen====<br />
[[File:CO2_Detector.PNG|400px]]<br />
[[File:EntwichlungCo2_Detector.PNG|370px]]<br />
<br />
=== [[Team Beta]] ===<br />
<br />
Alle Studierende von zu Hause. HomeLab<br />
<br />
* Benjamin Zuber<br />
* Patrick Stadelmann<br />
* Fabian Kaiser<br />
<br />
=== [[Team Chihuahua]] ===<br />
<br />
Das Team Chihuahua besteht aus den drei Medizintechnik-Studenten Gabriel Haupt, David Lussmann und Jill Scheidegger.<br />
<br />
====Zusammenfassung und Reflexion====<br />
<br />
tbd<br />
<br />
====Prototypen====<br />
<br />
'''Hack 0: Body Signals'''<br />
<br />
Mithilfe der Aktionspotenzial der Muskeln konnten LEDs beleuchtet werden. Je stärker der Muskel angespannt wurde, desto mehr LEDs sind aufgeleuchtet. <br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Montag1.jpg<br />
File:Montag2.jpg<br />
File:Montag3.jpg|mit Lautsprecher<br />
File:Muscle Spikeshield1.PNG<br />
</gallery><br />
<br />
<br />
'''Hack 1: Piano'''<br />
<br />
Beim Hack 1 wurde ein MiniPiano gebaut, das über ein Arduino angesteuert wird.<br />
<br />
<gallery mode="packed-hover" widths=500px heights=400px><br />
File:fr_2.jpeg<br />
File:fr_1.jpeg<br />
</gallery><br />
<br />
=== [[Team Da Vintschi]] ===<br />
<br />
2 Studierende von zu Hause<br />
<br />
* Sandro Gantner<br />
* Kilian Huber<br />
* André Jaun<br />
<br />
=== [[Team Mentorzz 2021]] ===<br />
<br />
* Marc Dusseiller<br />
* Effi Tanner<br />
* Chris Obrist<br />
* Christian Gehringer<br />
<br />
=== Beispiele aus alten Jahrgängen: ===<br />
<br />
Am Abschluss der Blockwoche, soll für jedes Team auf dieser Frontseite eine kurze Zusammenfassung gemacht werden.<br />
<br />
==== Beispiel für Zusammenfassung auf Frontseite ====<br />
<br />
* In einem ersten Abschnitt soll jedes Team in eingen wenigen Sätzen ihre '''Zusammenfassung und Reflektion''' beschreiben. <br />
* Im zweiten Abschnitt ein Überblick über die '''Prototypen''' der verschiedenen Projekten als Fotogallerie und 1-2 Sätze dazu.<br />
<br />
[[File:Doku_Beispiel_Zusammenfassung.jpg|800px]]<br />
<br />
== Testat ==<br />
<br />
=== Teilnahme ===<br />
* Pflichtlektüren gelesen<br />
* Aktive Teilnahme an allen Tagen der Blockwoche<br />
<br />
=== Leistungsnachweis ===<br />
<br />
'''Wiki-Seite pro Gruppe (70%) mit:'''<br />
* Reflektion zu Readings / Input Vorlesungen<br />
* Dokumentation der Experimente während der Woche<br />
(Experimente, Resultate, Erkenntnisse, Links/Resourcen, Bilder)<br />
<br />
* Zusammenfassung auf wiki Frontseite<br />
<br />
'''Schlusspräsentation in der Gruppe am Samstag (30%)'''<br />
<br />
* Raufladen der Schlusspräsentationen. Als .pdf oder slideshare.<br />
<br />
'''Abgabetermin Wiki-Seiten: Sonntag 26. September 23:59'''<br />
<br />
== [[DIY-MedTech Resources]] ==<br />
<br />
[[Medizintechnik DIY Resources]]<br />
<br />
=== Quick Links ===<br />
<br />
Backyard Brains DIY Muscle Shield<br><br />
https://backyardbrains.com/products/diymusclespikershield<br />
<br />
Interessante EKG Einführung<br> <br />
https://biosignals.berndporr.me.uk/<br />
<br />
=== Methoden für Break Out / Skill Share Sessions ===<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
http://finding-marbles.com/retr-o-mat/was-ist-eine-agile-retrospektive/<br />
<br />
== Pflichtlektüre & Videos ==<br />
<br />
'''''Open Culture did not start with the invention of the computer'''''<br />
<br />
''Open Culture is a concept according to which knowledge should be spread freely and its growth should come from developing, altering or enriching already existing works on the basis of sharing and collaboration, without being restricted by rules linked to the legal protection of intellectual property. In a context of globalization, the consequence is that all citizens should have equal access to information.''<br />
<br />
=== FabLab ===<br />
'''Fab Charta'''<br />
<br />
http://fablab-luzern.ch/info/fab-charta-2/#FabCharter<br />
<br />
=== Articles ===<br />
<br />
'''Biotechnology for All / DIY in bioanalytics: doing and grasping it yourself. SATW publication 2015'''<br />
[[File:SATW_article_cover.png|right|thumb|200px]]<br />
Warum Do-It-Your-Self in der Lehre? Ein Artikel der über unsere Arbeit geschrieben wurde:<br />
<br />
[https://www.hackteria.org/wiki/images/8/87/SATW_INFO_2-15_DIY-Bio_EN.pdf SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself]. <br />
<br />
[https://www.hackteria.org/wiki/images/a/ac/SATW_INFO_2-15_DIY-Bio_DE.pdf «Do it yourself» in der Bioanalytik – zum Download auf Deutsch]<br />
<br />
"Biotechnologische Forschung findet heute nicht mehr nur in spezialisierten Labors statt. Eine wachsende Gemeinschaft von Biologen, Bastlern und Technikbegeisterten experimentiert in Küchen, Werkstätten und Eigenbau-Labors. Einige sehen in der Demokratisierung der Biotechnologie eine Gefahr; andere die Chance für ein besseres Verständnis von komplexen wissenschaftlichen Zusammenhängen in der Gesellschaft."<br />
<br />
The article from SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself is available for download in German, English and French. The pedagogic conecpt and educational kits were developed during a project funded by the Swiss Academy for Engineering Sciences (SATW), together with hackteria, M. Dusseiller and U. Gaudenz, and FHNW School for Lifesciences, Dr. D. Gygax, during a workshop with an interdisciplinary group of participants. More info [http://hackteria.org/education/satw/ here].<br />
<br />
'''Interview in "The Art of Free and Open Science", MCD#68'''<br />
[[File:MCD_86_hackteria.png|right|thumb|200px]]<br />
Was ist Hackteria?<br />
<br />
[https://www.hackteria.org/media/interview-in-mcd68/ Mehr zum Artikel und Interview in MCD#68]<br />
<br />
[http://www.hackteria.org/wordpress/wp-content/uploads/2012/10/hackteria_interview_MCD68.pdf Interview zum Download in Englisch]<br />
<br />
Hackteria is a network of people practicing DIY (do-it-yourself) biology with an interest in art, design and interdisciplinary cooperation. The network was founded in 2009 by Yashas Shetty, Andy Gracie and Marc Dusseiller and now includes not only scientists, engineers and artists, as you would expect, but also philosophers, entrepreneurs, and even foodies and chefs. Hackteria operates on a global scale, and is based on a web platform and a wiki for sharing knowledge, which enable anyone to learn but also test different ways of hacking living systems. Hackteria is not based in a physical space, and its goal is to allow artists, scientists and hackers to collaborate and test various biohacking and bioart techniques outside the official laboratories and art institutions, basically anywhere in the world.<br />
<br />
=== Videos ===<br />
<br />
'''How to control someone else's arm with your brain | Greg Gage'''<br />
<br />
Die elektrophysiologischen Messmodulen wurden von unserem Freund Greg Gage entwickelt. Hier ein TED Video dazu:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/rSQNi5sAwuc<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
As grad students at the University of Michigan, co-founders Tim and Greg often interacted with schoolchildren during neuroscience outreach events. We often wanted to show real "spiking" activity to students, but this was impossible due to the high cost of equipment. By using off-the-shelf electronics, we designed kits that could provide insight into the inner workings of the nervous system.<br />
<br />
Go and look at their website! [https://backyardbrains.com/ Backyard Brains - Neuroscience For Everyone!]<br />
<br />
'''What is Open Source explained in LEGO'''<br />
<br />
Und was ist eigentlich OpenSource?<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/a8fHgx9mE5U<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''You can learn Arduino in 15 minutes'''<br />
<br />
Dann brauchen wir für unsere Experimente ein Arduino. Wenn ihr das nicht schon kennt, schaut euch das mal an:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/nL34zDTPkcs<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
The ultimate Arduino tutorial for beginners. Learn how to choose an Arduino, dim LEDs, build a motor speed controller and more.<br />
<br />
== Weiterführende Links und Literatur ==<br />
<br />
[[File:Keywords_overview32.jpg|400px]]<br />
<br />
=== Maker-Response to COVID-19 Pandemic ===<br />
[[File:HEISE_GesundMaker.jpg|thumb|320px]]<br />
'''Stitching Together a Solution: Lessons from the Open Source Hardware Response to COVID-19'''<br />
<br />
https://www.law.nyu.edu/sites/default/files/stitching-together-a-solution-202102.pdf<br />
<br />
<br />
'''Making hardware ‘open source’ can help us fight future pandemics - here’s how we get there'''<br />
<br />
https://theconversation.com/making-hardware-open-source-can-help-us-fight-future-pandemics-heres-how-we-get-there-153280<br />
<br />
And further reference to this detailed research by J. Pearce on open source ventilators:<br />
https://f1000research.com/articles/9-218/v2<br />
<br />
<br />
'''Fokus Open Source: Die Gesund-Maker - Stethoskope aus der Kellerwerkstatt'''<br />
<br />
https://www.heise.de/hintergrund/Fokus-Open-Source-Die-Gesund-Maker-4700871.html<br />
<br />
<br />
'''Open Source Medical Supplies'''<br />
<br />
https://opensourcemedicalsupplies.org/<br />
<br />
[https://datastudio.google.com/reporting/ec7e0931-d311-48c0-809f-f984df4f6d13/page/3SaMB Hier eine Visualisierung der OSMS Aktivitäten]<br />
<br />
<br />
'''Maker response in France'''<br />
<br />
https://www.solidarum.org/sante/covid-19-l-apres-de-mobilisation-des-makers-en-france<br />
<br />
<br />
<br />
'''‘Viral Design’ - The COVID-19 Crisis as a Global Test Bed for Distributed Design'''<br />
<br />
https://distributeddesign.eu/wp-content/uploads/2020/11/DistributedDesignBook_2020-online.pdf<br />
<br />
<br />
=== Brain Interfaces ===<br />
<br />
'''Human Mind Control of Rat Cyborg’s Continuous Locomotion with Wireless Brain-to-Brain Interface'''<br />
<br />
https://www.nature.com/articles/s41598-018-36885-0<br />
<br />
<br />
=== Weitere Videos ===<br />
<br />
Und wer noch mehr TED schauen möchte, den finden wir auch gut:<br />
<br />
'''"Simplicity: We know it when we see it" | George Whitesides'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/GayY-mjZXrQ<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
Simplicity: We know it when we see it -- but what is it, exactly? In this funny, philosophical talk, George Whitesides chisels out an answer.<br />
<br />
More about [https://www.ted.com/talks/george_whitesides_a_lab_the_size_of_a_postage_stamp Simplicity, in the specific case of "A lab the size of a postage stamp"]<br />
<br />
'''"Why toys make good medical devices | Jose Gomez-Marquez'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/UHCT9SOBHs0<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
We develop empowerment technologies for health. We believe that innovation and design happens at the frontline of healthcare where providers and patients can invent everyday technologies to improve outcomes. By radically democratizing the tools of medical creation, we seek to enable front line patients and providers to invent answers to disease burdens.<br />
<br />
https://littledevices.org/<br />
<br />
''' GOSH - Gathering for Open Science Hardware '''<br />
<br />
From microscopes to microfluidics and water quality test equipment, hardware is a vital part of science. Advances in instrumentation have been central to scientific revolutions and access to hardware shapes the work of communities conducting research globally on a daily basis. However, the current supply chain for science hardware limits access for many groups of people and impedes creativity and customisation. Open Science Hardware (OScH) means sharing designs for scientific hardware openly online that anyone is freely able to use, modify and even commercialize. This approach could drastically reduce the costs of research while enabling people to collaborate and learn in new ways.<br />
<br />
The Global Open Science Hardware community supports OScH by convening meetings such as the Gathering for Open Science Hardware (GOSH), publications, activities and providing a forum for the community. <br />
<br />
See more on [https://openhardware.science/ GOSH website] and join the [https://forum.openhardware.science/ forum to discuss]!<br />
<br />
'''Together we will make [https://openhardware.science/global-open-science-hardware-roadmap/ Open Science Hardware ubiquitous by 2025] and build new futures for science.'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/zZXOi6zCMDA<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''Low-Cost and Open Source Tools'''<br />
<br />
https://youtu.be/9-fW82hClJY?t=4460<br />
<br />
== How to use this wiki ==<br />
<br />
Dear participants, please make sure you prepare your account and get some first experience in using a wiki, in this case it's [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] the same software on which the famous wikipedia has been created. The previous link directs you to many instructions on how to use a wiki. look at it.<br />
<br />
Try it out and create a new page for your team's project notes and documentation, give it a reasonable name. <br />
<br />
[[Ich Komme Nicht Draus]]<br />
<br />
=== CATCHA ===<br />
<br />
To prevent spam, we have a catcha in place. At the bottom of the page, when you edit something, you need to reply to a simple question. So we make sure you are not a robot :-)<br />
<br />
[[Team 34 ist cool]]<br />
<br />
=== Change your password ===<br />
<br />
You should have received a login by now. In the right upper corner you should see a link to your user preferences. Please change your password!<br />
<br />
=== Use Category ===<br />
<br />
Make sure you add the following line at the end of all the pages you create, so it will be sorted all in the same category. Future students will be happy!<br />
<br />
[[ <code> Category:MedTech-DIY </code> ]]<br />
<br />
[[Category:MedTech-DIY]]<br />
<br />
=== Hallo ===<br />
<br />
Please write a [[few sentences about yourself]], add links to your other websites, blogs, biographies, artworks. <br />
<br />
* try to add images<br />
* "internal links" to other pages on the hackteria wiki<br />
* "external likns" to websites<br />
* embed a youtube video?<br />
<br />
You can always click the "edit" link on this or other pages to see how stuff has been written in the mediawiki language.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Medizintechnik_DIY&diff=45304Medizintechnik DIY2021-09-18T13:52:44Z<p>Robin.schaumlechner: /* Zusammenfassung und Reflexion */</p>
<hr />
<div><div style="float:right" class="toclimit-2">__TOC__</div><br />
<br />
[[File:150210716_233172705108857_8497346149908168942_n.jpg|640px]]<br />
<br><br />
<br><br />
== Kurzbeschrieb ==<br />
<br />
Das Modul verbindet Anwendungen der Medizintechnik mit Do It Yourself (DIY) Ansätzen. Dadurch wird das tiefere Verständnis von Medizintechnischen Geräten durch einen direkten, interdisziplinären und möglichst selbstgesteuerten Zugang gefördert. Basierend auf verschiedenen elektrophysiologischen Messmodulen (EMG, EKG, EOG, EEG) entwickeln die Studierenden im Team Ideen für innovative Projekte. Erste Prototypen werden mit den Mitteln der Digitalen Fabrikation hergestellt und getestet.<br />
<br />
[[File:Keywords_overview.jpg|400px]]<br />
<br />
=== Dokumentationen der früherern Durchführungen ===<br />
<br />
[[Medizintechnik DIY ws21]] [[Medizintechnik DIY 2020]] [[Medizintechnik DIY 2019]] [[Medizintechnik DIY 2018]]<br />
<br />
Sämtliche Wiki-Seite früherer Durchführungen sind hier: https://www.hackteria.org/wiki/Category:MedTech-DIY<br />
<br />
== Covid-19 Schutzmassnahmen ==<br />
<br />
Die COVID-19 Schutzregeln der HSLU und des BAG gelten wie üblich.<br />
<br />
== Location(s) ==<br />
<br />
'''FabLab Horw (Trakt I)'''<br />
<br />
[[File:Location_fablab.jpg|400px]]<br />
<br />
'''Unterrichtsraum F203 (Trakt II) (... Plätze)''' <br />
<br />
'''tbc: Sitzungszimmer D1 (Trakt I) (12 Plätze)'''<br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Fablab_groundFloor.jpg|Fablab Luzern<br />
File:DIY-MedTech_Fablablab.jpg|WetBioMedLab im Fablab<br />
File:IMG_20180213_165204.jpg|After the 2nd day<br />
File:DIY-MedTech_classroom.jpg|Unterrichtsraum E210<br />
</gallery><br />
<br />
'''[https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json Virtual Lab - 2d Workadventure]'''<br />
<br />
[[File:Virtuelle_RaumEinteiliung.jpg|400px]]<br />
<br />
Hier der Link zum eintreten: https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json<br />
<br />
Damit wir neben der Präsenzzeit online diskutieren und gemeinsam an Projekten arbeiten können, bereiteten wir eine virtuelle Arbeitsumgebung auf mit dem Tool "[https://workadventu.re/ workadventure]" vor. Das Tool funktioniert ausschliesslich mit einem Laptop / PC, leider (noch) kein gut funktionierender Smartphone Support.<br />
<br />
== Schedule ==<br />
<br />
Montag, 13. September - Samstag 18. September 2020<br />
<br />
Täglich von 9:00 - 12.00 and 13.00 - 16:30 Uhr (Fablab offen ab 8:45)<br />
<br />
Dienstag bis 19:00 Uhr<br />
<br />
Samstag 10:00 - 13:00 Uhr<br />
<br />
<span style="color:#81d41a; font-size:120%">Neues Schedule</span><br />
<br />
[[File:WeekgridMedTech2021HS_final.jpg|640px]]<br />
<br />
<br clear=all><br />
<br />
=== Content ===<br />
<br />
'''Preparation:''' <br />
* Read and Reflect<br />
* Prepare for Team Discussion<br />
<br />
'''Learn 0: Introduction'''<br />
* Introduction into DIY and Fablab<br />
* Introduction of Winterschool<br />
* Wiki-Intro<br />
<br />
'''Hack 0: Body-Signals'''<br />
* Lötle<br />
* Experimentiere<br />
<br />
'''Learn 1: Un-conferencing'''<br />
* Input Lectures on MedTech and DIY Hacking Cultures<br />
<br />
'''Hack 1:'''<br />
* Refraining<br />
* Experimenting<br />
* more Prototyping<br />
<br />
'''Share:'''<br />
* Documentation<br />
* Presentation<br />
<br />
'''Post Production:'''<br />
* Final Documentation<br />
<br />
=== Impuls Referate MedTechDIY 2021 ===<br />
==== Dr. Christian Gehringer ====<br />
<br />
'''DIY Ansätze in der Biomedizinischen Forschung'''<br />
<br />
Christian erzählt über seinen beruflichen Werdegang bisher und über 2 Forschungsprojekte, die etwas anders als normal initiiert werden konnten und trotzdem den Weg in die akademisch-wissenschaftliche Welt gefunden haben.<br />
<br />
Die Folien findet ihr hier: [[:File:DIY_Ans_tze_in_Biomedizinischer_Forschung___Presentation_MedTech_2020.pdf]]<br />
<br />
[[File:Folien_christian.jpg|400px]]<br />
<br />
==== The Future Is Not What It Used to Be (2002) ====<br />
<br />
'''A documentary film about Erkki Kurenniemi''' <br />
<br />
[[File:Selection_892.jpg|400px]]<br />
<br />
https://www.imdb.com/title/tt0372001/plotsummary?ref_=tt_ov_pl<br />
<br />
A documentary film about '''Erkki Kurenniemi''' (b. 1941), whose career represents a surprisingly natural blend of music, film, computers, robotics, science and art. His project of collecting everything around him will perhaps be the most significant of all his works. Kurenniemi records his thoughts, observations, objects and images constantly, with manic precision, with the ultimate goal of merging man and machine - reconstructing the human soul. Kurenniemi's story is a fascinating and forceful depiction of a forgotten visionary; it is significant because of the cultural history of the unique, never- before-seen archive material alone. The documentary includes footage of the unique DIMI-instruments developed by Kurenniemi, and segments from unfinished experimental short films from the 1960s. The Future is not what it used to be is a film about the 1960s avant-garde in music and film, the early history of microcomputers and the open questions of 21st century science. Audio commentary by Mika Taanila and Erkki Kurenniemi.<br />
<br />
Download from here (Save as... to your computer): <br />
<br />
https://www.dropbox.com/s/jh6m4hgj6trlrsn/taanila_the-future-is-not-what-it-used-to-be_2002.m4v?dl=0<br />
<br />
==== Marc Dusseiller - Hackteria / SGMK ====<br />
<br />
'''How I ended up loving the Coconut - DIY Culture in a global context'''<br />
<br />
See slides: [[:File:dusjagr_DIY-MedTech_intro_DIY-Culture_2021.pdf]]<br />
<br />
[[File:dusjagrCoconuts_talk.jpg|400px]]<br />
<br />
==== Andreas Kopp - Erfindergarten ====<br />
<br />
'''Maker Extraordinaire?'''<br />
<br />
See slides: https://docs.google.com/presentation/d/1SkSrOMfr1TF-9--QQER83K3uMyfvFfBAE5V9OaN93Qo/<br />
<br />
Download: [[:File:Maker Extraordinaire 2020.pdf]]<br />
<br />
[[File:wirvsvirus.jpg|400px]]<br />
<br><br />
<br />
== Schlusspräsentationen / Demos Zeitplan ==<br />
<br><br />
Mit den Gruppenpräsentationen wollen wir uns nochmals gemeinsam anschauen was ihr in dieser Woche gearbeitet, gelernt und erlebt habt. Zeigt was ihr geforscht und gebaut habt. Wo ihr vielleicht auch auf Probleme gestossen seit oder etwas nicht wir geplant funktioniert hat. Wie habt ihr in der Gruppe gearbeitet und was konntet ihr auch voneinander lernen. Versucht die Präsentation / Demo lebendig zu gestalten und mit verschiedenen Medien zu arbeiten. <br />
<br />
'''Hier einige Tipps und Ideen dazu:'''<br><br />
* Nutzt eine Kamera um ein Close-Up von Prototypen oder Experimentier-Aufbauten zu zeigen.<br />
* Zeigt Folien oder Bilder indem ihr euren Bildschirm "shared"<br />
* Es gibt auch eine Funktion um YouTube Videos im jitsi für alle einzublenden<br />
* Überlegt euch einen Ablauf und präsentiert gemeinsam. Eine Person kann zB auf seinem Kanal ein Bild zeigen während eine andere Person dazu spricht.<br />
<br><br />
'''Tipps für die Zuhörer:'''<br><br />
* Schaltet zwischen Kachel-Übersicht und Grossansicht hin und her um alles gut zu sehen<br />
* Wie immer ist es schön wenn man auch das "Publikum" mit Bild sieht<br />
* Nutz die Chat funktion im Jitsi um Anmerkungen und Fragen zu stellen, die im Anschluss besrochen werden können<br />
* Stellt Fragen und gebt Feedback. Man darf auch online einfach mal aus Freude was dazwischen "jolen"<br />
<br><br />
'''Zeitplan''' (zufällige Einteilung)<br><br />
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10"<br />
|'''Wann'''<br />
|'''Wer'''<br />
|-<br />
|10:00 - 10:10<br />
|Marc - Willkommen / Einleitung<br />
|-<br />
|10:15 - 10:35<br />
|[[Team Chihuahua]]<br />
|-<br />
|10:40 - 11:00<br />
|[[Team Da Vintschi]]<br />
|-<br />
|11:05- 11:25<br />
|[[Team Auslöten]]<br />
|-<br />
|11:30 - 11:50<br />
|[[Team Beta]]<br />
|-<br />
|11:50 - 12:15<br />
|Abschluss, Feedback, Goodbye<br />
|}<br />
<br />
'''Wo:''' Im Online-Classroom des [https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json virtuallen Fablabs]. Für die Präsentation ist es vielleicht einfacher wenn ihr dem Jitsi Raum per Link beitretet.<br />
<br><br />
<br />
== Wird nicht durchgeführt.... Skill Share Sessions ==<br />
<br />
''Was ist eine Skill Share Session?''<br />
<br />
Wird im Rahmen der Einleitung im Detail erklärt. Hier ein paar Beispiele der verschiedenen Methoden für die Durchführung.<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
== Student Teams ==<br />
<br />
4 Teams à 3 Studierende<br />
<br />
Aufgabe an alle Teams am ersten Tag der Blockwoche. <br />
* Gebt euch einen eigenen originelle Teamnamen, der mit dem Anfangsbuchstaben A B C D beginnt<br />
* Erstellt eine Wiki-Seite für euer Team.<br />
* Lädt ein Bild auf eure Seite<br />
* Kurzer Beschreib der Teammitglieder<br />
<br />
=== [[Team Auslöten]] ===<br />
<br />
====Zusammenfassung und Reflexion====<br />
<br />
Die Gruppe Auslöten hat während der Blockwoche "Medizintechnik DIY" einen funktionsfähigen CO2 Detektor entwickelt. Die "Anleitung" dazu findet ihr auf unserer Gruppen Homepage und kann ganz einfach nachgebaut werden. Wir haben ebenfalls für weitre Projekte recherchiert, welche ihr bei uns auf der Homepage findet. Die Blockwoche hat uns allen sehr gut gefallen. Wir konnten unsere Ideen durch die freie Arbeitsweise gut umsetzen und einiges neues dazu lernen. Vor allem das Lasercutten war für alle etwas neues. Zu dem lernten wir auch noch mehr über die DIY Kultur und werden in Zukunft versuchen unser Wissen so weiter zugeben. ''Denn wenn man Wissen teilt, verdoppelt es sich!''<br />
<br />
====Prototypen====<br />
[[File:CO2_Detector.PNG|400px]]<br />
[[File:EntwichlungCo2_Detector.PNG|370px]]<br />
<br />
=== [[Team Beta]] ===<br />
<br />
Alle Studierende von zu Hause. HomeLab<br />
<br />
* Benjamin Zuber<br />
* Patrick Stadelmann<br />
* Fabian Kaiser<br />
<br />
=== [[Team Chihuahua]] ===<br />
<br />
Das Team Chihuahua besteht aus den drei Medizintechnik-Studenten Gabriel Haupt, David Lussmann und Jill Scheidegger.<br />
<br />
====Zusammenfassung und Reflexion====<br />
<br />
tbd<br />
<br />
====Prototypen====<br />
<br />
'''Hack 0: Body Signals'''<br />
<br />
Mithilfe der Aktionspotenzial der Muskeln konnten LEDs beleuchtet werden. Je stärker der Muskel angespannt wurde, desto mehr LEDs sind aufgeleuchtet. <br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Montag1.jpg<br />
File:Montag2.jpg<br />
File:Montag3.jpg|mit Lautsprecher<br />
File:Muscle Spikeshield1.PNG<br />
</gallery><br />
<br />
<br />
'''Hack 1: Piano'''<br />
<br />
Beim Hack 1 wurde ein MiniPiano gebaut, das über ein Arduino angesteuert wird.<br />
<br />
<gallery mode="packed-hover" widths=500px heights=400px><br />
File:fr_2.jpeg<br />
File:fr_1.jpeg<br />
</gallery><br />
<br />
=== [[Team Da Vintschi]] ===<br />
<br />
2 Studierende von zu Hause<br />
<br />
* Sandro Gantner<br />
* Kilian Huber<br />
* André Jaun<br />
<br />
=== [[Team Mentorzz 2021]] ===<br />
<br />
* Marc Dusseiller<br />
* Effi Tanner<br />
* Chris Obrist<br />
* Christian Gehringer<br />
<br />
=== Beispiele aus alten Jahrgängen: ===<br />
<br />
Am Abschluss der Blockwoche, soll für jedes Team auf dieser Frontseite eine kurze Zusammenfassung gemacht werden.<br />
<br />
==== Beispiel für Zusammenfassung auf Frontseite ====<br />
<br />
* In einem ersten Abschnitt soll jedes Team in eingen wenigen Sätzen ihre '''Zusammenfassung und Reflektion''' beschreiben. <br />
* Im zweiten Abschnitt ein Überblick über die '''Prototypen''' der verschiedenen Projekten als Fotogallerie und 1-2 Sätze dazu.<br />
<br />
[[File:Doku_Beispiel_Zusammenfassung.jpg|800px]]<br />
<br />
== Testat ==<br />
<br />
=== Teilnahme ===<br />
* Pflichtlektüren gelesen<br />
* Aktive Teilnahme an allen Tagen der Blockwoche<br />
<br />
=== Leistungsnachweis ===<br />
<br />
'''Wiki-Seite pro Gruppe (70%) mit:'''<br />
* Reflektion zu Readings / Input Vorlesungen<br />
* Dokumentation der Experimente während der Woche<br />
(Experimente, Resultate, Erkenntnisse, Links/Resourcen, Bilder)<br />
<br />
* Zusammenfassung auf wiki Frontseite<br />
<br />
'''Schlusspräsentation in der Gruppe am Samstag (30%)'''<br />
<br />
* Raufladen der Schlusspräsentationen. Als .pdf oder slideshare.<br />
<br />
'''Abgabetermin Wiki-Seiten: Sonntag 26. September 23:59'''<br />
<br />
== [[DIY-MedTech Resources]] ==<br />
<br />
[[Medizintechnik DIY Resources]]<br />
<br />
=== Quick Links ===<br />
<br />
Backyard Brains DIY Muscle Shield<br><br />
https://backyardbrains.com/products/diymusclespikershield<br />
<br />
Interessante EKG Einführung<br> <br />
https://biosignals.berndporr.me.uk/<br />
<br />
=== Methoden für Break Out / Skill Share Sessions ===<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
http://finding-marbles.com/retr-o-mat/was-ist-eine-agile-retrospektive/<br />
<br />
== Pflichtlektüre & Videos ==<br />
<br />
'''''Open Culture did not start with the invention of the computer'''''<br />
<br />
''Open Culture is a concept according to which knowledge should be spread freely and its growth should come from developing, altering or enriching already existing works on the basis of sharing and collaboration, without being restricted by rules linked to the legal protection of intellectual property. In a context of globalization, the consequence is that all citizens should have equal access to information.''<br />
<br />
=== FabLab ===<br />
'''Fab Charta'''<br />
<br />
http://fablab-luzern.ch/info/fab-charta-2/#FabCharter<br />
<br />
=== Articles ===<br />
<br />
'''Biotechnology for All / DIY in bioanalytics: doing and grasping it yourself. SATW publication 2015'''<br />
[[File:SATW_article_cover.png|right|thumb|200px]]<br />
Warum Do-It-Your-Self in der Lehre? Ein Artikel der über unsere Arbeit geschrieben wurde:<br />
<br />
[https://www.hackteria.org/wiki/images/8/87/SATW_INFO_2-15_DIY-Bio_EN.pdf SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself]. <br />
<br />
[https://www.hackteria.org/wiki/images/a/ac/SATW_INFO_2-15_DIY-Bio_DE.pdf «Do it yourself» in der Bioanalytik – zum Download auf Deutsch]<br />
<br />
"Biotechnologische Forschung findet heute nicht mehr nur in spezialisierten Labors statt. Eine wachsende Gemeinschaft von Biologen, Bastlern und Technikbegeisterten experimentiert in Küchen, Werkstätten und Eigenbau-Labors. Einige sehen in der Demokratisierung der Biotechnologie eine Gefahr; andere die Chance für ein besseres Verständnis von komplexen wissenschaftlichen Zusammenhängen in der Gesellschaft."<br />
<br />
The article from SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself is available for download in German, English and French. The pedagogic conecpt and educational kits were developed during a project funded by the Swiss Academy for Engineering Sciences (SATW), together with hackteria, M. Dusseiller and U. Gaudenz, and FHNW School for Lifesciences, Dr. D. Gygax, during a workshop with an interdisciplinary group of participants. More info [http://hackteria.org/education/satw/ here].<br />
<br />
'''Interview in "The Art of Free and Open Science", MCD#68'''<br />
[[File:MCD_86_hackteria.png|right|thumb|200px]]<br />
Was ist Hackteria?<br />
<br />
[https://www.hackteria.org/media/interview-in-mcd68/ Mehr zum Artikel und Interview in MCD#68]<br />
<br />
[http://www.hackteria.org/wordpress/wp-content/uploads/2012/10/hackteria_interview_MCD68.pdf Interview zum Download in Englisch]<br />
<br />
Hackteria is a network of people practicing DIY (do-it-yourself) biology with an interest in art, design and interdisciplinary cooperation. The network was founded in 2009 by Yashas Shetty, Andy Gracie and Marc Dusseiller and now includes not only scientists, engineers and artists, as you would expect, but also philosophers, entrepreneurs, and even foodies and chefs. Hackteria operates on a global scale, and is based on a web platform and a wiki for sharing knowledge, which enable anyone to learn but also test different ways of hacking living systems. Hackteria is not based in a physical space, and its goal is to allow artists, scientists and hackers to collaborate and test various biohacking and bioart techniques outside the official laboratories and art institutions, basically anywhere in the world.<br />
<br />
=== Videos ===<br />
<br />
'''How to control someone else's arm with your brain | Greg Gage'''<br />
<br />
Die elektrophysiologischen Messmodulen wurden von unserem Freund Greg Gage entwickelt. Hier ein TED Video dazu:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/rSQNi5sAwuc<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
As grad students at the University of Michigan, co-founders Tim and Greg often interacted with schoolchildren during neuroscience outreach events. We often wanted to show real "spiking" activity to students, but this was impossible due to the high cost of equipment. By using off-the-shelf electronics, we designed kits that could provide insight into the inner workings of the nervous system.<br />
<br />
Go and look at their website! [https://backyardbrains.com/ Backyard Brains - Neuroscience For Everyone!]<br />
<br />
'''What is Open Source explained in LEGO'''<br />
<br />
Und was ist eigentlich OpenSource?<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/a8fHgx9mE5U<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''You can learn Arduino in 15 minutes'''<br />
<br />
Dann brauchen wir für unsere Experimente ein Arduino. Wenn ihr das nicht schon kennt, schaut euch das mal an:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/nL34zDTPkcs<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
The ultimate Arduino tutorial for beginners. Learn how to choose an Arduino, dim LEDs, build a motor speed controller and more.<br />
<br />
== Weiterführende Links und Literatur ==<br />
<br />
[[File:Keywords_overview32.jpg|400px]]<br />
<br />
=== Maker-Response to COVID-19 Pandemic ===<br />
[[File:HEISE_GesundMaker.jpg|thumb|320px]]<br />
'''Stitching Together a Solution: Lessons from the Open Source Hardware Response to COVID-19'''<br />
<br />
https://www.law.nyu.edu/sites/default/files/stitching-together-a-solution-202102.pdf<br />
<br />
<br />
'''Making hardware ‘open source’ can help us fight future pandemics - here’s how we get there'''<br />
<br />
https://theconversation.com/making-hardware-open-source-can-help-us-fight-future-pandemics-heres-how-we-get-there-153280<br />
<br />
And further reference to this detailed research by J. Pearce on open source ventilators:<br />
https://f1000research.com/articles/9-218/v2<br />
<br />
<br />
'''Fokus Open Source: Die Gesund-Maker - Stethoskope aus der Kellerwerkstatt'''<br />
<br />
https://www.heise.de/hintergrund/Fokus-Open-Source-Die-Gesund-Maker-4700871.html<br />
<br />
<br />
'''Open Source Medical Supplies'''<br />
<br />
https://opensourcemedicalsupplies.org/<br />
<br />
[https://datastudio.google.com/reporting/ec7e0931-d311-48c0-809f-f984df4f6d13/page/3SaMB Hier eine Visualisierung der OSMS Aktivitäten]<br />
<br />
<br />
'''Maker response in France'''<br />
<br />
https://www.solidarum.org/sante/covid-19-l-apres-de-mobilisation-des-makers-en-france<br />
<br />
<br />
<br />
'''‘Viral Design’ - The COVID-19 Crisis as a Global Test Bed for Distributed Design'''<br />
<br />
https://distributeddesign.eu/wp-content/uploads/2020/11/DistributedDesignBook_2020-online.pdf<br />
<br />
<br />
=== Brain Interfaces ===<br />
<br />
'''Human Mind Control of Rat Cyborg’s Continuous Locomotion with Wireless Brain-to-Brain Interface'''<br />
<br />
https://www.nature.com/articles/s41598-018-36885-0<br />
<br />
<br />
=== Weitere Videos ===<br />
<br />
Und wer noch mehr TED schauen möchte, den finden wir auch gut:<br />
<br />
'''"Simplicity: We know it when we see it" | George Whitesides'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/GayY-mjZXrQ<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
Simplicity: We know it when we see it -- but what is it, exactly? In this funny, philosophical talk, George Whitesides chisels out an answer.<br />
<br />
More about [https://www.ted.com/talks/george_whitesides_a_lab_the_size_of_a_postage_stamp Simplicity, in the specific case of "A lab the size of a postage stamp"]<br />
<br />
'''"Why toys make good medical devices | Jose Gomez-Marquez'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/UHCT9SOBHs0<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
We develop empowerment technologies for health. We believe that innovation and design happens at the frontline of healthcare where providers and patients can invent everyday technologies to improve outcomes. By radically democratizing the tools of medical creation, we seek to enable front line patients and providers to invent answers to disease burdens.<br />
<br />
https://littledevices.org/<br />
<br />
''' GOSH - Gathering for Open Science Hardware '''<br />
<br />
From microscopes to microfluidics and water quality test equipment, hardware is a vital part of science. Advances in instrumentation have been central to scientific revolutions and access to hardware shapes the work of communities conducting research globally on a daily basis. However, the current supply chain for science hardware limits access for many groups of people and impedes creativity and customisation. Open Science Hardware (OScH) means sharing designs for scientific hardware openly online that anyone is freely able to use, modify and even commercialize. This approach could drastically reduce the costs of research while enabling people to collaborate and learn in new ways.<br />
<br />
The Global Open Science Hardware community supports OScH by convening meetings such as the Gathering for Open Science Hardware (GOSH), publications, activities and providing a forum for the community. <br />
<br />
See more on [https://openhardware.science/ GOSH website] and join the [https://forum.openhardware.science/ forum to discuss]!<br />
<br />
'''Together we will make [https://openhardware.science/global-open-science-hardware-roadmap/ Open Science Hardware ubiquitous by 2025] and build new futures for science.'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/zZXOi6zCMDA<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''Low-Cost and Open Source Tools'''<br />
<br />
https://youtu.be/9-fW82hClJY?t=4460<br />
<br />
== How to use this wiki ==<br />
<br />
Dear participants, please make sure you prepare your account and get some first experience in using a wiki, in this case it's [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] the same software on which the famous wikipedia has been created. The previous link directs you to many instructions on how to use a wiki. look at it.<br />
<br />
Try it out and create a new page for your team's project notes and documentation, give it a reasonable name. <br />
<br />
[[Ich Komme Nicht Draus]]<br />
<br />
=== CATCHA ===<br />
<br />
To prevent spam, we have a catcha in place. At the bottom of the page, when you edit something, you need to reply to a simple question. So we make sure you are not a robot :-)<br />
<br />
[[Team 34 ist cool]]<br />
<br />
=== Change your password ===<br />
<br />
You should have received a login by now. In the right upper corner you should see a link to your user preferences. Please change your password!<br />
<br />
=== Use Category ===<br />
<br />
Make sure you add the following line at the end of all the pages you create, so it will be sorted all in the same category. Future students will be happy!<br />
<br />
[[ <code> Category:MedTech-DIY </code> ]]<br />
<br />
[[Category:MedTech-DIY]]<br />
<br />
=== Hallo ===<br />
<br />
Please write a [[few sentences about yourself]], add links to your other websites, blogs, biographies, artworks. <br />
<br />
* try to add images<br />
* "internal links" to other pages on the hackteria wiki<br />
* "external likns" to websites<br />
* embed a youtube video?<br />
<br />
You can always click the "edit" link on this or other pages to see how stuff has been written in the mediawiki language.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Medizintechnik_DIY&diff=45303Medizintechnik DIY2021-09-18T13:35:03Z<p>Robin.schaumlechner: /* Team Auslöten */</p>
<hr />
<div><div style="float:right" class="toclimit-2">__TOC__</div><br />
<br />
[[File:150210716_233172705108857_8497346149908168942_n.jpg|640px]]<br />
<br><br />
<br><br />
== Kurzbeschrieb ==<br />
<br />
Das Modul verbindet Anwendungen der Medizintechnik mit Do It Yourself (DIY) Ansätzen. Dadurch wird das tiefere Verständnis von Medizintechnischen Geräten durch einen direkten, interdisziplinären und möglichst selbstgesteuerten Zugang gefördert. Basierend auf verschiedenen elektrophysiologischen Messmodulen (EMG, EKG, EOG, EEG) entwickeln die Studierenden im Team Ideen für innovative Projekte. Erste Prototypen werden mit den Mitteln der Digitalen Fabrikation hergestellt und getestet.<br />
<br />
[[File:Keywords_overview.jpg|400px]]<br />
<br />
=== Dokumentationen der früherern Durchführungen ===<br />
<br />
[[Medizintechnik DIY ws21]] [[Medizintechnik DIY 2020]] [[Medizintechnik DIY 2019]] [[Medizintechnik DIY 2018]]<br />
<br />
Sämtliche Wiki-Seite früherer Durchführungen sind hier: https://www.hackteria.org/wiki/Category:MedTech-DIY<br />
<br />
== Covid-19 Schutzmassnahmen ==<br />
<br />
Die COVID-19 Schutzregeln der HSLU und des BAG gelten wie üblich.<br />
<br />
== Location(s) ==<br />
<br />
'''FabLab Horw (Trakt I)'''<br />
<br />
[[File:Location_fablab.jpg|400px]]<br />
<br />
'''Unterrichtsraum F203 (Trakt II) (... Plätze)''' <br />
<br />
'''tbc: Sitzungszimmer D1 (Trakt I) (12 Plätze)'''<br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Fablab_groundFloor.jpg|Fablab Luzern<br />
File:DIY-MedTech_Fablablab.jpg|WetBioMedLab im Fablab<br />
File:IMG_20180213_165204.jpg|After the 2nd day<br />
File:DIY-MedTech_classroom.jpg|Unterrichtsraum E210<br />
</gallery><br />
<br />
'''[https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json Virtual Lab - 2d Workadventure]'''<br />
<br />
[[File:Virtuelle_RaumEinteiliung.jpg|400px]]<br />
<br />
Hier der Link zum eintreten: https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json<br />
<br />
Damit wir neben der Präsenzzeit online diskutieren und gemeinsam an Projekten arbeiten können, bereiteten wir eine virtuelle Arbeitsumgebung auf mit dem Tool "[https://workadventu.re/ workadventure]" vor. Das Tool funktioniert ausschliesslich mit einem Laptop / PC, leider (noch) kein gut funktionierender Smartphone Support.<br />
<br />
== Schedule ==<br />
<br />
Montag, 13. September - Samstag 18. September 2020<br />
<br />
Täglich von 9:00 - 12.00 and 13.00 - 16:30 Uhr (Fablab offen ab 8:45)<br />
<br />
Dienstag bis 19:00 Uhr<br />
<br />
Samstag 10:00 - 13:00 Uhr<br />
<br />
<span style="color:#81d41a; font-size:120%">Neues Schedule</span><br />
<br />
[[File:WeekgridMedTech2021HS_final.jpg|640px]]<br />
<br />
<br clear=all><br />
<br />
=== Content ===<br />
<br />
'''Preparation:''' <br />
* Read and Reflect<br />
* Prepare for Team Discussion<br />
<br />
'''Learn 0: Introduction'''<br />
* Introduction into DIY and Fablab<br />
* Introduction of Winterschool<br />
* Wiki-Intro<br />
<br />
'''Hack 0: Body-Signals'''<br />
* Lötle<br />
* Experimentiere<br />
<br />
'''Learn 1: Un-conferencing'''<br />
* Input Lectures on MedTech and DIY Hacking Cultures<br />
<br />
'''Hack 1:'''<br />
* Refraining<br />
* Experimenting<br />
* more Prototyping<br />
<br />
'''Share:'''<br />
* Documentation<br />
* Presentation<br />
<br />
'''Post Production:'''<br />
* Final Documentation<br />
<br />
=== Impuls Referate MedTechDIY 2021 ===<br />
==== Dr. Christian Gehringer ====<br />
<br />
'''DIY Ansätze in der Biomedizinischen Forschung'''<br />
<br />
Christian erzählt über seinen beruflichen Werdegang bisher und über 2 Forschungsprojekte, die etwas anders als normal initiiert werden konnten und trotzdem den Weg in die akademisch-wissenschaftliche Welt gefunden haben.<br />
<br />
Die Folien findet ihr hier: [[:File:DIY_Ans_tze_in_Biomedizinischer_Forschung___Presentation_MedTech_2020.pdf]]<br />
<br />
[[File:Folien_christian.jpg|400px]]<br />
<br />
==== The Future Is Not What It Used to Be (2002) ====<br />
<br />
'''A documentary film about Erkki Kurenniemi''' <br />
<br />
[[File:Selection_892.jpg|400px]]<br />
<br />
https://www.imdb.com/title/tt0372001/plotsummary?ref_=tt_ov_pl<br />
<br />
A documentary film about '''Erkki Kurenniemi''' (b. 1941), whose career represents a surprisingly natural blend of music, film, computers, robotics, science and art. His project of collecting everything around him will perhaps be the most significant of all his works. Kurenniemi records his thoughts, observations, objects and images constantly, with manic precision, with the ultimate goal of merging man and machine - reconstructing the human soul. Kurenniemi's story is a fascinating and forceful depiction of a forgotten visionary; it is significant because of the cultural history of the unique, never- before-seen archive material alone. The documentary includes footage of the unique DIMI-instruments developed by Kurenniemi, and segments from unfinished experimental short films from the 1960s. The Future is not what it used to be is a film about the 1960s avant-garde in music and film, the early history of microcomputers and the open questions of 21st century science. Audio commentary by Mika Taanila and Erkki Kurenniemi.<br />
<br />
Download from here (Save as... to your computer): <br />
<br />
https://www.dropbox.com/s/jh6m4hgj6trlrsn/taanila_the-future-is-not-what-it-used-to-be_2002.m4v?dl=0<br />
<br />
==== Marc Dusseiller - Hackteria / SGMK ====<br />
<br />
'''How I ended up loving the Coconut - DIY Culture in a global context'''<br />
<br />
See slides: [[:File:dusjagr_DIY-MedTech_intro_DIY-Culture_2021.pdf]]<br />
<br />
[[File:dusjagrCoconuts_talk.jpg|400px]]<br />
<br />
==== Andreas Kopp - Erfindergarten ====<br />
<br />
'''Maker Extraordinaire?'''<br />
<br />
See slides: https://docs.google.com/presentation/d/1SkSrOMfr1TF-9--QQER83K3uMyfvFfBAE5V9OaN93Qo/<br />
<br />
Download: [[:File:Maker Extraordinaire 2020.pdf]]<br />
<br />
[[File:wirvsvirus.jpg|400px]]<br />
<br><br />
<br />
== Schlusspräsentationen / Demos Zeitplan ==<br />
<br><br />
Mit den Gruppenpräsentationen wollen wir uns nochmals gemeinsam anschauen was ihr in dieser Woche gearbeitet, gelernt und erlebt habt. Zeigt was ihr geforscht und gebaut habt. Wo ihr vielleicht auch auf Probleme gestossen seit oder etwas nicht wir geplant funktioniert hat. Wie habt ihr in der Gruppe gearbeitet und was konntet ihr auch voneinander lernen. Versucht die Präsentation / Demo lebendig zu gestalten und mit verschiedenen Medien zu arbeiten. <br />
<br />
'''Hier einige Tipps und Ideen dazu:'''<br><br />
* Nutzt eine Kamera um ein Close-Up von Prototypen oder Experimentier-Aufbauten zu zeigen.<br />
* Zeigt Folien oder Bilder indem ihr euren Bildschirm "shared"<br />
* Es gibt auch eine Funktion um YouTube Videos im jitsi für alle einzublenden<br />
* Überlegt euch einen Ablauf und präsentiert gemeinsam. Eine Person kann zB auf seinem Kanal ein Bild zeigen während eine andere Person dazu spricht.<br />
<br><br />
'''Tipps für die Zuhörer:'''<br><br />
* Schaltet zwischen Kachel-Übersicht und Grossansicht hin und her um alles gut zu sehen<br />
* Wie immer ist es schön wenn man auch das "Publikum" mit Bild sieht<br />
* Nutz die Chat funktion im Jitsi um Anmerkungen und Fragen zu stellen, die im Anschluss besrochen werden können<br />
* Stellt Fragen und gebt Feedback. Man darf auch online einfach mal aus Freude was dazwischen "jolen"<br />
<br><br />
'''Zeitplan''' (zufällige Einteilung)<br><br />
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10"<br />
|'''Wann'''<br />
|'''Wer'''<br />
|-<br />
|10:00 - 10:10<br />
|Marc - Willkommen / Einleitung<br />
|-<br />
|10:15 - 10:35<br />
|[[Team Chihuahua]]<br />
|-<br />
|10:40 - 11:00<br />
|[[Team Da Vintschi]]<br />
|-<br />
|11:05- 11:25<br />
|[[Team Auslöten]]<br />
|-<br />
|11:30 - 11:50<br />
|[[Team Beta]]<br />
|-<br />
|11:50 - 12:15<br />
|Abschluss, Feedback, Goodbye<br />
|}<br />
<br />
'''Wo:''' Im Online-Classroom des [https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json virtuallen Fablabs]. Für die Präsentation ist es vielleicht einfacher wenn ihr dem Jitsi Raum per Link beitretet.<br />
<br><br />
<br />
== Wird nicht durchgeführt.... Skill Share Sessions ==<br />
<br />
''Was ist eine Skill Share Session?''<br />
<br />
Wird im Rahmen der Einleitung im Detail erklärt. Hier ein paar Beispiele der verschiedenen Methoden für die Durchführung.<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
== Student Teams ==<br />
<br />
4 Teams à 3 Studierende<br />
<br />
Aufgabe an alle Teams am ersten Tag der Blockwoche. <br />
* Gebt euch einen eigenen originelle Teamnamen, der mit dem Anfangsbuchstaben A B C D beginnt<br />
* Erstellt eine Wiki-Seite für euer Team.<br />
* Lädt ein Bild auf eure Seite<br />
* Kurzer Beschreib der Teammitglieder<br />
<br />
=== [[Team Auslöten]] ===<br />
<br />
====Zusammenfassung und Reflexion====<br />
<br />
<br />
====Prototypen====<br />
[[File:CO2_Detector.PNG|400px]]<br />
[[File:EntwichlungCo2_Detector.PNG|370px]]<br />
<br />
=== [[Team Beta]] ===<br />
<br />
Alle Studierende von zu Hause. HomeLab<br />
<br />
* Benjamin Zuber<br />
* Patrick Stadelmann<br />
* Fabian Kaiser<br />
<br />
=== [[Team Chihuahua]] ===<br />
<br />
Das Team Chihuahua besteht aus den drei Medizintechnik-Studenten Gabriel Haupt, David Lussmann und Jill Scheidegger.<br />
<br />
====Zusammenfassung und Reflexion====<br />
<br />
tbd<br />
<br />
====Prototypen====<br />
<br />
'''Hack 0: Body Signals'''<br />
<br />
Mithilfe der Aktionspotenzial der Muskeln konnten LEDs beleuchtet werden. Je stärker der Muskel angespannt wurde, desto mehr LEDs sind aufgeleuchtet. <br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Montag1.jpg<br />
File:Montag2.jpg<br />
File:Montag3.jpg|mit Lautsprecher<br />
File:Muscle Spikeshield1.PNG<br />
</gallery><br />
<br />
<br />
'''Hack 1: Piano'''<br />
<br />
Beim Hack 1 wurde ein MiniPiano gebaut, das über ein Arduino angesteuert wird.<br />
<br />
<gallery mode="packed-hover" widths=500px heights=400px><br />
File:fr_2.jpeg<br />
File:fr_1.jpeg<br />
</gallery><br />
<br />
=== [[Team Da Vintschi]] ===<br />
<br />
2 Studierende von zu Hause<br />
<br />
* Sandro Gantner<br />
* Kilian Huber<br />
* André Jaun<br />
<br />
=== [[Team Mentorzz 2021]] ===<br />
<br />
* Marc Dusseiller<br />
* Effi Tanner<br />
* Chris Obrist<br />
* Christian Gehringer<br />
<br />
=== Beispiele aus alten Jahrgängen: ===<br />
<br />
Am Abschluss der Blockwoche, soll für jedes Team auf dieser Frontseite eine kurze Zusammenfassung gemacht werden.<br />
<br />
==== Beispiel für Zusammenfassung auf Frontseite ====<br />
<br />
* In einem ersten Abschnitt soll jedes Team in eingen wenigen Sätzen ihre '''Zusammenfassung und Reflektion''' beschreiben. <br />
* Im zweiten Abschnitt ein Überblick über die '''Prototypen''' der verschiedenen Projekten als Fotogallerie und 1-2 Sätze dazu.<br />
<br />
[[File:Doku_Beispiel_Zusammenfassung.jpg|800px]]<br />
<br />
== Testat ==<br />
<br />
=== Teilnahme ===<br />
* Pflichtlektüren gelesen<br />
* Aktive Teilnahme an allen Tagen der Blockwoche<br />
<br />
=== Leistungsnachweis ===<br />
<br />
'''Wiki-Seite pro Gruppe (70%) mit:'''<br />
* Reflektion zu Readings / Input Vorlesungen<br />
* Dokumentation der Experimente während der Woche<br />
(Experimente, Resultate, Erkenntnisse, Links/Resourcen, Bilder)<br />
<br />
* Zusammenfassung auf wiki Frontseite<br />
<br />
'''Schlusspräsentation in der Gruppe am Samstag (30%)'''<br />
<br />
* Raufladen der Schlusspräsentationen. Als .pdf oder slideshare.<br />
<br />
'''Abgabetermin Wiki-Seiten: Sonntag 26. September 23:59'''<br />
<br />
== [[DIY-MedTech Resources]] ==<br />
<br />
[[Medizintechnik DIY Resources]]<br />
<br />
=== Quick Links ===<br />
<br />
Backyard Brains DIY Muscle Shield<br><br />
https://backyardbrains.com/products/diymusclespikershield<br />
<br />
Interessante EKG Einführung<br> <br />
https://biosignals.berndporr.me.uk/<br />
<br />
=== Methoden für Break Out / Skill Share Sessions ===<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
http://finding-marbles.com/retr-o-mat/was-ist-eine-agile-retrospektive/<br />
<br />
== Pflichtlektüre & Videos ==<br />
<br />
'''''Open Culture did not start with the invention of the computer'''''<br />
<br />
''Open Culture is a concept according to which knowledge should be spread freely and its growth should come from developing, altering or enriching already existing works on the basis of sharing and collaboration, without being restricted by rules linked to the legal protection of intellectual property. In a context of globalization, the consequence is that all citizens should have equal access to information.''<br />
<br />
=== FabLab ===<br />
'''Fab Charta'''<br />
<br />
http://fablab-luzern.ch/info/fab-charta-2/#FabCharter<br />
<br />
=== Articles ===<br />
<br />
'''Biotechnology for All / DIY in bioanalytics: doing and grasping it yourself. SATW publication 2015'''<br />
[[File:SATW_article_cover.png|right|thumb|200px]]<br />
Warum Do-It-Your-Self in der Lehre? Ein Artikel der über unsere Arbeit geschrieben wurde:<br />
<br />
[https://www.hackteria.org/wiki/images/8/87/SATW_INFO_2-15_DIY-Bio_EN.pdf SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself]. <br />
<br />
[https://www.hackteria.org/wiki/images/a/ac/SATW_INFO_2-15_DIY-Bio_DE.pdf «Do it yourself» in der Bioanalytik – zum Download auf Deutsch]<br />
<br />
"Biotechnologische Forschung findet heute nicht mehr nur in spezialisierten Labors statt. Eine wachsende Gemeinschaft von Biologen, Bastlern und Technikbegeisterten experimentiert in Küchen, Werkstätten und Eigenbau-Labors. Einige sehen in der Demokratisierung der Biotechnologie eine Gefahr; andere die Chance für ein besseres Verständnis von komplexen wissenschaftlichen Zusammenhängen in der Gesellschaft."<br />
<br />
The article from SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself is available for download in German, English and French. The pedagogic conecpt and educational kits were developed during a project funded by the Swiss Academy for Engineering Sciences (SATW), together with hackteria, M. Dusseiller and U. Gaudenz, and FHNW School for Lifesciences, Dr. D. Gygax, during a workshop with an interdisciplinary group of participants. More info [http://hackteria.org/education/satw/ here].<br />
<br />
'''Interview in "The Art of Free and Open Science", MCD#68'''<br />
[[File:MCD_86_hackteria.png|right|thumb|200px]]<br />
Was ist Hackteria?<br />
<br />
[https://www.hackteria.org/media/interview-in-mcd68/ Mehr zum Artikel und Interview in MCD#68]<br />
<br />
[http://www.hackteria.org/wordpress/wp-content/uploads/2012/10/hackteria_interview_MCD68.pdf Interview zum Download in Englisch]<br />
<br />
Hackteria is a network of people practicing DIY (do-it-yourself) biology with an interest in art, design and interdisciplinary cooperation. The network was founded in 2009 by Yashas Shetty, Andy Gracie and Marc Dusseiller and now includes not only scientists, engineers and artists, as you would expect, but also philosophers, entrepreneurs, and even foodies and chefs. Hackteria operates on a global scale, and is based on a web platform and a wiki for sharing knowledge, which enable anyone to learn but also test different ways of hacking living systems. Hackteria is not based in a physical space, and its goal is to allow artists, scientists and hackers to collaborate and test various biohacking and bioart techniques outside the official laboratories and art institutions, basically anywhere in the world.<br />
<br />
=== Videos ===<br />
<br />
'''How to control someone else's arm with your brain | Greg Gage'''<br />
<br />
Die elektrophysiologischen Messmodulen wurden von unserem Freund Greg Gage entwickelt. Hier ein TED Video dazu:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/rSQNi5sAwuc<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
As grad students at the University of Michigan, co-founders Tim and Greg often interacted with schoolchildren during neuroscience outreach events. We often wanted to show real "spiking" activity to students, but this was impossible due to the high cost of equipment. By using off-the-shelf electronics, we designed kits that could provide insight into the inner workings of the nervous system.<br />
<br />
Go and look at their website! [https://backyardbrains.com/ Backyard Brains - Neuroscience For Everyone!]<br />
<br />
'''What is Open Source explained in LEGO'''<br />
<br />
Und was ist eigentlich OpenSource?<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/a8fHgx9mE5U<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''You can learn Arduino in 15 minutes'''<br />
<br />
Dann brauchen wir für unsere Experimente ein Arduino. Wenn ihr das nicht schon kennt, schaut euch das mal an:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/nL34zDTPkcs<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
The ultimate Arduino tutorial for beginners. Learn how to choose an Arduino, dim LEDs, build a motor speed controller and more.<br />
<br />
== Weiterführende Links und Literatur ==<br />
<br />
[[File:Keywords_overview32.jpg|400px]]<br />
<br />
=== Maker-Response to COVID-19 Pandemic ===<br />
[[File:HEISE_GesundMaker.jpg|thumb|320px]]<br />
'''Stitching Together a Solution: Lessons from the Open Source Hardware Response to COVID-19'''<br />
<br />
https://www.law.nyu.edu/sites/default/files/stitching-together-a-solution-202102.pdf<br />
<br />
<br />
'''Making hardware ‘open source’ can help us fight future pandemics - here’s how we get there'''<br />
<br />
https://theconversation.com/making-hardware-open-source-can-help-us-fight-future-pandemics-heres-how-we-get-there-153280<br />
<br />
And further reference to this detailed research by J. Pearce on open source ventilators:<br />
https://f1000research.com/articles/9-218/v2<br />
<br />
<br />
'''Fokus Open Source: Die Gesund-Maker - Stethoskope aus der Kellerwerkstatt'''<br />
<br />
https://www.heise.de/hintergrund/Fokus-Open-Source-Die-Gesund-Maker-4700871.html<br />
<br />
<br />
'''Open Source Medical Supplies'''<br />
<br />
https://opensourcemedicalsupplies.org/<br />
<br />
[https://datastudio.google.com/reporting/ec7e0931-d311-48c0-809f-f984df4f6d13/page/3SaMB Hier eine Visualisierung der OSMS Aktivitäten]<br />
<br />
<br />
'''Maker response in France'''<br />
<br />
https://www.solidarum.org/sante/covid-19-l-apres-de-mobilisation-des-makers-en-france<br />
<br />
<br />
<br />
'''‘Viral Design’ - The COVID-19 Crisis as a Global Test Bed for Distributed Design'''<br />
<br />
https://distributeddesign.eu/wp-content/uploads/2020/11/DistributedDesignBook_2020-online.pdf<br />
<br />
<br />
=== Brain Interfaces ===<br />
<br />
'''Human Mind Control of Rat Cyborg’s Continuous Locomotion with Wireless Brain-to-Brain Interface'''<br />
<br />
https://www.nature.com/articles/s41598-018-36885-0<br />
<br />
<br />
=== Weitere Videos ===<br />
<br />
Und wer noch mehr TED schauen möchte, den finden wir auch gut:<br />
<br />
'''"Simplicity: We know it when we see it" | George Whitesides'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/GayY-mjZXrQ<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
Simplicity: We know it when we see it -- but what is it, exactly? In this funny, philosophical talk, George Whitesides chisels out an answer.<br />
<br />
More about [https://www.ted.com/talks/george_whitesides_a_lab_the_size_of_a_postage_stamp Simplicity, in the specific case of "A lab the size of a postage stamp"]<br />
<br />
'''"Why toys make good medical devices | Jose Gomez-Marquez'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/UHCT9SOBHs0<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
We develop empowerment technologies for health. We believe that innovation and design happens at the frontline of healthcare where providers and patients can invent everyday technologies to improve outcomes. By radically democratizing the tools of medical creation, we seek to enable front line patients and providers to invent answers to disease burdens.<br />
<br />
https://littledevices.org/<br />
<br />
''' GOSH - Gathering for Open Science Hardware '''<br />
<br />
From microscopes to microfluidics and water quality test equipment, hardware is a vital part of science. Advances in instrumentation have been central to scientific revolutions and access to hardware shapes the work of communities conducting research globally on a daily basis. However, the current supply chain for science hardware limits access for many groups of people and impedes creativity and customisation. Open Science Hardware (OScH) means sharing designs for scientific hardware openly online that anyone is freely able to use, modify and even commercialize. This approach could drastically reduce the costs of research while enabling people to collaborate and learn in new ways.<br />
<br />
The Global Open Science Hardware community supports OScH by convening meetings such as the Gathering for Open Science Hardware (GOSH), publications, activities and providing a forum for the community. <br />
<br />
See more on [https://openhardware.science/ GOSH website] and join the [https://forum.openhardware.science/ forum to discuss]!<br />
<br />
'''Together we will make [https://openhardware.science/global-open-science-hardware-roadmap/ Open Science Hardware ubiquitous by 2025] and build new futures for science.'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/zZXOi6zCMDA<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''Low-Cost and Open Source Tools'''<br />
<br />
https://youtu.be/9-fW82hClJY?t=4460<br />
<br />
== How to use this wiki ==<br />
<br />
Dear participants, please make sure you prepare your account and get some first experience in using a wiki, in this case it's [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] the same software on which the famous wikipedia has been created. The previous link directs you to many instructions on how to use a wiki. look at it.<br />
<br />
Try it out and create a new page for your team's project notes and documentation, give it a reasonable name. <br />
<br />
[[Ich Komme Nicht Draus]]<br />
<br />
=== CATCHA ===<br />
<br />
To prevent spam, we have a catcha in place. At the bottom of the page, when you edit something, you need to reply to a simple question. So we make sure you are not a robot :-)<br />
<br />
[[Team 34 ist cool]]<br />
<br />
=== Change your password ===<br />
<br />
You should have received a login by now. In the right upper corner you should see a link to your user preferences. Please change your password!<br />
<br />
=== Use Category ===<br />
<br />
Make sure you add the following line at the end of all the pages you create, so it will be sorted all in the same category. Future students will be happy!<br />
<br />
[[ <code> Category:MedTech-DIY </code> ]]<br />
<br />
[[Category:MedTech-DIY]]<br />
<br />
=== Hallo ===<br />
<br />
Please write a [[few sentences about yourself]], add links to your other websites, blogs, biographies, artworks. <br />
<br />
* try to add images<br />
* "internal links" to other pages on the hackteria wiki<br />
* "external likns" to websites<br />
* embed a youtube video?<br />
<br />
You can always click the "edit" link on this or other pages to see how stuff has been written in the mediawiki language.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Medizintechnik_DIY&diff=45302Medizintechnik DIY2021-09-18T13:33:59Z<p>Robin.schaumlechner: /* Team Auslöten */</p>
<hr />
<div><div style="float:right" class="toclimit-2">__TOC__</div><br />
<br />
[[File:150210716_233172705108857_8497346149908168942_n.jpg|640px]]<br />
<br><br />
<br><br />
== Kurzbeschrieb ==<br />
<br />
Das Modul verbindet Anwendungen der Medizintechnik mit Do It Yourself (DIY) Ansätzen. Dadurch wird das tiefere Verständnis von Medizintechnischen Geräten durch einen direkten, interdisziplinären und möglichst selbstgesteuerten Zugang gefördert. Basierend auf verschiedenen elektrophysiologischen Messmodulen (EMG, EKG, EOG, EEG) entwickeln die Studierenden im Team Ideen für innovative Projekte. Erste Prototypen werden mit den Mitteln der Digitalen Fabrikation hergestellt und getestet.<br />
<br />
[[File:Keywords_overview.jpg|400px]]<br />
<br />
=== Dokumentationen der früherern Durchführungen ===<br />
<br />
[[Medizintechnik DIY ws21]] [[Medizintechnik DIY 2020]] [[Medizintechnik DIY 2019]] [[Medizintechnik DIY 2018]]<br />
<br />
Sämtliche Wiki-Seite früherer Durchführungen sind hier: https://www.hackteria.org/wiki/Category:MedTech-DIY<br />
<br />
== Covid-19 Schutzmassnahmen ==<br />
<br />
Die COVID-19 Schutzregeln der HSLU und des BAG gelten wie üblich.<br />
<br />
== Location(s) ==<br />
<br />
'''FabLab Horw (Trakt I)'''<br />
<br />
[[File:Location_fablab.jpg|400px]]<br />
<br />
'''Unterrichtsraum F203 (Trakt II) (... Plätze)''' <br />
<br />
'''tbc: Sitzungszimmer D1 (Trakt I) (12 Plätze)'''<br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Fablab_groundFloor.jpg|Fablab Luzern<br />
File:DIY-MedTech_Fablablab.jpg|WetBioMedLab im Fablab<br />
File:IMG_20180213_165204.jpg|After the 2nd day<br />
File:DIY-MedTech_classroom.jpg|Unterrichtsraum E210<br />
</gallery><br />
<br />
'''[https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json Virtual Lab - 2d Workadventure]'''<br />
<br />
[[File:Virtuelle_RaumEinteiliung.jpg|400px]]<br />
<br />
Hier der Link zum eintreten: https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json<br />
<br />
Damit wir neben der Präsenzzeit online diskutieren und gemeinsam an Projekten arbeiten können, bereiteten wir eine virtuelle Arbeitsumgebung auf mit dem Tool "[https://workadventu.re/ workadventure]" vor. Das Tool funktioniert ausschliesslich mit einem Laptop / PC, leider (noch) kein gut funktionierender Smartphone Support.<br />
<br />
== Schedule ==<br />
<br />
Montag, 13. September - Samstag 18. September 2020<br />
<br />
Täglich von 9:00 - 12.00 and 13.00 - 16:30 Uhr (Fablab offen ab 8:45)<br />
<br />
Dienstag bis 19:00 Uhr<br />
<br />
Samstag 10:00 - 13:00 Uhr<br />
<br />
<span style="color:#81d41a; font-size:120%">Neues Schedule</span><br />
<br />
[[File:WeekgridMedTech2021HS_final.jpg|640px]]<br />
<br />
<br clear=all><br />
<br />
=== Content ===<br />
<br />
'''Preparation:''' <br />
* Read and Reflect<br />
* Prepare for Team Discussion<br />
<br />
'''Learn 0: Introduction'''<br />
* Introduction into DIY and Fablab<br />
* Introduction of Winterschool<br />
* Wiki-Intro<br />
<br />
'''Hack 0: Body-Signals'''<br />
* Lötle<br />
* Experimentiere<br />
<br />
'''Learn 1: Un-conferencing'''<br />
* Input Lectures on MedTech and DIY Hacking Cultures<br />
<br />
'''Hack 1:'''<br />
* Refraining<br />
* Experimenting<br />
* more Prototyping<br />
<br />
'''Share:'''<br />
* Documentation<br />
* Presentation<br />
<br />
'''Post Production:'''<br />
* Final Documentation<br />
<br />
=== Impuls Referate MedTechDIY 2021 ===<br />
==== Dr. Christian Gehringer ====<br />
<br />
'''DIY Ansätze in der Biomedizinischen Forschung'''<br />
<br />
Christian erzählt über seinen beruflichen Werdegang bisher und über 2 Forschungsprojekte, die etwas anders als normal initiiert werden konnten und trotzdem den Weg in die akademisch-wissenschaftliche Welt gefunden haben.<br />
<br />
Die Folien findet ihr hier: [[:File:DIY_Ans_tze_in_Biomedizinischer_Forschung___Presentation_MedTech_2020.pdf]]<br />
<br />
[[File:Folien_christian.jpg|400px]]<br />
<br />
==== The Future Is Not What It Used to Be (2002) ====<br />
<br />
'''A documentary film about Erkki Kurenniemi''' <br />
<br />
[[File:Selection_892.jpg|400px]]<br />
<br />
https://www.imdb.com/title/tt0372001/plotsummary?ref_=tt_ov_pl<br />
<br />
A documentary film about '''Erkki Kurenniemi''' (b. 1941), whose career represents a surprisingly natural blend of music, film, computers, robotics, science and art. His project of collecting everything around him will perhaps be the most significant of all his works. Kurenniemi records his thoughts, observations, objects and images constantly, with manic precision, with the ultimate goal of merging man and machine - reconstructing the human soul. Kurenniemi's story is a fascinating and forceful depiction of a forgotten visionary; it is significant because of the cultural history of the unique, never- before-seen archive material alone. The documentary includes footage of the unique DIMI-instruments developed by Kurenniemi, and segments from unfinished experimental short films from the 1960s. The Future is not what it used to be is a film about the 1960s avant-garde in music and film, the early history of microcomputers and the open questions of 21st century science. Audio commentary by Mika Taanila and Erkki Kurenniemi.<br />
<br />
Download from here (Save as... to your computer): <br />
<br />
https://www.dropbox.com/s/jh6m4hgj6trlrsn/taanila_the-future-is-not-what-it-used-to-be_2002.m4v?dl=0<br />
<br />
==== Marc Dusseiller - Hackteria / SGMK ====<br />
<br />
'''How I ended up loving the Coconut - DIY Culture in a global context'''<br />
<br />
See slides: [[:File:dusjagr_DIY-MedTech_intro_DIY-Culture_2021.pdf]]<br />
<br />
[[File:dusjagrCoconuts_talk.jpg|400px]]<br />
<br />
==== Andreas Kopp - Erfindergarten ====<br />
<br />
'''Maker Extraordinaire?'''<br />
<br />
See slides: https://docs.google.com/presentation/d/1SkSrOMfr1TF-9--QQER83K3uMyfvFfBAE5V9OaN93Qo/<br />
<br />
Download: [[:File:Maker Extraordinaire 2020.pdf]]<br />
<br />
[[File:wirvsvirus.jpg|400px]]<br />
<br><br />
<br />
== Schlusspräsentationen / Demos Zeitplan ==<br />
<br><br />
Mit den Gruppenpräsentationen wollen wir uns nochmals gemeinsam anschauen was ihr in dieser Woche gearbeitet, gelernt und erlebt habt. Zeigt was ihr geforscht und gebaut habt. Wo ihr vielleicht auch auf Probleme gestossen seit oder etwas nicht wir geplant funktioniert hat. Wie habt ihr in der Gruppe gearbeitet und was konntet ihr auch voneinander lernen. Versucht die Präsentation / Demo lebendig zu gestalten und mit verschiedenen Medien zu arbeiten. <br />
<br />
'''Hier einige Tipps und Ideen dazu:'''<br><br />
* Nutzt eine Kamera um ein Close-Up von Prototypen oder Experimentier-Aufbauten zu zeigen.<br />
* Zeigt Folien oder Bilder indem ihr euren Bildschirm "shared"<br />
* Es gibt auch eine Funktion um YouTube Videos im jitsi für alle einzublenden<br />
* Überlegt euch einen Ablauf und präsentiert gemeinsam. Eine Person kann zB auf seinem Kanal ein Bild zeigen während eine andere Person dazu spricht.<br />
<br><br />
'''Tipps für die Zuhörer:'''<br><br />
* Schaltet zwischen Kachel-Übersicht und Grossansicht hin und her um alles gut zu sehen<br />
* Wie immer ist es schön wenn man auch das "Publikum" mit Bild sieht<br />
* Nutz die Chat funktion im Jitsi um Anmerkungen und Fragen zu stellen, die im Anschluss besrochen werden können<br />
* Stellt Fragen und gebt Feedback. Man darf auch online einfach mal aus Freude was dazwischen "jolen"<br />
<br><br />
'''Zeitplan''' (zufällige Einteilung)<br><br />
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10"<br />
|'''Wann'''<br />
|'''Wer'''<br />
|-<br />
|10:00 - 10:10<br />
|Marc - Willkommen / Einleitung<br />
|-<br />
|10:15 - 10:35<br />
|[[Team Chihuahua]]<br />
|-<br />
|10:40 - 11:00<br />
|[[Team Da Vintschi]]<br />
|-<br />
|11:05- 11:25<br />
|[[Team Auslöten]]<br />
|-<br />
|11:30 - 11:50<br />
|[[Team Beta]]<br />
|-<br />
|11:50 - 12:15<br />
|Abschluss, Feedback, Goodbye<br />
|}<br />
<br />
'''Wo:''' Im Online-Classroom des [https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json virtuallen Fablabs]. Für die Präsentation ist es vielleicht einfacher wenn ihr dem Jitsi Raum per Link beitretet.<br />
<br><br />
<br />
== Wird nicht durchgeführt.... Skill Share Sessions ==<br />
<br />
''Was ist eine Skill Share Session?''<br />
<br />
Wird im Rahmen der Einleitung im Detail erklärt. Hier ein paar Beispiele der verschiedenen Methoden für die Durchführung.<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
== Student Teams ==<br />
<br />
4 Teams à 3 Studierende<br />
<br />
Aufgabe an alle Teams am ersten Tag der Blockwoche. <br />
* Gebt euch einen eigenen originelle Teamnamen, der mit dem Anfangsbuchstaben A B C D beginnt<br />
* Erstellt eine Wiki-Seite für euer Team.<br />
* Lädt ein Bild auf eure Seite<br />
* Kurzer Beschreib der Teammitglieder<br />
<br />
=== [[Team Auslöten]] ===<br />
<br />
====Prototypen====<br />
[[File:CO2_Detector.PNG|400px]]<br />
[[File:EntwichlungCo2_Detector.PNG|370px]]<br />
<br />
=== [[Team Beta]] ===<br />
<br />
Alle Studierende von zu Hause. HomeLab<br />
<br />
* Benjamin Zuber<br />
* Patrick Stadelmann<br />
* Fabian Kaiser<br />
<br />
=== [[Team Chihuahua]] ===<br />
<br />
Das Team Chihuahua besteht aus den drei Medizintechnik-Studenten Gabriel Haupt, David Lussmann und Jill Scheidegger.<br />
<br />
====Zusammenfassung und Reflexion====<br />
<br />
tbd<br />
<br />
====Prototypen====<br />
<br />
'''Hack 0: Body Signals'''<br />
<br />
Mithilfe der Aktionspotenzial der Muskeln konnten LEDs beleuchtet werden. Je stärker der Muskel angespannt wurde, desto mehr LEDs sind aufgeleuchtet. <br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Montag1.jpg<br />
File:Montag2.jpg<br />
File:Montag3.jpg|mit Lautsprecher<br />
File:Muscle Spikeshield1.PNG<br />
</gallery><br />
<br />
<br />
'''Hack 1: Piano'''<br />
<br />
Beim Hack 1 wurde ein MiniPiano gebaut, das über ein Arduino angesteuert wird.<br />
<br />
<gallery mode="packed-hover" widths=500px heights=400px><br />
File:fr_2.jpeg<br />
File:fr_1.jpeg<br />
</gallery><br />
<br />
=== [[Team Da Vintschi]] ===<br />
<br />
2 Studierende von zu Hause<br />
<br />
* Sandro Gantner<br />
* Kilian Huber<br />
* André Jaun<br />
<br />
=== [[Team Mentorzz 2021]] ===<br />
<br />
* Marc Dusseiller<br />
* Effi Tanner<br />
* Chris Obrist<br />
* Christian Gehringer<br />
<br />
=== Beispiele aus alten Jahrgängen: ===<br />
<br />
Am Abschluss der Blockwoche, soll für jedes Team auf dieser Frontseite eine kurze Zusammenfassung gemacht werden.<br />
<br />
==== Beispiel für Zusammenfassung auf Frontseite ====<br />
<br />
* In einem ersten Abschnitt soll jedes Team in eingen wenigen Sätzen ihre '''Zusammenfassung und Reflektion''' beschreiben. <br />
* Im zweiten Abschnitt ein Überblick über die '''Prototypen''' der verschiedenen Projekten als Fotogallerie und 1-2 Sätze dazu.<br />
<br />
[[File:Doku_Beispiel_Zusammenfassung.jpg|800px]]<br />
<br />
== Testat ==<br />
<br />
=== Teilnahme ===<br />
* Pflichtlektüren gelesen<br />
* Aktive Teilnahme an allen Tagen der Blockwoche<br />
<br />
=== Leistungsnachweis ===<br />
<br />
'''Wiki-Seite pro Gruppe (70%) mit:'''<br />
* Reflektion zu Readings / Input Vorlesungen<br />
* Dokumentation der Experimente während der Woche<br />
(Experimente, Resultate, Erkenntnisse, Links/Resourcen, Bilder)<br />
<br />
* Zusammenfassung auf wiki Frontseite<br />
<br />
'''Schlusspräsentation in der Gruppe am Samstag (30%)'''<br />
<br />
* Raufladen der Schlusspräsentationen. Als .pdf oder slideshare.<br />
<br />
'''Abgabetermin Wiki-Seiten: Sonntag 26. September 23:59'''<br />
<br />
== [[DIY-MedTech Resources]] ==<br />
<br />
[[Medizintechnik DIY Resources]]<br />
<br />
=== Quick Links ===<br />
<br />
Backyard Brains DIY Muscle Shield<br><br />
https://backyardbrains.com/products/diymusclespikershield<br />
<br />
Interessante EKG Einführung<br> <br />
https://biosignals.berndporr.me.uk/<br />
<br />
=== Methoden für Break Out / Skill Share Sessions ===<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
http://finding-marbles.com/retr-o-mat/was-ist-eine-agile-retrospektive/<br />
<br />
== Pflichtlektüre & Videos ==<br />
<br />
'''''Open Culture did not start with the invention of the computer'''''<br />
<br />
''Open Culture is a concept according to which knowledge should be spread freely and its growth should come from developing, altering or enriching already existing works on the basis of sharing and collaboration, without being restricted by rules linked to the legal protection of intellectual property. In a context of globalization, the consequence is that all citizens should have equal access to information.''<br />
<br />
=== FabLab ===<br />
'''Fab Charta'''<br />
<br />
http://fablab-luzern.ch/info/fab-charta-2/#FabCharter<br />
<br />
=== Articles ===<br />
<br />
'''Biotechnology for All / DIY in bioanalytics: doing and grasping it yourself. SATW publication 2015'''<br />
[[File:SATW_article_cover.png|right|thumb|200px]]<br />
Warum Do-It-Your-Self in der Lehre? Ein Artikel der über unsere Arbeit geschrieben wurde:<br />
<br />
[https://www.hackteria.org/wiki/images/8/87/SATW_INFO_2-15_DIY-Bio_EN.pdf SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself]. <br />
<br />
[https://www.hackteria.org/wiki/images/a/ac/SATW_INFO_2-15_DIY-Bio_DE.pdf «Do it yourself» in der Bioanalytik – zum Download auf Deutsch]<br />
<br />
"Biotechnologische Forschung findet heute nicht mehr nur in spezialisierten Labors statt. Eine wachsende Gemeinschaft von Biologen, Bastlern und Technikbegeisterten experimentiert in Küchen, Werkstätten und Eigenbau-Labors. Einige sehen in der Demokratisierung der Biotechnologie eine Gefahr; andere die Chance für ein besseres Verständnis von komplexen wissenschaftlichen Zusammenhängen in der Gesellschaft."<br />
<br />
The article from SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself is available for download in German, English and French. The pedagogic conecpt and educational kits were developed during a project funded by the Swiss Academy for Engineering Sciences (SATW), together with hackteria, M. Dusseiller and U. Gaudenz, and FHNW School for Lifesciences, Dr. D. Gygax, during a workshop with an interdisciplinary group of participants. More info [http://hackteria.org/education/satw/ here].<br />
<br />
'''Interview in "The Art of Free and Open Science", MCD#68'''<br />
[[File:MCD_86_hackteria.png|right|thumb|200px]]<br />
Was ist Hackteria?<br />
<br />
[https://www.hackteria.org/media/interview-in-mcd68/ Mehr zum Artikel und Interview in MCD#68]<br />
<br />
[http://www.hackteria.org/wordpress/wp-content/uploads/2012/10/hackteria_interview_MCD68.pdf Interview zum Download in Englisch]<br />
<br />
Hackteria is a network of people practicing DIY (do-it-yourself) biology with an interest in art, design and interdisciplinary cooperation. The network was founded in 2009 by Yashas Shetty, Andy Gracie and Marc Dusseiller and now includes not only scientists, engineers and artists, as you would expect, but also philosophers, entrepreneurs, and even foodies and chefs. Hackteria operates on a global scale, and is based on a web platform and a wiki for sharing knowledge, which enable anyone to learn but also test different ways of hacking living systems. Hackteria is not based in a physical space, and its goal is to allow artists, scientists and hackers to collaborate and test various biohacking and bioart techniques outside the official laboratories and art institutions, basically anywhere in the world.<br />
<br />
=== Videos ===<br />
<br />
'''How to control someone else's arm with your brain | Greg Gage'''<br />
<br />
Die elektrophysiologischen Messmodulen wurden von unserem Freund Greg Gage entwickelt. Hier ein TED Video dazu:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/rSQNi5sAwuc<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
As grad students at the University of Michigan, co-founders Tim and Greg often interacted with schoolchildren during neuroscience outreach events. We often wanted to show real "spiking" activity to students, but this was impossible due to the high cost of equipment. By using off-the-shelf electronics, we designed kits that could provide insight into the inner workings of the nervous system.<br />
<br />
Go and look at their website! [https://backyardbrains.com/ Backyard Brains - Neuroscience For Everyone!]<br />
<br />
'''What is Open Source explained in LEGO'''<br />
<br />
Und was ist eigentlich OpenSource?<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/a8fHgx9mE5U<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''You can learn Arduino in 15 minutes'''<br />
<br />
Dann brauchen wir für unsere Experimente ein Arduino. Wenn ihr das nicht schon kennt, schaut euch das mal an:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/nL34zDTPkcs<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
The ultimate Arduino tutorial for beginners. Learn how to choose an Arduino, dim LEDs, build a motor speed controller and more.<br />
<br />
== Weiterführende Links und Literatur ==<br />
<br />
[[File:Keywords_overview32.jpg|400px]]<br />
<br />
=== Maker-Response to COVID-19 Pandemic ===<br />
[[File:HEISE_GesundMaker.jpg|thumb|320px]]<br />
'''Stitching Together a Solution: Lessons from the Open Source Hardware Response to COVID-19'''<br />
<br />
https://www.law.nyu.edu/sites/default/files/stitching-together-a-solution-202102.pdf<br />
<br />
<br />
'''Making hardware ‘open source’ can help us fight future pandemics - here’s how we get there'''<br />
<br />
https://theconversation.com/making-hardware-open-source-can-help-us-fight-future-pandemics-heres-how-we-get-there-153280<br />
<br />
And further reference to this detailed research by J. Pearce on open source ventilators:<br />
https://f1000research.com/articles/9-218/v2<br />
<br />
<br />
'''Fokus Open Source: Die Gesund-Maker - Stethoskope aus der Kellerwerkstatt'''<br />
<br />
https://www.heise.de/hintergrund/Fokus-Open-Source-Die-Gesund-Maker-4700871.html<br />
<br />
<br />
'''Open Source Medical Supplies'''<br />
<br />
https://opensourcemedicalsupplies.org/<br />
<br />
[https://datastudio.google.com/reporting/ec7e0931-d311-48c0-809f-f984df4f6d13/page/3SaMB Hier eine Visualisierung der OSMS Aktivitäten]<br />
<br />
<br />
'''Maker response in France'''<br />
<br />
https://www.solidarum.org/sante/covid-19-l-apres-de-mobilisation-des-makers-en-france<br />
<br />
<br />
<br />
'''‘Viral Design’ - The COVID-19 Crisis as a Global Test Bed for Distributed Design'''<br />
<br />
https://distributeddesign.eu/wp-content/uploads/2020/11/DistributedDesignBook_2020-online.pdf<br />
<br />
<br />
=== Brain Interfaces ===<br />
<br />
'''Human Mind Control of Rat Cyborg’s Continuous Locomotion with Wireless Brain-to-Brain Interface'''<br />
<br />
https://www.nature.com/articles/s41598-018-36885-0<br />
<br />
<br />
=== Weitere Videos ===<br />
<br />
Und wer noch mehr TED schauen möchte, den finden wir auch gut:<br />
<br />
'''"Simplicity: We know it when we see it" | George Whitesides'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/GayY-mjZXrQ<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
Simplicity: We know it when we see it -- but what is it, exactly? In this funny, philosophical talk, George Whitesides chisels out an answer.<br />
<br />
More about [https://www.ted.com/talks/george_whitesides_a_lab_the_size_of_a_postage_stamp Simplicity, in the specific case of "A lab the size of a postage stamp"]<br />
<br />
'''"Why toys make good medical devices | Jose Gomez-Marquez'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/UHCT9SOBHs0<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
We develop empowerment technologies for health. We believe that innovation and design happens at the frontline of healthcare where providers and patients can invent everyday technologies to improve outcomes. By radically democratizing the tools of medical creation, we seek to enable front line patients and providers to invent answers to disease burdens.<br />
<br />
https://littledevices.org/<br />
<br />
''' GOSH - Gathering for Open Science Hardware '''<br />
<br />
From microscopes to microfluidics and water quality test equipment, hardware is a vital part of science. Advances in instrumentation have been central to scientific revolutions and access to hardware shapes the work of communities conducting research globally on a daily basis. However, the current supply chain for science hardware limits access for many groups of people and impedes creativity and customisation. Open Science Hardware (OScH) means sharing designs for scientific hardware openly online that anyone is freely able to use, modify and even commercialize. This approach could drastically reduce the costs of research while enabling people to collaborate and learn in new ways.<br />
<br />
The Global Open Science Hardware community supports OScH by convening meetings such as the Gathering for Open Science Hardware (GOSH), publications, activities and providing a forum for the community. <br />
<br />
See more on [https://openhardware.science/ GOSH website] and join the [https://forum.openhardware.science/ forum to discuss]!<br />
<br />
'''Together we will make [https://openhardware.science/global-open-science-hardware-roadmap/ Open Science Hardware ubiquitous by 2025] and build new futures for science.'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/zZXOi6zCMDA<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''Low-Cost and Open Source Tools'''<br />
<br />
https://youtu.be/9-fW82hClJY?t=4460<br />
<br />
== How to use this wiki ==<br />
<br />
Dear participants, please make sure you prepare your account and get some first experience in using a wiki, in this case it's [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] the same software on which the famous wikipedia has been created. The previous link directs you to many instructions on how to use a wiki. look at it.<br />
<br />
Try it out and create a new page for your team's project notes and documentation, give it a reasonable name. <br />
<br />
[[Ich Komme Nicht Draus]]<br />
<br />
=== CATCHA ===<br />
<br />
To prevent spam, we have a catcha in place. At the bottom of the page, when you edit something, you need to reply to a simple question. So we make sure you are not a robot :-)<br />
<br />
[[Team 34 ist cool]]<br />
<br />
=== Change your password ===<br />
<br />
You should have received a login by now. In the right upper corner you should see a link to your user preferences. Please change your password!<br />
<br />
=== Use Category ===<br />
<br />
Make sure you add the following line at the end of all the pages you create, so it will be sorted all in the same category. Future students will be happy!<br />
<br />
[[ <code> Category:MedTech-DIY </code> ]]<br />
<br />
[[Category:MedTech-DIY]]<br />
<br />
=== Hallo ===<br />
<br />
Please write a [[few sentences about yourself]], add links to your other websites, blogs, biographies, artworks. <br />
<br />
* try to add images<br />
* "internal links" to other pages on the hackteria wiki<br />
* "external likns" to websites<br />
* embed a youtube video?<br />
<br />
You can always click the "edit" link on this or other pages to see how stuff has been written in the mediawiki language.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Medizintechnik_DIY&diff=45301Medizintechnik DIY2021-09-18T13:33:42Z<p>Robin.schaumlechner: /* Team Auslöten */</p>
<hr />
<div><div style="float:right" class="toclimit-2">__TOC__</div><br />
<br />
[[File:150210716_233172705108857_8497346149908168942_n.jpg|640px]]<br />
<br><br />
<br><br />
== Kurzbeschrieb ==<br />
<br />
Das Modul verbindet Anwendungen der Medizintechnik mit Do It Yourself (DIY) Ansätzen. Dadurch wird das tiefere Verständnis von Medizintechnischen Geräten durch einen direkten, interdisziplinären und möglichst selbstgesteuerten Zugang gefördert. Basierend auf verschiedenen elektrophysiologischen Messmodulen (EMG, EKG, EOG, EEG) entwickeln die Studierenden im Team Ideen für innovative Projekte. Erste Prototypen werden mit den Mitteln der Digitalen Fabrikation hergestellt und getestet.<br />
<br />
[[File:Keywords_overview.jpg|400px]]<br />
<br />
=== Dokumentationen der früherern Durchführungen ===<br />
<br />
[[Medizintechnik DIY ws21]] [[Medizintechnik DIY 2020]] [[Medizintechnik DIY 2019]] [[Medizintechnik DIY 2018]]<br />
<br />
Sämtliche Wiki-Seite früherer Durchführungen sind hier: https://www.hackteria.org/wiki/Category:MedTech-DIY<br />
<br />
== Covid-19 Schutzmassnahmen ==<br />
<br />
Die COVID-19 Schutzregeln der HSLU und des BAG gelten wie üblich.<br />
<br />
== Location(s) ==<br />
<br />
'''FabLab Horw (Trakt I)'''<br />
<br />
[[File:Location_fablab.jpg|400px]]<br />
<br />
'''Unterrichtsraum F203 (Trakt II) (... Plätze)''' <br />
<br />
'''tbc: Sitzungszimmer D1 (Trakt I) (12 Plätze)'''<br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Fablab_groundFloor.jpg|Fablab Luzern<br />
File:DIY-MedTech_Fablablab.jpg|WetBioMedLab im Fablab<br />
File:IMG_20180213_165204.jpg|After the 2nd day<br />
File:DIY-MedTech_classroom.jpg|Unterrichtsraum E210<br />
</gallery><br />
<br />
'''[https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json Virtual Lab - 2d Workadventure]'''<br />
<br />
[[File:Virtuelle_RaumEinteiliung.jpg|400px]]<br />
<br />
Hier der Link zum eintreten: https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json<br />
<br />
Damit wir neben der Präsenzzeit online diskutieren und gemeinsam an Projekten arbeiten können, bereiteten wir eine virtuelle Arbeitsumgebung auf mit dem Tool "[https://workadventu.re/ workadventure]" vor. Das Tool funktioniert ausschliesslich mit einem Laptop / PC, leider (noch) kein gut funktionierender Smartphone Support.<br />
<br />
== Schedule ==<br />
<br />
Montag, 13. September - Samstag 18. September 2020<br />
<br />
Täglich von 9:00 - 12.00 and 13.00 - 16:30 Uhr (Fablab offen ab 8:45)<br />
<br />
Dienstag bis 19:00 Uhr<br />
<br />
Samstag 10:00 - 13:00 Uhr<br />
<br />
<span style="color:#81d41a; font-size:120%">Neues Schedule</span><br />
<br />
[[File:WeekgridMedTech2021HS_final.jpg|640px]]<br />
<br />
<br clear=all><br />
<br />
=== Content ===<br />
<br />
'''Preparation:''' <br />
* Read and Reflect<br />
* Prepare for Team Discussion<br />
<br />
'''Learn 0: Introduction'''<br />
* Introduction into DIY and Fablab<br />
* Introduction of Winterschool<br />
* Wiki-Intro<br />
<br />
'''Hack 0: Body-Signals'''<br />
* Lötle<br />
* Experimentiere<br />
<br />
'''Learn 1: Un-conferencing'''<br />
* Input Lectures on MedTech and DIY Hacking Cultures<br />
<br />
'''Hack 1:'''<br />
* Refraining<br />
* Experimenting<br />
* more Prototyping<br />
<br />
'''Share:'''<br />
* Documentation<br />
* Presentation<br />
<br />
'''Post Production:'''<br />
* Final Documentation<br />
<br />
=== Impuls Referate MedTechDIY 2021 ===<br />
==== Dr. Christian Gehringer ====<br />
<br />
'''DIY Ansätze in der Biomedizinischen Forschung'''<br />
<br />
Christian erzählt über seinen beruflichen Werdegang bisher und über 2 Forschungsprojekte, die etwas anders als normal initiiert werden konnten und trotzdem den Weg in die akademisch-wissenschaftliche Welt gefunden haben.<br />
<br />
Die Folien findet ihr hier: [[:File:DIY_Ans_tze_in_Biomedizinischer_Forschung___Presentation_MedTech_2020.pdf]]<br />
<br />
[[File:Folien_christian.jpg|400px]]<br />
<br />
==== The Future Is Not What It Used to Be (2002) ====<br />
<br />
'''A documentary film about Erkki Kurenniemi''' <br />
<br />
[[File:Selection_892.jpg|400px]]<br />
<br />
https://www.imdb.com/title/tt0372001/plotsummary?ref_=tt_ov_pl<br />
<br />
A documentary film about '''Erkki Kurenniemi''' (b. 1941), whose career represents a surprisingly natural blend of music, film, computers, robotics, science and art. His project of collecting everything around him will perhaps be the most significant of all his works. Kurenniemi records his thoughts, observations, objects and images constantly, with manic precision, with the ultimate goal of merging man and machine - reconstructing the human soul. Kurenniemi's story is a fascinating and forceful depiction of a forgotten visionary; it is significant because of the cultural history of the unique, never- before-seen archive material alone. The documentary includes footage of the unique DIMI-instruments developed by Kurenniemi, and segments from unfinished experimental short films from the 1960s. The Future is not what it used to be is a film about the 1960s avant-garde in music and film, the early history of microcomputers and the open questions of 21st century science. Audio commentary by Mika Taanila and Erkki Kurenniemi.<br />
<br />
Download from here (Save as... to your computer): <br />
<br />
https://www.dropbox.com/s/jh6m4hgj6trlrsn/taanila_the-future-is-not-what-it-used-to-be_2002.m4v?dl=0<br />
<br />
==== Marc Dusseiller - Hackteria / SGMK ====<br />
<br />
'''How I ended up loving the Coconut - DIY Culture in a global context'''<br />
<br />
See slides: [[:File:dusjagr_DIY-MedTech_intro_DIY-Culture_2021.pdf]]<br />
<br />
[[File:dusjagrCoconuts_talk.jpg|400px]]<br />
<br />
==== Andreas Kopp - Erfindergarten ====<br />
<br />
'''Maker Extraordinaire?'''<br />
<br />
See slides: https://docs.google.com/presentation/d/1SkSrOMfr1TF-9--QQER83K3uMyfvFfBAE5V9OaN93Qo/<br />
<br />
Download: [[:File:Maker Extraordinaire 2020.pdf]]<br />
<br />
[[File:wirvsvirus.jpg|400px]]<br />
<br><br />
<br />
== Schlusspräsentationen / Demos Zeitplan ==<br />
<br><br />
Mit den Gruppenpräsentationen wollen wir uns nochmals gemeinsam anschauen was ihr in dieser Woche gearbeitet, gelernt und erlebt habt. Zeigt was ihr geforscht und gebaut habt. Wo ihr vielleicht auch auf Probleme gestossen seit oder etwas nicht wir geplant funktioniert hat. Wie habt ihr in der Gruppe gearbeitet und was konntet ihr auch voneinander lernen. Versucht die Präsentation / Demo lebendig zu gestalten und mit verschiedenen Medien zu arbeiten. <br />
<br />
'''Hier einige Tipps und Ideen dazu:'''<br><br />
* Nutzt eine Kamera um ein Close-Up von Prototypen oder Experimentier-Aufbauten zu zeigen.<br />
* Zeigt Folien oder Bilder indem ihr euren Bildschirm "shared"<br />
* Es gibt auch eine Funktion um YouTube Videos im jitsi für alle einzublenden<br />
* Überlegt euch einen Ablauf und präsentiert gemeinsam. Eine Person kann zB auf seinem Kanal ein Bild zeigen während eine andere Person dazu spricht.<br />
<br><br />
'''Tipps für die Zuhörer:'''<br><br />
* Schaltet zwischen Kachel-Übersicht und Grossansicht hin und her um alles gut zu sehen<br />
* Wie immer ist es schön wenn man auch das "Publikum" mit Bild sieht<br />
* Nutz die Chat funktion im Jitsi um Anmerkungen und Fragen zu stellen, die im Anschluss besrochen werden können<br />
* Stellt Fragen und gebt Feedback. Man darf auch online einfach mal aus Freude was dazwischen "jolen"<br />
<br><br />
'''Zeitplan''' (zufällige Einteilung)<br><br />
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10"<br />
|'''Wann'''<br />
|'''Wer'''<br />
|-<br />
|10:00 - 10:10<br />
|Marc - Willkommen / Einleitung<br />
|-<br />
|10:15 - 10:35<br />
|[[Team Chihuahua]]<br />
|-<br />
|10:40 - 11:00<br />
|[[Team Da Vintschi]]<br />
|-<br />
|11:05- 11:25<br />
|[[Team Auslöten]]<br />
|-<br />
|11:30 - 11:50<br />
|[[Team Beta]]<br />
|-<br />
|11:50 - 12:15<br />
|Abschluss, Feedback, Goodbye<br />
|}<br />
<br />
'''Wo:''' Im Online-Classroom des [https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json virtuallen Fablabs]. Für die Präsentation ist es vielleicht einfacher wenn ihr dem Jitsi Raum per Link beitretet.<br />
<br><br />
<br />
== Wird nicht durchgeführt.... Skill Share Sessions ==<br />
<br />
''Was ist eine Skill Share Session?''<br />
<br />
Wird im Rahmen der Einleitung im Detail erklärt. Hier ein paar Beispiele der verschiedenen Methoden für die Durchführung.<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
== Student Teams ==<br />
<br />
4 Teams à 3 Studierende<br />
<br />
Aufgabe an alle Teams am ersten Tag der Blockwoche. <br />
* Gebt euch einen eigenen originelle Teamnamen, der mit dem Anfangsbuchstaben A B C D beginnt<br />
* Erstellt eine Wiki-Seite für euer Team.<br />
* Lädt ein Bild auf eure Seite<br />
* Kurzer Beschreib der Teammitglieder<br />
<br />
=== [[Team Auslöten]] ===<br />
<br />
====Prototypen====<br />
[[File:CO2_Detector.PNG|400px]]<br />
[[File:EntwichlungCo2_Detector.PNG|400px]]<br />
<br />
=== [[Team Beta]] ===<br />
<br />
Alle Studierende von zu Hause. HomeLab<br />
<br />
* Benjamin Zuber<br />
* Patrick Stadelmann<br />
* Fabian Kaiser<br />
<br />
=== [[Team Chihuahua]] ===<br />
<br />
Das Team Chihuahua besteht aus den drei Medizintechnik-Studenten Gabriel Haupt, David Lussmann und Jill Scheidegger.<br />
<br />
====Zusammenfassung und Reflexion====<br />
<br />
tbd<br />
<br />
====Prototypen====<br />
<br />
'''Hack 0: Body Signals'''<br />
<br />
Mithilfe der Aktionspotenzial der Muskeln konnten LEDs beleuchtet werden. Je stärker der Muskel angespannt wurde, desto mehr LEDs sind aufgeleuchtet. <br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Montag1.jpg<br />
File:Montag2.jpg<br />
File:Montag3.jpg|mit Lautsprecher<br />
File:Muscle Spikeshield1.PNG<br />
</gallery><br />
<br />
<br />
'''Hack 1: Piano'''<br />
<br />
Beim Hack 1 wurde ein MiniPiano gebaut, das über ein Arduino angesteuert wird.<br />
<br />
<gallery mode="packed-hover" widths=500px heights=400px><br />
File:fr_2.jpeg<br />
File:fr_1.jpeg<br />
</gallery><br />
<br />
=== [[Team Da Vintschi]] ===<br />
<br />
2 Studierende von zu Hause<br />
<br />
* Sandro Gantner<br />
* Kilian Huber<br />
* André Jaun<br />
<br />
=== [[Team Mentorzz 2021]] ===<br />
<br />
* Marc Dusseiller<br />
* Effi Tanner<br />
* Chris Obrist<br />
* Christian Gehringer<br />
<br />
=== Beispiele aus alten Jahrgängen: ===<br />
<br />
Am Abschluss der Blockwoche, soll für jedes Team auf dieser Frontseite eine kurze Zusammenfassung gemacht werden.<br />
<br />
==== Beispiel für Zusammenfassung auf Frontseite ====<br />
<br />
* In einem ersten Abschnitt soll jedes Team in eingen wenigen Sätzen ihre '''Zusammenfassung und Reflektion''' beschreiben. <br />
* Im zweiten Abschnitt ein Überblick über die '''Prototypen''' der verschiedenen Projekten als Fotogallerie und 1-2 Sätze dazu.<br />
<br />
[[File:Doku_Beispiel_Zusammenfassung.jpg|800px]]<br />
<br />
== Testat ==<br />
<br />
=== Teilnahme ===<br />
* Pflichtlektüren gelesen<br />
* Aktive Teilnahme an allen Tagen der Blockwoche<br />
<br />
=== Leistungsnachweis ===<br />
<br />
'''Wiki-Seite pro Gruppe (70%) mit:'''<br />
* Reflektion zu Readings / Input Vorlesungen<br />
* Dokumentation der Experimente während der Woche<br />
(Experimente, Resultate, Erkenntnisse, Links/Resourcen, Bilder)<br />
<br />
* Zusammenfassung auf wiki Frontseite<br />
<br />
'''Schlusspräsentation in der Gruppe am Samstag (30%)'''<br />
<br />
* Raufladen der Schlusspräsentationen. Als .pdf oder slideshare.<br />
<br />
'''Abgabetermin Wiki-Seiten: Sonntag 26. September 23:59'''<br />
<br />
== [[DIY-MedTech Resources]] ==<br />
<br />
[[Medizintechnik DIY Resources]]<br />
<br />
=== Quick Links ===<br />
<br />
Backyard Brains DIY Muscle Shield<br><br />
https://backyardbrains.com/products/diymusclespikershield<br />
<br />
Interessante EKG Einführung<br> <br />
https://biosignals.berndporr.me.uk/<br />
<br />
=== Methoden für Break Out / Skill Share Sessions ===<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
http://finding-marbles.com/retr-o-mat/was-ist-eine-agile-retrospektive/<br />
<br />
== Pflichtlektüre & Videos ==<br />
<br />
'''''Open Culture did not start with the invention of the computer'''''<br />
<br />
''Open Culture is a concept according to which knowledge should be spread freely and its growth should come from developing, altering or enriching already existing works on the basis of sharing and collaboration, without being restricted by rules linked to the legal protection of intellectual property. In a context of globalization, the consequence is that all citizens should have equal access to information.''<br />
<br />
=== FabLab ===<br />
'''Fab Charta'''<br />
<br />
http://fablab-luzern.ch/info/fab-charta-2/#FabCharter<br />
<br />
=== Articles ===<br />
<br />
'''Biotechnology for All / DIY in bioanalytics: doing and grasping it yourself. SATW publication 2015'''<br />
[[File:SATW_article_cover.png|right|thumb|200px]]<br />
Warum Do-It-Your-Self in der Lehre? Ein Artikel der über unsere Arbeit geschrieben wurde:<br />
<br />
[https://www.hackteria.org/wiki/images/8/87/SATW_INFO_2-15_DIY-Bio_EN.pdf SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself]. <br />
<br />
[https://www.hackteria.org/wiki/images/a/ac/SATW_INFO_2-15_DIY-Bio_DE.pdf «Do it yourself» in der Bioanalytik – zum Download auf Deutsch]<br />
<br />
"Biotechnologische Forschung findet heute nicht mehr nur in spezialisierten Labors statt. Eine wachsende Gemeinschaft von Biologen, Bastlern und Technikbegeisterten experimentiert in Küchen, Werkstätten und Eigenbau-Labors. Einige sehen in der Demokratisierung der Biotechnologie eine Gefahr; andere die Chance für ein besseres Verständnis von komplexen wissenschaftlichen Zusammenhängen in der Gesellschaft."<br />
<br />
The article from SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself is available for download in German, English and French. The pedagogic conecpt and educational kits were developed during a project funded by the Swiss Academy for Engineering Sciences (SATW), together with hackteria, M. Dusseiller and U. Gaudenz, and FHNW School for Lifesciences, Dr. D. Gygax, during a workshop with an interdisciplinary group of participants. More info [http://hackteria.org/education/satw/ here].<br />
<br />
'''Interview in "The Art of Free and Open Science", MCD#68'''<br />
[[File:MCD_86_hackteria.png|right|thumb|200px]]<br />
Was ist Hackteria?<br />
<br />
[https://www.hackteria.org/media/interview-in-mcd68/ Mehr zum Artikel und Interview in MCD#68]<br />
<br />
[http://www.hackteria.org/wordpress/wp-content/uploads/2012/10/hackteria_interview_MCD68.pdf Interview zum Download in Englisch]<br />
<br />
Hackteria is a network of people practicing DIY (do-it-yourself) biology with an interest in art, design and interdisciplinary cooperation. The network was founded in 2009 by Yashas Shetty, Andy Gracie and Marc Dusseiller and now includes not only scientists, engineers and artists, as you would expect, but also philosophers, entrepreneurs, and even foodies and chefs. Hackteria operates on a global scale, and is based on a web platform and a wiki for sharing knowledge, which enable anyone to learn but also test different ways of hacking living systems. Hackteria is not based in a physical space, and its goal is to allow artists, scientists and hackers to collaborate and test various biohacking and bioart techniques outside the official laboratories and art institutions, basically anywhere in the world.<br />
<br />
=== Videos ===<br />
<br />
'''How to control someone else's arm with your brain | Greg Gage'''<br />
<br />
Die elektrophysiologischen Messmodulen wurden von unserem Freund Greg Gage entwickelt. Hier ein TED Video dazu:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/rSQNi5sAwuc<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
As grad students at the University of Michigan, co-founders Tim and Greg often interacted with schoolchildren during neuroscience outreach events. We often wanted to show real "spiking" activity to students, but this was impossible due to the high cost of equipment. By using off-the-shelf electronics, we designed kits that could provide insight into the inner workings of the nervous system.<br />
<br />
Go and look at their website! [https://backyardbrains.com/ Backyard Brains - Neuroscience For Everyone!]<br />
<br />
'''What is Open Source explained in LEGO'''<br />
<br />
Und was ist eigentlich OpenSource?<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/a8fHgx9mE5U<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''You can learn Arduino in 15 minutes'''<br />
<br />
Dann brauchen wir für unsere Experimente ein Arduino. Wenn ihr das nicht schon kennt, schaut euch das mal an:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/nL34zDTPkcs<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
The ultimate Arduino tutorial for beginners. Learn how to choose an Arduino, dim LEDs, build a motor speed controller and more.<br />
<br />
== Weiterführende Links und Literatur ==<br />
<br />
[[File:Keywords_overview32.jpg|400px]]<br />
<br />
=== Maker-Response to COVID-19 Pandemic ===<br />
[[File:HEISE_GesundMaker.jpg|thumb|320px]]<br />
'''Stitching Together a Solution: Lessons from the Open Source Hardware Response to COVID-19'''<br />
<br />
https://www.law.nyu.edu/sites/default/files/stitching-together-a-solution-202102.pdf<br />
<br />
<br />
'''Making hardware ‘open source’ can help us fight future pandemics - here’s how we get there'''<br />
<br />
https://theconversation.com/making-hardware-open-source-can-help-us-fight-future-pandemics-heres-how-we-get-there-153280<br />
<br />
And further reference to this detailed research by J. Pearce on open source ventilators:<br />
https://f1000research.com/articles/9-218/v2<br />
<br />
<br />
'''Fokus Open Source: Die Gesund-Maker - Stethoskope aus der Kellerwerkstatt'''<br />
<br />
https://www.heise.de/hintergrund/Fokus-Open-Source-Die-Gesund-Maker-4700871.html<br />
<br />
<br />
'''Open Source Medical Supplies'''<br />
<br />
https://opensourcemedicalsupplies.org/<br />
<br />
[https://datastudio.google.com/reporting/ec7e0931-d311-48c0-809f-f984df4f6d13/page/3SaMB Hier eine Visualisierung der OSMS Aktivitäten]<br />
<br />
<br />
'''Maker response in France'''<br />
<br />
https://www.solidarum.org/sante/covid-19-l-apres-de-mobilisation-des-makers-en-france<br />
<br />
<br />
<br />
'''‘Viral Design’ - The COVID-19 Crisis as a Global Test Bed for Distributed Design'''<br />
<br />
https://distributeddesign.eu/wp-content/uploads/2020/11/DistributedDesignBook_2020-online.pdf<br />
<br />
<br />
=== Brain Interfaces ===<br />
<br />
'''Human Mind Control of Rat Cyborg’s Continuous Locomotion with Wireless Brain-to-Brain Interface'''<br />
<br />
https://www.nature.com/articles/s41598-018-36885-0<br />
<br />
<br />
=== Weitere Videos ===<br />
<br />
Und wer noch mehr TED schauen möchte, den finden wir auch gut:<br />
<br />
'''"Simplicity: We know it when we see it" | George Whitesides'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/GayY-mjZXrQ<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
Simplicity: We know it when we see it -- but what is it, exactly? In this funny, philosophical talk, George Whitesides chisels out an answer.<br />
<br />
More about [https://www.ted.com/talks/george_whitesides_a_lab_the_size_of_a_postage_stamp Simplicity, in the specific case of "A lab the size of a postage stamp"]<br />
<br />
'''"Why toys make good medical devices | Jose Gomez-Marquez'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/UHCT9SOBHs0<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
We develop empowerment technologies for health. We believe that innovation and design happens at the frontline of healthcare where providers and patients can invent everyday technologies to improve outcomes. By radically democratizing the tools of medical creation, we seek to enable front line patients and providers to invent answers to disease burdens.<br />
<br />
https://littledevices.org/<br />
<br />
''' GOSH - Gathering for Open Science Hardware '''<br />
<br />
From microscopes to microfluidics and water quality test equipment, hardware is a vital part of science. Advances in instrumentation have been central to scientific revolutions and access to hardware shapes the work of communities conducting research globally on a daily basis. However, the current supply chain for science hardware limits access for many groups of people and impedes creativity and customisation. Open Science Hardware (OScH) means sharing designs for scientific hardware openly online that anyone is freely able to use, modify and even commercialize. This approach could drastically reduce the costs of research while enabling people to collaborate and learn in new ways.<br />
<br />
The Global Open Science Hardware community supports OScH by convening meetings such as the Gathering for Open Science Hardware (GOSH), publications, activities and providing a forum for the community. <br />
<br />
See more on [https://openhardware.science/ GOSH website] and join the [https://forum.openhardware.science/ forum to discuss]!<br />
<br />
'''Together we will make [https://openhardware.science/global-open-science-hardware-roadmap/ Open Science Hardware ubiquitous by 2025] and build new futures for science.'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/zZXOi6zCMDA<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''Low-Cost and Open Source Tools'''<br />
<br />
https://youtu.be/9-fW82hClJY?t=4460<br />
<br />
== How to use this wiki ==<br />
<br />
Dear participants, please make sure you prepare your account and get some first experience in using a wiki, in this case it's [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] the same software on which the famous wikipedia has been created. The previous link directs you to many instructions on how to use a wiki. look at it.<br />
<br />
Try it out and create a new page for your team's project notes and documentation, give it a reasonable name. <br />
<br />
[[Ich Komme Nicht Draus]]<br />
<br />
=== CATCHA ===<br />
<br />
To prevent spam, we have a catcha in place. At the bottom of the page, when you edit something, you need to reply to a simple question. So we make sure you are not a robot :-)<br />
<br />
[[Team 34 ist cool]]<br />
<br />
=== Change your password ===<br />
<br />
You should have received a login by now. In the right upper corner you should see a link to your user preferences. Please change your password!<br />
<br />
=== Use Category ===<br />
<br />
Make sure you add the following line at the end of all the pages you create, so it will be sorted all in the same category. Future students will be happy!<br />
<br />
[[ <code> Category:MedTech-DIY </code> ]]<br />
<br />
[[Category:MedTech-DIY]]<br />
<br />
=== Hallo ===<br />
<br />
Please write a [[few sentences about yourself]], add links to your other websites, blogs, biographies, artworks. <br />
<br />
* try to add images<br />
* "internal links" to other pages on the hackteria wiki<br />
* "external likns" to websites<br />
* embed a youtube video?<br />
<br />
You can always click the "edit" link on this or other pages to see how stuff has been written in the mediawiki language.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=File:EntwichlungCo2_Detector.PNG&diff=45300File:EntwichlungCo2 Detector.PNG2021-09-18T13:33:09Z<p>Robin.schaumlechner: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=File:CO2_Detector.PNG&diff=45299File:CO2 Detector.PNG2021-09-18T13:31:57Z<p>Robin.schaumlechner: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Medizintechnik_DIY&diff=45298Medizintechnik DIY2021-09-18T13:31:39Z<p>Robin.schaumlechner: /* Team Auslöten */</p>
<hr />
<div><div style="float:right" class="toclimit-2">__TOC__</div><br />
<br />
[[File:150210716_233172705108857_8497346149908168942_n.jpg|640px]]<br />
<br><br />
<br><br />
== Kurzbeschrieb ==<br />
<br />
Das Modul verbindet Anwendungen der Medizintechnik mit Do It Yourself (DIY) Ansätzen. Dadurch wird das tiefere Verständnis von Medizintechnischen Geräten durch einen direkten, interdisziplinären und möglichst selbstgesteuerten Zugang gefördert. Basierend auf verschiedenen elektrophysiologischen Messmodulen (EMG, EKG, EOG, EEG) entwickeln die Studierenden im Team Ideen für innovative Projekte. Erste Prototypen werden mit den Mitteln der Digitalen Fabrikation hergestellt und getestet.<br />
<br />
[[File:Keywords_overview.jpg|400px]]<br />
<br />
=== Dokumentationen der früherern Durchführungen ===<br />
<br />
[[Medizintechnik DIY ws21]] [[Medizintechnik DIY 2020]] [[Medizintechnik DIY 2019]] [[Medizintechnik DIY 2018]]<br />
<br />
Sämtliche Wiki-Seite früherer Durchführungen sind hier: https://www.hackteria.org/wiki/Category:MedTech-DIY<br />
<br />
== Covid-19 Schutzmassnahmen ==<br />
<br />
Die COVID-19 Schutzregeln der HSLU und des BAG gelten wie üblich.<br />
<br />
== Location(s) ==<br />
<br />
'''FabLab Horw (Trakt I)'''<br />
<br />
[[File:Location_fablab.jpg|400px]]<br />
<br />
'''Unterrichtsraum F203 (Trakt II) (... Plätze)''' <br />
<br />
'''tbc: Sitzungszimmer D1 (Trakt I) (12 Plätze)'''<br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Fablab_groundFloor.jpg|Fablab Luzern<br />
File:DIY-MedTech_Fablablab.jpg|WetBioMedLab im Fablab<br />
File:IMG_20180213_165204.jpg|After the 2nd day<br />
File:DIY-MedTech_classroom.jpg|Unterrichtsraum E210<br />
</gallery><br />
<br />
'''[https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json Virtual Lab - 2d Workadventure]'''<br />
<br />
[[File:Virtuelle_RaumEinteiliung.jpg|400px]]<br />
<br />
Hier der Link zum eintreten: https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json<br />
<br />
Damit wir neben der Präsenzzeit online diskutieren und gemeinsam an Projekten arbeiten können, bereiteten wir eine virtuelle Arbeitsumgebung auf mit dem Tool "[https://workadventu.re/ workadventure]" vor. Das Tool funktioniert ausschliesslich mit einem Laptop / PC, leider (noch) kein gut funktionierender Smartphone Support.<br />
<br />
== Schedule ==<br />
<br />
Montag, 13. September - Samstag 18. September 2020<br />
<br />
Täglich von 9:00 - 12.00 and 13.00 - 16:30 Uhr (Fablab offen ab 8:45)<br />
<br />
Dienstag bis 19:00 Uhr<br />
<br />
Samstag 10:00 - 13:00 Uhr<br />
<br />
<span style="color:#81d41a; font-size:120%">Neues Schedule</span><br />
<br />
[[File:WeekgridMedTech2021HS_final.jpg|640px]]<br />
<br />
<br clear=all><br />
<br />
=== Content ===<br />
<br />
'''Preparation:''' <br />
* Read and Reflect<br />
* Prepare for Team Discussion<br />
<br />
'''Learn 0: Introduction'''<br />
* Introduction into DIY and Fablab<br />
* Introduction of Winterschool<br />
* Wiki-Intro<br />
<br />
'''Hack 0: Body-Signals'''<br />
* Lötle<br />
* Experimentiere<br />
<br />
'''Learn 1: Un-conferencing'''<br />
* Input Lectures on MedTech and DIY Hacking Cultures<br />
<br />
'''Hack 1:'''<br />
* Refraining<br />
* Experimenting<br />
* more Prototyping<br />
<br />
'''Share:'''<br />
* Documentation<br />
* Presentation<br />
<br />
'''Post Production:'''<br />
* Final Documentation<br />
<br />
=== Impuls Referate MedTechDIY 2021 ===<br />
==== Dr. Christian Gehringer ====<br />
<br />
'''DIY Ansätze in der Biomedizinischen Forschung'''<br />
<br />
Christian erzählt über seinen beruflichen Werdegang bisher und über 2 Forschungsprojekte, die etwas anders als normal initiiert werden konnten und trotzdem den Weg in die akademisch-wissenschaftliche Welt gefunden haben.<br />
<br />
Die Folien findet ihr hier: [[:File:DIY_Ans_tze_in_Biomedizinischer_Forschung___Presentation_MedTech_2020.pdf]]<br />
<br />
[[File:Folien_christian.jpg|400px]]<br />
<br />
==== The Future Is Not What It Used to Be (2002) ====<br />
<br />
'''A documentary film about Erkki Kurenniemi''' <br />
<br />
[[File:Selection_892.jpg|400px]]<br />
<br />
https://www.imdb.com/title/tt0372001/plotsummary?ref_=tt_ov_pl<br />
<br />
A documentary film about '''Erkki Kurenniemi''' (b. 1941), whose career represents a surprisingly natural blend of music, film, computers, robotics, science and art. His project of collecting everything around him will perhaps be the most significant of all his works. Kurenniemi records his thoughts, observations, objects and images constantly, with manic precision, with the ultimate goal of merging man and machine - reconstructing the human soul. Kurenniemi's story is a fascinating and forceful depiction of a forgotten visionary; it is significant because of the cultural history of the unique, never- before-seen archive material alone. The documentary includes footage of the unique DIMI-instruments developed by Kurenniemi, and segments from unfinished experimental short films from the 1960s. The Future is not what it used to be is a film about the 1960s avant-garde in music and film, the early history of microcomputers and the open questions of 21st century science. Audio commentary by Mika Taanila and Erkki Kurenniemi.<br />
<br />
Download from here (Save as... to your computer): <br />
<br />
https://www.dropbox.com/s/jh6m4hgj6trlrsn/taanila_the-future-is-not-what-it-used-to-be_2002.m4v?dl=0<br />
<br />
==== Marc Dusseiller - Hackteria / SGMK ====<br />
<br />
'''How I ended up loving the Coconut - DIY Culture in a global context'''<br />
<br />
See slides: [[:File:dusjagr_DIY-MedTech_intro_DIY-Culture_2021.pdf]]<br />
<br />
[[File:dusjagrCoconuts_talk.jpg|400px]]<br />
<br />
==== Andreas Kopp - Erfindergarten ====<br />
<br />
'''Maker Extraordinaire?'''<br />
<br />
See slides: https://docs.google.com/presentation/d/1SkSrOMfr1TF-9--QQER83K3uMyfvFfBAE5V9OaN93Qo/<br />
<br />
Download: [[:File:Maker Extraordinaire 2020.pdf]]<br />
<br />
[[File:wirvsvirus.jpg|400px]]<br />
<br><br />
<br />
== Schlusspräsentationen / Demos Zeitplan ==<br />
<br><br />
Mit den Gruppenpräsentationen wollen wir uns nochmals gemeinsam anschauen was ihr in dieser Woche gearbeitet, gelernt und erlebt habt. Zeigt was ihr geforscht und gebaut habt. Wo ihr vielleicht auch auf Probleme gestossen seit oder etwas nicht wir geplant funktioniert hat. Wie habt ihr in der Gruppe gearbeitet und was konntet ihr auch voneinander lernen. Versucht die Präsentation / Demo lebendig zu gestalten und mit verschiedenen Medien zu arbeiten. <br />
<br />
'''Hier einige Tipps und Ideen dazu:'''<br><br />
* Nutzt eine Kamera um ein Close-Up von Prototypen oder Experimentier-Aufbauten zu zeigen.<br />
* Zeigt Folien oder Bilder indem ihr euren Bildschirm "shared"<br />
* Es gibt auch eine Funktion um YouTube Videos im jitsi für alle einzublenden<br />
* Überlegt euch einen Ablauf und präsentiert gemeinsam. Eine Person kann zB auf seinem Kanal ein Bild zeigen während eine andere Person dazu spricht.<br />
<br><br />
'''Tipps für die Zuhörer:'''<br><br />
* Schaltet zwischen Kachel-Übersicht und Grossansicht hin und her um alles gut zu sehen<br />
* Wie immer ist es schön wenn man auch das "Publikum" mit Bild sieht<br />
* Nutz die Chat funktion im Jitsi um Anmerkungen und Fragen zu stellen, die im Anschluss besrochen werden können<br />
* Stellt Fragen und gebt Feedback. Man darf auch online einfach mal aus Freude was dazwischen "jolen"<br />
<br><br />
'''Zeitplan''' (zufällige Einteilung)<br><br />
{| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10"<br />
|'''Wann'''<br />
|'''Wer'''<br />
|-<br />
|10:00 - 10:10<br />
|Marc - Willkommen / Einleitung<br />
|-<br />
|10:15 - 10:35<br />
|[[Team Chihuahua]]<br />
|-<br />
|10:40 - 11:00<br />
|[[Team Da Vintschi]]<br />
|-<br />
|11:05- 11:25<br />
|[[Team Auslöten]]<br />
|-<br />
|11:30 - 11:50<br />
|[[Team Beta]]<br />
|-<br />
|11:50 - 12:15<br />
|Abschluss, Feedback, Goodbye<br />
|}<br />
<br />
'''Wo:''' Im Online-Classroom des [https://play.wa.binary-kitchen.de/_/global/fablab-luzern.github.io/wa-fablab-luzern/main.json virtuallen Fablabs]. Für die Präsentation ist es vielleicht einfacher wenn ihr dem Jitsi Raum per Link beitretet.<br />
<br><br />
<br />
== Wird nicht durchgeführt.... Skill Share Sessions ==<br />
<br />
''Was ist eine Skill Share Session?''<br />
<br />
Wird im Rahmen der Einleitung im Detail erklärt. Hier ein paar Beispiele der verschiedenen Methoden für die Durchführung.<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
== Student Teams ==<br />
<br />
4 Teams à 3 Studierende<br />
<br />
Aufgabe an alle Teams am ersten Tag der Blockwoche. <br />
* Gebt euch einen eigenen originelle Teamnamen, der mit dem Anfangsbuchstaben A B C D beginnt<br />
* Erstellt eine Wiki-Seite für euer Team.<br />
* Lädt ein Bild auf eure Seite<br />
* Kurzer Beschreib der Teammitglieder<br />
<br />
=== [[Team Auslöten]] ===<br />
<br />
====Prototypen====<br />
<br />
=== [[Team Beta]] ===<br />
<br />
Alle Studierende von zu Hause. HomeLab<br />
<br />
* Benjamin Zuber<br />
* Patrick Stadelmann<br />
* Fabian Kaiser<br />
<br />
=== [[Team Chihuahua]] ===<br />
<br />
Das Team Chihuahua besteht aus den drei Medizintechnik-Studenten Gabriel Haupt, David Lussmann und Jill Scheidegger.<br />
<br />
====Zusammenfassung und Reflexion====<br />
<br />
tbd<br />
<br />
====Prototypen====<br />
<br />
'''Hack 0: Body Signals'''<br />
<br />
Mithilfe der Aktionspotenzial der Muskeln konnten LEDs beleuchtet werden. Je stärker der Muskel angespannt wurde, desto mehr LEDs sind aufgeleuchtet. <br />
<br />
<gallery mode="packed-hover" widths=320px heights=200px><br />
File:Montag1.jpg<br />
File:Montag2.jpg<br />
File:Montag3.jpg|mit Lautsprecher<br />
File:Muscle Spikeshield1.PNG<br />
</gallery><br />
<br />
<br />
'''Hack 1: Piano'''<br />
<br />
Beim Hack 1 wurde ein MiniPiano gebaut, das über ein Arduino angesteuert wird.<br />
<br />
<gallery mode="packed-hover" widths=500px heights=400px><br />
File:fr_2.jpeg<br />
File:fr_1.jpeg<br />
</gallery><br />
<br />
=== [[Team Da Vintschi]] ===<br />
<br />
2 Studierende von zu Hause<br />
<br />
* Sandro Gantner<br />
* Kilian Huber<br />
* André Jaun<br />
<br />
=== [[Team Mentorzz 2021]] ===<br />
<br />
* Marc Dusseiller<br />
* Effi Tanner<br />
* Chris Obrist<br />
* Christian Gehringer<br />
<br />
=== Beispiele aus alten Jahrgängen: ===<br />
<br />
Am Abschluss der Blockwoche, soll für jedes Team auf dieser Frontseite eine kurze Zusammenfassung gemacht werden.<br />
<br />
==== Beispiel für Zusammenfassung auf Frontseite ====<br />
<br />
* In einem ersten Abschnitt soll jedes Team in eingen wenigen Sätzen ihre '''Zusammenfassung und Reflektion''' beschreiben. <br />
* Im zweiten Abschnitt ein Überblick über die '''Prototypen''' der verschiedenen Projekten als Fotogallerie und 1-2 Sätze dazu.<br />
<br />
[[File:Doku_Beispiel_Zusammenfassung.jpg|800px]]<br />
<br />
== Testat ==<br />
<br />
=== Teilnahme ===<br />
* Pflichtlektüren gelesen<br />
* Aktive Teilnahme an allen Tagen der Blockwoche<br />
<br />
=== Leistungsnachweis ===<br />
<br />
'''Wiki-Seite pro Gruppe (70%) mit:'''<br />
* Reflektion zu Readings / Input Vorlesungen<br />
* Dokumentation der Experimente während der Woche<br />
(Experimente, Resultate, Erkenntnisse, Links/Resourcen, Bilder)<br />
<br />
* Zusammenfassung auf wiki Frontseite<br />
<br />
'''Schlusspräsentation in der Gruppe am Samstag (30%)'''<br />
<br />
* Raufladen der Schlusspräsentationen. Als .pdf oder slideshare.<br />
<br />
'''Abgabetermin Wiki-Seiten: Sonntag 26. September 23:59'''<br />
<br />
== [[DIY-MedTech Resources]] ==<br />
<br />
[[Medizintechnik DIY Resources]]<br />
<br />
=== Quick Links ===<br />
<br />
Backyard Brains DIY Muscle Shield<br><br />
https://backyardbrains.com/products/diymusclespikershield<br />
<br />
Interessante EKG Einführung<br> <br />
https://biosignals.berndporr.me.uk/<br />
<br />
=== Methoden für Break Out / Skill Share Sessions ===<br />
<br />
http://www.hackteria.org/wiki/BreakOut_Methoden<br />
<br />
http://finding-marbles.com/retr-o-mat/was-ist-eine-agile-retrospektive/<br />
<br />
== Pflichtlektüre & Videos ==<br />
<br />
'''''Open Culture did not start with the invention of the computer'''''<br />
<br />
''Open Culture is a concept according to which knowledge should be spread freely and its growth should come from developing, altering or enriching already existing works on the basis of sharing and collaboration, without being restricted by rules linked to the legal protection of intellectual property. In a context of globalization, the consequence is that all citizens should have equal access to information.''<br />
<br />
=== FabLab ===<br />
'''Fab Charta'''<br />
<br />
http://fablab-luzern.ch/info/fab-charta-2/#FabCharter<br />
<br />
=== Articles ===<br />
<br />
'''Biotechnology for All / DIY in bioanalytics: doing and grasping it yourself. SATW publication 2015'''<br />
[[File:SATW_article_cover.png|right|thumb|200px]]<br />
Warum Do-It-Your-Self in der Lehre? Ein Artikel der über unsere Arbeit geschrieben wurde:<br />
<br />
[https://www.hackteria.org/wiki/images/8/87/SATW_INFO_2-15_DIY-Bio_EN.pdf SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself]. <br />
<br />
[https://www.hackteria.org/wiki/images/a/ac/SATW_INFO_2-15_DIY-Bio_DE.pdf «Do it yourself» in der Bioanalytik – zum Download auf Deutsch]<br />
<br />
"Biotechnologische Forschung findet heute nicht mehr nur in spezialisierten Labors statt. Eine wachsende Gemeinschaft von Biologen, Bastlern und Technikbegeisterten experimentiert in Küchen, Werkstätten und Eigenbau-Labors. Einige sehen in der Demokratisierung der Biotechnologie eine Gefahr; andere die Chance für ein besseres Verständnis von komplexen wissenschaftlichen Zusammenhängen in der Gesellschaft."<br />
<br />
The article from SATW Info 2/15 – Biotechnology for all / DIY in bioanalytics: doing and grasping it yourself is available for download in German, English and French. The pedagogic conecpt and educational kits were developed during a project funded by the Swiss Academy for Engineering Sciences (SATW), together with hackteria, M. Dusseiller and U. Gaudenz, and FHNW School for Lifesciences, Dr. D. Gygax, during a workshop with an interdisciplinary group of participants. More info [http://hackteria.org/education/satw/ here].<br />
<br />
'''Interview in "The Art of Free and Open Science", MCD#68'''<br />
[[File:MCD_86_hackteria.png|right|thumb|200px]]<br />
Was ist Hackteria?<br />
<br />
[https://www.hackteria.org/media/interview-in-mcd68/ Mehr zum Artikel und Interview in MCD#68]<br />
<br />
[http://www.hackteria.org/wordpress/wp-content/uploads/2012/10/hackteria_interview_MCD68.pdf Interview zum Download in Englisch]<br />
<br />
Hackteria is a network of people practicing DIY (do-it-yourself) biology with an interest in art, design and interdisciplinary cooperation. The network was founded in 2009 by Yashas Shetty, Andy Gracie and Marc Dusseiller and now includes not only scientists, engineers and artists, as you would expect, but also philosophers, entrepreneurs, and even foodies and chefs. Hackteria operates on a global scale, and is based on a web platform and a wiki for sharing knowledge, which enable anyone to learn but also test different ways of hacking living systems. Hackteria is not based in a physical space, and its goal is to allow artists, scientists and hackers to collaborate and test various biohacking and bioart techniques outside the official laboratories and art institutions, basically anywhere in the world.<br />
<br />
=== Videos ===<br />
<br />
'''How to control someone else's arm with your brain | Greg Gage'''<br />
<br />
Die elektrophysiologischen Messmodulen wurden von unserem Freund Greg Gage entwickelt. Hier ein TED Video dazu:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/rSQNi5sAwuc<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
As grad students at the University of Michigan, co-founders Tim and Greg often interacted with schoolchildren during neuroscience outreach events. We often wanted to show real "spiking" activity to students, but this was impossible due to the high cost of equipment. By using off-the-shelf electronics, we designed kits that could provide insight into the inner workings of the nervous system.<br />
<br />
Go and look at their website! [https://backyardbrains.com/ Backyard Brains - Neuroscience For Everyone!]<br />
<br />
'''What is Open Source explained in LEGO'''<br />
<br />
Und was ist eigentlich OpenSource?<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/a8fHgx9mE5U<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''You can learn Arduino in 15 minutes'''<br />
<br />
Dann brauchen wir für unsere Experimente ein Arduino. Wenn ihr das nicht schon kennt, schaut euch das mal an:<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/nL34zDTPkcs<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
The ultimate Arduino tutorial for beginners. Learn how to choose an Arduino, dim LEDs, build a motor speed controller and more.<br />
<br />
== Weiterführende Links und Literatur ==<br />
<br />
[[File:Keywords_overview32.jpg|400px]]<br />
<br />
=== Maker-Response to COVID-19 Pandemic ===<br />
[[File:HEISE_GesundMaker.jpg|thumb|320px]]<br />
'''Stitching Together a Solution: Lessons from the Open Source Hardware Response to COVID-19'''<br />
<br />
https://www.law.nyu.edu/sites/default/files/stitching-together-a-solution-202102.pdf<br />
<br />
<br />
'''Making hardware ‘open source’ can help us fight future pandemics - here’s how we get there'''<br />
<br />
https://theconversation.com/making-hardware-open-source-can-help-us-fight-future-pandemics-heres-how-we-get-there-153280<br />
<br />
And further reference to this detailed research by J. Pearce on open source ventilators:<br />
https://f1000research.com/articles/9-218/v2<br />
<br />
<br />
'''Fokus Open Source: Die Gesund-Maker - Stethoskope aus der Kellerwerkstatt'''<br />
<br />
https://www.heise.de/hintergrund/Fokus-Open-Source-Die-Gesund-Maker-4700871.html<br />
<br />
<br />
'''Open Source Medical Supplies'''<br />
<br />
https://opensourcemedicalsupplies.org/<br />
<br />
[https://datastudio.google.com/reporting/ec7e0931-d311-48c0-809f-f984df4f6d13/page/3SaMB Hier eine Visualisierung der OSMS Aktivitäten]<br />
<br />
<br />
'''Maker response in France'''<br />
<br />
https://www.solidarum.org/sante/covid-19-l-apres-de-mobilisation-des-makers-en-france<br />
<br />
<br />
<br />
'''‘Viral Design’ - The COVID-19 Crisis as a Global Test Bed for Distributed Design'''<br />
<br />
https://distributeddesign.eu/wp-content/uploads/2020/11/DistributedDesignBook_2020-online.pdf<br />
<br />
<br />
=== Brain Interfaces ===<br />
<br />
'''Human Mind Control of Rat Cyborg’s Continuous Locomotion with Wireless Brain-to-Brain Interface'''<br />
<br />
https://www.nature.com/articles/s41598-018-36885-0<br />
<br />
<br />
=== Weitere Videos ===<br />
<br />
Und wer noch mehr TED schauen möchte, den finden wir auch gut:<br />
<br />
'''"Simplicity: We know it when we see it" | George Whitesides'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/GayY-mjZXrQ<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
Simplicity: We know it when we see it -- but what is it, exactly? In this funny, philosophical talk, George Whitesides chisels out an answer.<br />
<br />
More about [https://www.ted.com/talks/george_whitesides_a_lab_the_size_of_a_postage_stamp Simplicity, in the specific case of "A lab the size of a postage stamp"]<br />
<br />
'''"Why toys make good medical devices | Jose Gomez-Marquez'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/UHCT9SOBHs0<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
We develop empowerment technologies for health. We believe that innovation and design happens at the frontline of healthcare where providers and patients can invent everyday technologies to improve outcomes. By radically democratizing the tools of medical creation, we seek to enable front line patients and providers to invent answers to disease burdens.<br />
<br />
https://littledevices.org/<br />
<br />
''' GOSH - Gathering for Open Science Hardware '''<br />
<br />
From microscopes to microfluidics and water quality test equipment, hardware is a vital part of science. Advances in instrumentation have been central to scientific revolutions and access to hardware shapes the work of communities conducting research globally on a daily basis. However, the current supply chain for science hardware limits access for many groups of people and impedes creativity and customisation. Open Science Hardware (OScH) means sharing designs for scientific hardware openly online that anyone is freely able to use, modify and even commercialize. This approach could drastically reduce the costs of research while enabling people to collaborate and learn in new ways.<br />
<br />
The Global Open Science Hardware community supports OScH by convening meetings such as the Gathering for Open Science Hardware (GOSH), publications, activities and providing a forum for the community. <br />
<br />
See more on [https://openhardware.science/ GOSH website] and join the [https://forum.openhardware.science/ forum to discuss]!<br />
<br />
'''Together we will make [https://openhardware.science/global-open-science-hardware-roadmap/ Open Science Hardware ubiquitous by 2025] and build new futures for science.'''<br />
<br />
{{#widget:Iframe<br />
|url=https://www.youtube.com/embed/zZXOi6zCMDA<br />
|width=476<br />
|height=357<br />
|border=0<br />
}}<br />
<br />
<br />
'''Low-Cost and Open Source Tools'''<br />
<br />
https://youtu.be/9-fW82hClJY?t=4460<br />
<br />
== How to use this wiki ==<br />
<br />
Dear participants, please make sure you prepare your account and get some first experience in using a wiki, in this case it's [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] the same software on which the famous wikipedia has been created. The previous link directs you to many instructions on how to use a wiki. look at it.<br />
<br />
Try it out and create a new page for your team's project notes and documentation, give it a reasonable name. <br />
<br />
[[Ich Komme Nicht Draus]]<br />
<br />
=== CATCHA ===<br />
<br />
To prevent spam, we have a catcha in place. At the bottom of the page, when you edit something, you need to reply to a simple question. So we make sure you are not a robot :-)<br />
<br />
[[Team 34 ist cool]]<br />
<br />
=== Change your password ===<br />
<br />
You should have received a login by now. In the right upper corner you should see a link to your user preferences. Please change your password!<br />
<br />
=== Use Category ===<br />
<br />
Make sure you add the following line at the end of all the pages you create, so it will be sorted all in the same category. Future students will be happy!<br />
<br />
[[ <code> Category:MedTech-DIY </code> ]]<br />
<br />
[[Category:MedTech-DIY]]<br />
<br />
=== Hallo ===<br />
<br />
Please write a [[few sentences about yourself]], add links to your other websites, blogs, biographies, artworks. <br />
<br />
* try to add images<br />
* "internal links" to other pages on the hackteria wiki<br />
* "external likns" to websites<br />
* embed a youtube video?<br />
<br />
You can always click the "edit" link on this or other pages to see how stuff has been written in the mediawiki language.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45294Team Auslöten2021-09-18T13:19:31Z<p>Robin.schaumlechner: /* Sensirion SCD41 Co2 Sensor */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich durch eine Hohe Genauigkeit aus.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
Weiterführende Infos zum Messprinzip findet man hier: [https://www.sensirion.com/de/ueber-uns/unternehmen/pasensr-technologie/ Sensirion SCD41 Messprinzip]<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
<br />
<br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br />
<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden mit jeweils einem 220 Ohm Vorwiderstand auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45293Team Auslöten2021-09-18T13:14:06Z<p>Robin.schaumlechner: /* Sensirion SCD41 Co2 Sensor */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich durch eine Hohe Genauigkeit aus.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
<br />
<br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br />
<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden mit jeweils einem 220 Ohm Vorwiderstand auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45292Team Auslöten2021-09-18T13:11:15Z<p>Robin.schaumlechner: /* Verkabeln */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
<br />
<br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br />
<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden mit jeweils einem 220 Ohm Vorwiderstand auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45291Team Auslöten2021-09-18T13:11:01Z<p>Robin.schaumlechner: /* Verkabeln */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
<br />
<br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br clear=all><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden mit jeweils einem 220 Ohm Vorwiderstand auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45290Team Auslöten2021-09-18T13:10:32Z<p>Robin.schaumlechner: /* Verkabeln */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br clear=all><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden mit jeweils einem 220 Ohm Vorwiderstand auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45289Team Auslöten2021-09-18T13:10:12Z<p>Robin.schaumlechner: /* Verkabeln */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br clear=all><br />
<br />
<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden mit jeweils einem 220 Ohm Vorwiderstand auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45288Team Auslöten2021-09-18T13:07:53Z<p>Robin.schaumlechner: /* Resultat */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br clear=all><br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
So sieht das fertige Projekt aus.<br />
<br />
[[File:Bild1.PNG|500px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45287Team Auslöten2021-09-18T13:06:33Z<p>Robin.schaumlechner: /* Hack 1 - CO2 Detector mit LCD */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br clear=all><br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
<br />
* VDD an 3.3V<br />
* GND an GND<br />
* SCL an Pin D19<br />
* SDA an Pin D18<br />
<br />
Die LEDs wurden auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
[[File:Bild1.PNG|300px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45286Team Auslöten2021-09-18T13:05:37Z<p>Robin.schaumlechner: /* Verkabeln */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br clear=all><br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
VDD an 3.3V<br />
GND an GND<br />
SCL an Pin D19<br />
SDA an Pin D18<br />
<br />
Die LEDs wurden auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
[[File:Bild1.PNG|300px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45285Team Auslöten2021-09-18T13:03:21Z<p>Robin.schaumlechner: /* Verkabeln */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
====Verkabeln====<br />
Hier sieht man die Verkabelung vom LCD 1602 zusammen mit einem 10k Ohm Poti für das einstellen der Lichtstärke des LCDs und einen 220 Ohm Widerstand. <br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br />
Da der Sensor über I2C kommuniziert wurde er wie folgt angeschlossen:<br />
VDD an 3.3V<br />
GND an GND<br />
SCL an Pin D19<br />
SDA an Pin D18<br />
<br />
Die LEDs wurden auf Pin 6 (grün) und Pin 7 (rot) gelegt.<br />
<br />
Der Schalter wurde seriell in den Batterie Kreislauf geschalten.<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
[[File:Bild1.PNG|300px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45284Team Auslöten2021-09-18T12:52:19Z<p>Robin.schaumlechner: /* Hack 1 - CO2 Detector */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector mit LCD==<br />
<br />
In diesem Projekt geht es darum einen CO2 Detektor zu bauen, welcher den CO2 Gehalt in der Luft in ppm (parts per million) anzeigen soll. Zudem soll visuell angezeigt werden, ob der Wert im Normalbereich liegt oder zu hoch ist. Da der hierzu verwendete Sensor ebenfalls die Luftfeuchtigkeit und Temperatur messen kann, werden diese Werte auch angezeigt. Nachfolgen findest man alle Informationen sowie den Code um das Projekt "CO2 Detector mit LCD" selbst umzusetzen. <br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
* Breadboard<br />
* Zwei LEDs<br />
* 9V Batterie<br />
* Stiftleisten<br />
* Steckerkabel<br />
* Schalter<br />
* Widerstände<br />
* Potenziometer<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 CO2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
===Verkabeln===<br />
<br />
[[File:Verdrahtung_LCD.PNG|400px]]<br />
<br />
<br />
<br />
===Code===<br />
<br />
Nachfolgend findet man den Code zum Projekt. Der Grenzwert für den Normalbereich wurde auf 1399 gesetzt. Dieser kann natürlich auch nach eigenem bedarf abgeändert werden.<br />
<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) { //<----------------GRENZWERT<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
[[File:Bild1.PNG|300px]]<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=File:Verdrahtung_LCD.PNG&diff=45283File:Verdrahtung LCD.PNG2021-09-18T12:52:01Z<p>Robin.schaumlechner: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45281Team Auslöten2021-09-18T11:16:51Z<p>Robin.schaumlechner: /* Hack 1 - CO2 Detector */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector==<br />
<br />
[[File:Bild1.PNG|300px]]<br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 Co2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
===Code===<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
//int whichLine = 0;<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) {<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=File:Bild1.PNG&diff=45280File:Bild1.PNG2021-09-18T11:16:39Z<p>Robin.schaumlechner: File uploaded with MsUpload</p>
<hr />
<div>File uploaded with MsUpload</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45279Team Auslöten2021-09-18T11:01:53Z<p>Robin.schaumlechner: /* xxx */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector==<br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 Co2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
===Code===<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
//int whichLine = 0;<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) {<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===Switchable.h===<br />
<pre><br />
#ifndef _SWITCHABLE_H_<br />
#define _SWITCHABLE_H_<br />
<br />
//Base class for output that can be switched on/off via single digital pin:<br />
class Switchable <br />
{<br />
public:<br />
<br />
// Consturcutor accepts pin number for output<br />
Switchable(const int pin);<br />
<br />
// Turn pin on<br />
void on();<br />
<br />
// Turn pin off<br />
void off();<br />
<br />
// Toggle pin<br />
void toggle();<br />
<br />
// dim pin<br />
void dim(int dimVal);<br />
<br />
// Get current state<br />
bool getState();<br />
<br />
// Set state with bool variable<br />
void setState(bool state);<br />
<br />
private:<br />
<br />
const int m_pin; //output pin<br />
bool m_state; //current state<br />
};<br />
<br />
#endif // _SWITCHABLE_H_<br />
<br />
</pre><br />
<br />
===Resultat===<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45278Team Auslöten2021-09-18T11:01:21Z<p>Robin.schaumlechner: /* xxx */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector==<br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 Co2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
===Code===<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
//int whichLine = 0;<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) {<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===Switchable.cpp===<br />
<pre><br />
#include "Switchable.h"<br />
#include <Arduino.h><br />
<br />
Switchable::Switchable(const int pin) : m_pin(pin)<br />
{<br />
// Set pin as output<br />
pinMode(m_pin, OUTPUT);<br />
// Start state if off<br />
off();<br />
}<br />
<br />
//turn on:<br />
void Switchable::on()<br />
{<br />
digitalWrite(m_pin, 1); //high<br />
m_state = true;<br />
}<br />
<br />
//turn off:<br />
void Switchable::off()<br />
{<br />
digitalWrite(m_pin, 0); //low<br />
m_state = false;<br />
}<br />
<br />
void Switchable::toggle()<br />
{<br />
digitalWrite(m_pin, !m_state); //low<br />
m_state = !m_state;<br />
}<br />
<br />
// dim pin<br />
void Switchable::dim(int dimVal)<br />
{<br />
analogWrite(m_pin, dimVal);<br />
}<br />
<br />
bool Switchable::getState()<br />
{<br />
return m_state;<br />
}<br />
<br />
void Switchable::setState(bool state)<br />
{<br />
digitalWrite(m_pin, state);<br />
m_state = state;<br />
}<br />
</pre><br />
<br />
===xxx===<br />
<pre><br />
</pre><br />
<br />
===Resultat===<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45277Team Auslöten2021-09-18T11:00:48Z<p>Robin.schaumlechner: /* xxx */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector==<br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 Co2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
===Code===<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
//int whichLine = 0;<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) {<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===LED.h===<br />
<pre><br />
#ifndef RGBLED_H<br />
#define RGBLED_H<br />
<br />
#include "Switchable.h"<br />
<br />
class LED : public Switchable<br />
{<br />
public:<br />
LED(const int pin);<br />
};<br />
<br />
#endif //__LED_H<br />
</pre><br />
<br />
===xxx===<br />
<pre><br />
</pre><br />
===xxx===<br />
<pre><br />
</pre><br />
<br />
===Resultat===<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45276Team Auslöten2021-09-18T10:59:50Z<p>Robin.schaumlechner: /* xxx */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
Nachdem das Board RICHTIG gelötet wurde ging alles ohne weitere Probleme. Die LED haben die Intensität des Signals pflichtbewusst angezeigt.<br />
Wichtig ist die Positionierung der Elektroden, wenn diese falsch positioniert wurden, ist die Weiterleitung nicht gewärleistet.<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector==<br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 Co2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
===Code===<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
//int whichLine = 0;<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) {<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===LED.cpp===<br />
<pre><br />
#include "LED.h"<br />
<br />
LED::LED(const int pin) : Switchable(pin){<br />
<br />
}<br />
</pre><br />
<br />
===xxx===<br />
<pre><br />
</pre><br />
<br />
===xxx===<br />
<pre><br />
</pre><br />
===xxx===<br />
<pre><br />
</pre><br />
<br />
===Resultat===<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45271Team Auslöten2021-09-18T10:21:12Z<p>Robin.schaumlechner: /* Code */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector==<br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 Co2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
===Code===<br />
===C02_Sensor_mit_LCD===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
//int whichLine = 0;<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) {<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
===xxx===<br />
<pre><br />
</pre><br />
<br />
===xxx===<br />
<pre><br />
</pre><br />
<br />
===xxx===<br />
<pre><br />
</pre><br />
===xxx===<br />
<pre><br />
</pre><br />
<br />
===Resultat===<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=45270Team Auslöten2021-09-18T10:18:34Z<p>Robin.schaumlechner: /* Hack 1 - CO2 Detector */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
<br />
<br />
==Einführung Tools==<br />
<br />
===Lasercutter===<br />
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).<br />
<br />
===3D-Drucker===<br />
Im FabLab stehen drei Original Ultimaker 3D-Drucker und vier neuere Versionen. Für die Herstellung eines 3D-Teils wird ein CAD Plan vom Objekt und eine PLA-Kunststoff-Rolle gebraucht, das beim Drucker eingefädelt ist. Ein Roboterarm druckt den flüssigen Kunststoff und nach dem abkühlen stehen die Objekte bereit. Gegenüber dem Lasercutter ist der 3D-Drucker extrem langsam, was bei der Planung berücksichtigt werden muss.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
===Material===<br />
* Muscle SpikerShield mit Kit<br />
* Lötkolben<br />
* Lötzinn<br />
* Auslötlitze<br />
<br />
===Planung und Durchführung===<br />
Wir bekamen einen Bausatz zum Hack und fanden die Beschreibung dazu im Internet. Gleich darauf begannen wir das Board zu löten. Als das Board fertig war positionierten wir die Elektroden am arm. Nachdem der Code, welcher zum Download auf der Seite des Entwicklers zur Verfügung steht, auf das Arduino geladen wurde, konnten wir loslegen.<br />
====Löten====<br />
[[File:löten2.jpeg|250px]]<br />
<br />
Beim Löten sollte man sich konzentrieren, denn wenn Teile falsch positioniert sind wird es mühsam, diese wieder zu entfernen.<br />
<br />
====Muscle SpikerShield====<br />
[[File:musclespiker.jpeg|400px]]<br />
<br />
Auf diesem Foto sieht man den Versuchsaufbau. Die Elektroden greifen das Signal am Muskel ab und leiten es auf das Board weiter. Im Board wird das signal verstärkt. Die Intensität wird dann mithilfe der LED`s angezeigt.<br />
<br />
===Resultat===<br />
<br />
===Code===<br />
<pre><br />
#define NUM_LED 6 //sets the maximum numbers of LEDs<br />
#define MAX 150 //maximum posible reading. TWEAK THIS VALUE!!<br />
int reading[10];<br />
int finalReading;<br />
byte litLeds = 0;<br />
byte multiplier = 1;<br />
byte leds[] = {8, 9, 10, 11, 12, 13};<br />
<br />
void setup(){<br />
Serial.begin(9600); //begin serial communications<br />
for(int i = 0; i < NUM_LED; i++){ //initialize LEDs as outputs<br />
pinMode(leds[i], OUTPUT);<br />
}<br />
}<br />
<br />
void loop(){<br />
for(int i = 0; i < 10; i++){ //take ten readings in ~0.02 seconds<br />
reading[i] = analogRead(A0) * multiplier;<br />
delay(2);<br />
}<br />
for(int i = 0; i < 10; i++){ //average the ten readings<br />
finalReading += reading[i];<br />
}<br />
finalReading /= 10;<br />
for(int j = 0; j < NUM_LED; j++){ //write all LEDs low<br />
digitalWrite(leds[j], LOW);<br />
}<br />
Serial.print(finalReading);<br />
Serial.print("\t");<br />
finalReading = constrain(finalReading, 0, MAX);<br />
litLeds = map(finalReading, 0, MAX, 0, NUM_LED);<br />
Serial.println(litLeds);<br />
for(int k = 0; k < litLeds; k++){<br />
digitalWrite(leds[k], HIGH);<br />
}<br />
//for serial debugging, uncomment the next two lines.<br />
//Serial.println(finalReading);<br />
//delay(100);<br />
}<br />
<br />
<br />
<br />
</pre><br />
<br />
==Hack 1 - CO2 Detector==<br />
<br />
===Material===<br />
* Arduino UNO<br />
* LCD-Display<br />
* Holz für Gehäuse<br />
* CO2-Sensor<br />
<br />
===Planung und Durchführung===<br />
<br />
====Sensirion SCD41 Co2 Sensor====<br />
Da wir vor Ort den Sensirion SCD41 Co2 Sensor zur Verfügung hatten, haben wir diesen verwendet.<br />
Der Sensor zeichnet sich aus durch eine Hohe Genauigkeit.<br />
<br />
Eigenschaften:<br />
<br />
* Photoacoustic sensor<br />
* Temperatur<br />
* Luftfeuchtigkeit<br />
* CO2 Gehalt<br />
* High accuracy, specified range 400 – 5’000 ppm<br />
* Ca. 60$<br />
<br />
===Code===<br />
<pre><br />
/*Co2 Detector made my Team Auslöten */<br />
<br />
#include <Arduino.h><br />
#include <SensirionI2CScd4x.h><br />
#include <Wire.h><br />
#include <LiquidCrystal.h><br />
#include "LED.h"<br />
<br />
#define LED_GREEN 6<br />
#define LED_RED 7<br />
<br />
SensirionI2CScd4x scd4x;<br />
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;<br />
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);<br />
//int whichLine = 0;<br />
LED ledG(LED_GREEN);<br />
LED ledR(LED_RED);<br />
<br />
void printUint16Hex(uint16_t value) {<br />
Serial.print(value < 4096 ? "0" : "");<br />
Serial.print(value < 256 ? "0" : "");<br />
Serial.print(value < 16 ? "0" : "");<br />
Serial.print(value, HEX);<br />
}<br />
<br />
void printSerialNumber(uint16_t serial0, uint16_t serial1, uint16_t serial2) {<br />
Serial.print("Serial: 0x");<br />
printUint16Hex(serial0);<br />
printUint16Hex(serial1);<br />
printUint16Hex(serial2);<br />
Serial.println();<br />
}<br />
<br />
void setup() {<br />
<br />
Serial.begin(115200);<br />
lcd.begin(16, 2);<br />
lcd.print("Co2 Detector");<br />
while (!Serial) {<br />
delay(100);<br />
}<br />
<br />
Wire.begin();<br />
<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
scd4x.begin(Wire);<br />
<br />
// stop potentially previously started measurement<br />
error = scd4x.stopPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute stopPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
uint16_t serial0;<br />
uint16_t serial1;<br />
uint16_t serial2;<br />
error = scd4x.getSerialNumber(serial0, serial1, serial2);<br />
if (error) {<br />
Serial.print("Error trying to execute getSerialNumber(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
} else {<br />
printSerialNumber(serial0, serial1, serial2);<br />
}<br />
<br />
// Start Measurement<br />
error = scd4x.startPeriodicMeasurement();<br />
if (error) {<br />
Serial.print("Error trying to execute startPeriodicMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
}<br />
<br />
Serial.println("Waiting for first measurement... (5 sec)");<br />
}<br />
<br />
void loop() {<br />
uint16_t error;<br />
char errorMessage[256];<br />
<br />
delay(5000);<br />
<br />
// Read Measurement<br />
uint16_t co2;<br />
float temperature;<br />
float humidity;<br />
error = scd4x.readMeasurement(co2, temperature, humidity);<br />
lcd.clear();<br />
if (error) {<br />
Serial.print("Error trying to execute readMeasurement(): ");<br />
errorToString(error, errorMessage, 256);<br />
Serial.println(errorMessage);<br />
lcd.print("Error");<br />
} else if (co2 == 0) {<br />
Serial.println("Invalid sample detected, skipping.");<br />
lcd.print("Error");<br />
} else {<br />
lcd.setCursor(0,0); //setCursor(col, row)<br />
lcd.print("Co2: ");<br />
lcd.print(co2);<br />
Serial.print(" Co2: ");<br />
Serial.print(co2);<br />
Serial.print("\t");<br />
Serial.print("Temperature:");<br />
Serial.print(temperature);<br />
lcd.setCursor(0,1); //setCursor(col, row)<br />
lcd.print("Temp: ");<br />
lcd.print(temperature);<br />
Serial.print("\t");<br />
Serial.print("Hum: ");<br />
Serial.println(humidity);<br />
lcd.setCursor(9,0); //setCursor(col, row)<br />
lcd.print("Hum: ");<br />
lcd.print(humidity);<br />
if (co2 < 1399) {<br />
ledG.on();<br />
ledR.off();<br />
} else {<br />
ledG.off();<br />
ledR.on();<br />
} <br />
}<br />
}<br />
</pre><br />
<br />
<br />
===Resultat===<br />
<br />
== Recherche für weitere Projekte ==<br />
<br />
===Drawbot (Hack 2) ===<br />
<br />
===Krawatte===<br />
<br />
===Stoppuhr===<br />
<br />
===Wearable Heart Rate Monitor===<br />
====Kurzbeschreibung====<br />
<br />
<br />
<br />
====Code====<br />
<pre><br />
Die Software kann auf der folgenden Seite heruntergeladen werden.<br />
[https://www.hackster.io/aka3d6/heart-rate-monitor-wearable-and-wireless-using-ecg-e96dce]<br />
</pre><br />
<br />
===Car===<br />
<br />
== Reflexion ==<br />
<br />
==Präsentation==<br />
[[:File:Gruppe A.pdf]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44720Team Auslöten2021-09-13T14:42:18Z<p>Robin.schaumlechner: /* Mitglieder */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br clear=all><br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
== Hack 0 ==<br />
<br />
== Hack 1 ==<br />
<br />
== Hack 2 ==<br />
<br />
== Reflexion ==</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44719Team Auslöten2021-09-13T14:41:48Z<p>Robin.schaumlechner: /* Jan Scala */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br clear=all><br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br />
== Hack 0 ==<br />
<br />
== Hack 1 ==<br />
<br />
== Hack 2 ==<br />
<br />
== Reflexion ==</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44718Team Auslöten2021-09-13T14:41:15Z<p>Robin.schaumlechner: /* Robin Schaumlechner */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br />
== Hack 0 ==<br />
<br />
== Hack 1 ==<br />
<br />
== Hack 2 ==<br />
<br />
== Reflexion ==</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44717Team Auslöten2021-09-13T14:41:02Z<p>Robin.schaumlechner: /* Susmida Jeyakanthan */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br />
== Hack 0 ==<br />
<br />
== Hack 1 ==<br />
<br />
== Hack 2 ==<br />
<br />
== Reflexion ==</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44716Team Auslöten2021-09-13T14:40:46Z<p>Robin.schaumlechner: /* Jan Scala */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|200px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br />
== Hack 0 ==<br />
<br />
== Hack 1 ==<br />
<br />
== Hack 2 ==<br />
<br />
== Reflexion ==</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44715Team Auslöten2021-09-13T14:39:55Z<p>Robin.schaumlechner: </p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
<br />
==Einleitung==<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.<br />
<br />
== Hack 0 ==<br />
<br />
== Hack 1 ==<br />
<br />
== Hack 2 ==<br />
<br />
== Reflexion ==</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44713Team Auslöten2021-09-13T14:38:08Z<p>Robin.schaumlechner: /* Susmida Jeyakanthan */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44712Team Auslöten2021-09-13T14:37:44Z<p>Robin.schaumlechner: /* Jan Scala */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
'''Medizintechnikstudent, 25, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44710Team Auslöten2021-09-13T14:37:14Z<p>Robin.schaumlechner: /* Robin Schaumlechner */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
'''Medizintechnikstudent, 25, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
'''Medizintechnikstudent, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44707Team Auslöten2021-09-13T14:34:30Z<p>Robin.schaumlechner: </p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
'''Medizintechnikstudent, 25, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
'''Medizintechnikstudent, 26, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44706Team Auslöten2021-09-13T14:34:08Z<p>Robin.schaumlechner: </p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
'''Medizintechnikstudent, 25, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
'''Medizintechnikstudent, 23, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44704Team Auslöten2021-09-13T14:33:42Z<p>Robin.schaumlechner: </p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44702Team Auslöten2021-09-13T14:33:14Z<p>Robin.schaumlechner: </p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44698Team Auslöten2021-09-13T14:31:54Z<p>Robin.schaumlechner: /* Jan Scala */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
Studiengang:<br />
Semester:<br />
<br />
== Jan Scala ==<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44696Team Auslöten2021-09-13T14:31:15Z<p>Robin.schaumlechner: /* Susmida Jeyakanthan */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
Studiengang:<br />
Semester:<br />
<br />
== Jan Scala ==<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund Fighter gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
<br />
Susmida ist gelernte Ingenieur-Bauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44687Team Auslöten2021-09-13T14:28:14Z<p>Robin.schaumlechner: /* Robin Schaumlechner */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
Studiengang:<br />
Semester:<br />
<br />
== Jan Scala ==<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund Fighter gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
<br />
Susmida ist gelernte Hochbauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]<br />
<br />
Robin ist das kleine Schlitzohr in unserem Team. Er Absolvierte eine Lehre als Elektroniker. Anschließend an die Lehre hat Robin den Militärdienst als Loadmaster im Durchdiener Modell vollzogen. Danach Absolvierte er die Berufsmatura. Jetzt studiert er Medizintechnik an der HSLU.</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44675Team Auslöten2021-09-13T14:24:27Z<p>Robin.schaumlechner: /* Susmida Jeyakanthan */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
Studiengang:<br />
Semester:<br />
<br />
== Jan Scala ==<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund Fighter gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
<br />
Susmida ist gelernte Hochbauzeichnerin. Nach der Lehre arbeitete sie im erlernten Beruf und ging anschließend für 4 Monate nach Kanada um ihrem geliebten Hobby, der Pinguinfotografie, nachzugehen. Die Berufsmatura hat sie vor dem Studium im Vollzeitstudium durchgezogen. Jetzt studiert sie Medizintechnik.<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44670Team Auslöten2021-09-13T14:20:37Z<p>Robin.schaumlechner: /* Jan Scala */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
Studiengang:<br />
Semester:<br />
<br />
== Jan Scala ==<br />
'''Medizintechnikstudent, 24, 5. Semester'''<br />
<br />
Jan Scala hat eine Lehre als Orthopädist und anschließend die Berufsmatura absolviert. Seinen Militärdienst hat er als Hundeführer mit seinem Holländischen Schäferhund Fighter gemeistert. Er studiert nun Medizintechnik an der HSLU.<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]</div>Robin.schaumlechnerhttp://www.hackteria.org/wiki/index.php?title=Team_Ausl%C3%B6ten&diff=44643Team Auslöten2021-09-13T14:08:11Z<p>Robin.schaumlechner: /* Robin Schaumlechner */</p>
<hr />
<div>[[ Category:MedTech-DIY ]]<br />
<br />
Herzlich willkommen auf der offiziellen Seite vom Team Auslöten.<br />
<br />
==Einleitung==<br />
<br />
==Mitglieder==<br />
<br />
===Jan Scala===<br />
[[File:Jan Scala.jpg|400px]]<br />
<br />
===Susmida Jeyakanthan===<br />
[[File:Susmida Jeyakanthan.jpg|400px]]<br />
<br />
===Robin Schaumlechner===<br />
[[File:Robin Schaumlechner.jpg|400px]]</div>Robin.schaumlechner