Difference between revisions of "Piano Hack"

From Hackteria Wiki
Jump to: navigation, search
(Vorgehen)
 
(16 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
go back to [[Team Chihuahua]]
 
go back to [[Team Chihuahua]]
 +
 +
Auf dieser Seite wird das Vorgehen beim Piano Hack genauer erläutert. Ausserdem sind hier alle Dateien Open Source zu finden, sodass dieser Hack leicht nachgebaut werden kann.
 +
 +
==Vorgehen==
 +
[[File:minipiano1.jpg|thumb]]
 +
Zunächst wurden sieben Tasten auf dem Breadboard befestigt. Diese wurden anschliessend wie auf dem Bild (links) mit dem Arduino verbunden. Es wurden die Anschlüsse D4 - D10 auf dem Arduino genutzt. Der Ton C wurde dabei mit dem Pin D10 verbunden und der Ton B mit dem Pin D4. Die Reihenfolge der Tonleiter ist: C, D, E, F, G, A, B. Der Lautsprecher wurde mit dem Pin D11 sowie dem Ground (GND) verbunden.
 +
 +
Der Code, den wir leicht abgeändert und für unser Piano genutzt haben, ist im Kapitel ''Open Source Dateien'' zu finden.
 +
 +
Nun musste nur noch das Arduino mit dem Laptop verbunden und das Programm gestartet werden und schon funktionierte die erste Version unserers Pianos.
 +
 +
Für das Gehäuse wurde in einer Datenbank eine Datei für ein Klavierflügel gesucht und mit dem Lasercutter ausgeschnitten. Die Datei ist im Kapitel ''Open Source Dateien'' zu finden.
 +
Damit die Tasten auch gedrückt werden konnten, mussten einige Anpassungen bei dieser Datei gemacht werden. Beispielsweise wurden sieben kleine Quadrate ausgeschnitten, in welche die Tasten später eingesetzt wurden. Weiter mussten zwei Schlitze in den Boden gemacht werden, damit die Kabelführung funktioniert. In den Seitenrahmen wurde der Teamname eingeritzt und auf der Rückseite wurden 3 Löcher gemacht für einen USB-B Anschluss, einen Einspeiseanschluss sowie für ein LED-Licht. Diese abgeänderten Dateien sind im Unterordner ''Änderungen durch Team Chihuahua'' zu finden.
 +
 +
Weiter wurde in den Deckel des Klavierflügels ein Loch ausgeschnitten, in welches der Lautsprecher eingesetzt und mit Heissleim fixiert wurde. Auch die Komponenten im Inneren des Klavierflügels, wie das Breadboard und das Arduino, wurden mit Heissleim festgeklebt. Nun musste noch eine Verbindung vom Arduino zu den Ausgängen an der Rückseite des Klaviers hergestellt werden. Dafür wurden entsprechende Kabel zugeschnitten und neu zusammengelötet.
 +
 +
Auch das LED-Licht an der Rückseite wurde an zwei Kabel gelötet, welche dann am Arduino mit dem Pin D3 sowie mit dem Ground (GND) verbunden wurden. Dazwischen wurden allerdings noch ein Widerstand gelötet, damit das LED-Licht nicht kaputt geht. Zuletzt wurden noch LEDs im Innern des Klaviers angebracht, wodurch dieses zum Leuchten gebracht wurde. Diese LEDs wurden an den Einspeiseanschluss beim Arduino angehängt (siehe auch Kapitel ''Piano Beleuchtung'').
 +
 +
<gallery mode="packed-hover" widths=400px heights=300px>
 +
File:fr_3.jpeg|Tastenanschlüsse
 +
File:fr_4.jpeg|Anschlüsse hinten
 +
File:fr_2.jpeg|Piano
 +
File:fr_1.jpeg|Piano von hinten
 +
</gallery>
  
 
==Open Source Dateien==
 
==Open Source Dateien==
 +
===Arduino Code===
 +
Dies ist der Code den wir leicht abgeändert und für unser Piano genutzt haben:
 +
 +
<pre>
 +
//Arduino Piano
 +
/*
 +
 +
Visit the Channel for more interesting projects
 +
 +
https://www.youtube.com/channel/UCks-9JSnVb22dlqtMgPjrlg
 +
 +
*/
 +
 +
#define T_C 262
 +
#define T_D 294
 +
#define T_E 330
 +
#define T_F 349
 +
#define T_G 392
 +
#define T_A 440
 +
#define T_B 493
 +
 +
const int C = 10;
 +
const int D = 9;
 +
const int E = 8;
 +
const int F = 7;
 +
const int G = 6;
 +
const int A = 5;
 +
const int B = 4;
 +
 +
const int Buzz = 11;
 +
const int LED = 13;
 +
 +
void setup()
 +
{
 +
 +
  pinMode(3, OUTPUT); // LED an Pin 3
 +
 +
  pinMode(LED, OUTPUT);
 +
  pinMode(C, INPUT);
 +
  digitalWrite(C,HIGH);
 +
 
 +
  pinMode(D, INPUT);
 +
  digitalWrite(D,HIGH);
 +
 
 +
  pinMode(E, INPUT);
 +
  digitalWrite(E,HIGH);
 +
 
 +
  pinMode(F, INPUT);
 +
  digitalWrite(F,HIGH);
 +
 
 +
  pinMode(G, INPUT);
 +
  digitalWrite(G,HIGH);
 +
 
 +
  pinMode(A, INPUT);
 +
  digitalWrite(A,HIGH);
 +
 
 +
  pinMode(B, INPUT);
 +
  digitalWrite(B,HIGH);
 +
 +
  digitalWrite(LED,LOW);
 +
}
 +
 +
void loop()
 +
{
 +
  // LED immer an (PIN 3)
 +
  digitalWrite(3, HIGH);
 +
 
 +
  while(digitalRead(C) == LOW)
 +
  {
 +
    tone(Buzz,T_C);
 +
    digitalWrite(LED,HIGH);
 +
  }
 +
 +
  while(digitalRead(D) == LOW)
 +
  {
 +
    tone(Buzz,T_D);
 +
    digitalWrite(LED,HIGH);
 +
  }
 +
 +
  while(digitalRead(E) == LOW)
 +
  {
 +
    tone(Buzz,T_E);
 +
    digitalWrite(LED,HIGH);
 +
  }
 +
 +
  while(digitalRead(F) == LOW)
 +
  {
 +
    tone(Buzz,T_F);
 +
    digitalWrite(LED,HIGH);
 +
  }
 +
 +
  while(digitalRead(G) == LOW)
 +
  {
 +
    tone(Buzz,T_G);
 +
    digitalWrite(LED,HIGH);
 +
  }
 +
 +
  while(digitalRead(A) == LOW)
 +
  {
 +
    tone(Buzz,T_A);
 +
    digitalWrite(LED,HIGH);
 +
  }
 +
 +
  while(digitalRead(B) == LOW)
 +
  {
 +
    tone(Buzz,T_B);
 +
    digitalWrite(LED,HIGH);
 +
  }
 +
 +
  noTone(Buzz);
 +
  digitalWrite(LED,LOW);
 +
 +
}
 +
</pre>
 +
 +
 +
 +
===Lasercutter===
 +
Die folgende Datei haben wir aus einer Datenbank und mit dem Lasercutter ausgeschnitten:
 +
[[:File:Piano_3mm.svg]]
 +
 +
====Änderungen durch Team Chihuahua====
 +
Die folgenden Dateien wurden leicht abgeändert, damit sie für unser Prototyp geeignet sind.
 +
 +
[[File:piano_Schlitz.pdf]]
 +
[[File:piano_Tasten.pdf]]
 +
[[File:Rahmen.pdf]]
 +
 +
===Piano Beleuchtung===
 +
 +
Für die Beleuchtung wurde ein HL3 1209 310144 von Lumitronix verwendet.
 +
 +
Die Stromversorgung wurde direkt von der 12 V DC Speisung abgegriffen. Das bedeutet also auch, dass die LED Beleuchtung dur dann funktioniert, wenn das Piano über die 12 V Speisung betreiben wird.
 +
 +
<gallery mode="packed-hover" widths=500px heights=400px>
 +
File:LEDboard.jpeg|LED-Board
 +
File:LEDverkabelung.jpeg|Verkabelung
 +
</gallery>
 +
 +
 +
  
 
[[ Category:MedTech-DIY ]]
 
[[ Category:MedTech-DIY ]]

Latest revision as of 14:18, 21 September 2021

go back to Medizintechnik DIY

go back to Team Chihuahua

Auf dieser Seite wird das Vorgehen beim Piano Hack genauer erläutert. Ausserdem sind hier alle Dateien Open Source zu finden, sodass dieser Hack leicht nachgebaut werden kann.

Vorgehen

Minipiano1.jpg

Zunächst wurden sieben Tasten auf dem Breadboard befestigt. Diese wurden anschliessend wie auf dem Bild (links) mit dem Arduino verbunden. Es wurden die Anschlüsse D4 - D10 auf dem Arduino genutzt. Der Ton C wurde dabei mit dem Pin D10 verbunden und der Ton B mit dem Pin D4. Die Reihenfolge der Tonleiter ist: C, D, E, F, G, A, B. Der Lautsprecher wurde mit dem Pin D11 sowie dem Ground (GND) verbunden.

Der Code, den wir leicht abgeändert und für unser Piano genutzt haben, ist im Kapitel Open Source Dateien zu finden.

Nun musste nur noch das Arduino mit dem Laptop verbunden und das Programm gestartet werden und schon funktionierte die erste Version unserers Pianos.

Für das Gehäuse wurde in einer Datenbank eine Datei für ein Klavierflügel gesucht und mit dem Lasercutter ausgeschnitten. Die Datei ist im Kapitel Open Source Dateien zu finden. Damit die Tasten auch gedrückt werden konnten, mussten einige Anpassungen bei dieser Datei gemacht werden. Beispielsweise wurden sieben kleine Quadrate ausgeschnitten, in welche die Tasten später eingesetzt wurden. Weiter mussten zwei Schlitze in den Boden gemacht werden, damit die Kabelführung funktioniert. In den Seitenrahmen wurde der Teamname eingeritzt und auf der Rückseite wurden 3 Löcher gemacht für einen USB-B Anschluss, einen Einspeiseanschluss sowie für ein LED-Licht. Diese abgeänderten Dateien sind im Unterordner Änderungen durch Team Chihuahua zu finden.

Weiter wurde in den Deckel des Klavierflügels ein Loch ausgeschnitten, in welches der Lautsprecher eingesetzt und mit Heissleim fixiert wurde. Auch die Komponenten im Inneren des Klavierflügels, wie das Breadboard und das Arduino, wurden mit Heissleim festgeklebt. Nun musste noch eine Verbindung vom Arduino zu den Ausgängen an der Rückseite des Klaviers hergestellt werden. Dafür wurden entsprechende Kabel zugeschnitten und neu zusammengelötet.

Auch das LED-Licht an der Rückseite wurde an zwei Kabel gelötet, welche dann am Arduino mit dem Pin D3 sowie mit dem Ground (GND) verbunden wurden. Dazwischen wurden allerdings noch ein Widerstand gelötet, damit das LED-Licht nicht kaputt geht. Zuletzt wurden noch LEDs im Innern des Klaviers angebracht, wodurch dieses zum Leuchten gebracht wurde. Diese LEDs wurden an den Einspeiseanschluss beim Arduino angehängt (siehe auch Kapitel Piano Beleuchtung).

Open Source Dateien

Arduino Code

Dies ist der Code den wir leicht abgeändert und für unser Piano genutzt haben:

//Arduino Piano
/*

Visit the Channel for more interesting projects

https://www.youtube.com/channel/UCks-9JSnVb22dlqtMgPjrlg

*/

#define T_C 262
#define T_D 294
#define T_E 330
#define T_F 349
#define T_G 392
#define T_A 440
#define T_B 493

const int C = 10;
const int D = 9;
const int E = 8;
const int F = 7;
const int G = 6;
const int A = 5;
const int B = 4;

const int Buzz = 11;
const int LED = 13;

void setup()
{

  pinMode(3, OUTPUT); // LED an Pin 3 

  pinMode(LED, OUTPUT);
  pinMode(C, INPUT);
  digitalWrite(C,HIGH);
  
  pinMode(D, INPUT);
  digitalWrite(D,HIGH);
  
  pinMode(E, INPUT);
  digitalWrite(E,HIGH);
  
  pinMode(F, INPUT);
  digitalWrite(F,HIGH);
  
  pinMode(G, INPUT);
  digitalWrite(G,HIGH);
  
  pinMode(A, INPUT);
  digitalWrite(A,HIGH);
  
  pinMode(B, INPUT);
  digitalWrite(B,HIGH);

   digitalWrite(LED,LOW);
}

void loop()
{
   // LED immer an (PIN 3)
   digitalWrite(3, HIGH);
   
  while(digitalRead(C) == LOW)
  {
    tone(Buzz,T_C);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(D) == LOW)
  {
    tone(Buzz,T_D);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(E) == LOW)
  {
    tone(Buzz,T_E);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(F) == LOW)
  {
    tone(Buzz,T_F);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(G) == LOW)
  {
    tone(Buzz,T_G);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(A) == LOW)
  {
    tone(Buzz,T_A);
    digitalWrite(LED,HIGH);
  }

  while(digitalRead(B) == LOW)
  {
    tone(Buzz,T_B);
    digitalWrite(LED,HIGH);
  }

  noTone(Buzz);
  digitalWrite(LED,LOW);

}


Lasercutter

Die folgende Datei haben wir aus einer Datenbank und mit dem Lasercutter ausgeschnitten: File:Piano_3mm.svg

Änderungen durch Team Chihuahua

Die folgenden Dateien wurden leicht abgeändert, damit sie für unser Prototyp geeignet sind.

File:Piano Schlitz.pdf File:Piano Tasten.pdf File:Rahmen.pdf

Piano Beleuchtung

Für die Beleuchtung wurde ein HL3 1209 310144 von Lumitronix verwendet.

Die Stromversorgung wurde direkt von der 12 V DC Speisung abgegriffen. Das bedeutet also auch, dass die LED Beleuchtung dur dann funktioniert, wenn das Piano über die 12 V Speisung betreiben wird.