Ich beschloss, eine Luft Klavier machen die auf GAP-Sinn und dem Arduinobasiert.
Materialien;
- Alu-Klebeband oder Aluminiumfolie
- Einige Drähte
- 8-10M-Ohm-Widerstände
- Piezo-Summer
- Arduino
- 9V Batterie oder USB-Kabel
Grundsätzlich gibt es quadratische Stücke von Alu-Klebeband auf eine dicke Karte, die an einem Jumper-Kabel und ein Widerstand angeschlossen ist geklebt, 8 Repliken davon, dann die anderen Enden der Widerstände zusammen hängen und an pin3 des Arduino, wird dies als die gemeinsame Basis Pin für alle Sensoren fungieren. Die Widerstände können 2 M oder 10 M oder 40 M Ohm sein. 2 M Ohm machen es so, dass es nur erkennt, wenn Sie auf die Alu-Klebeband, 10 M drücke Ohm Widerstand macht es so, dass Ihre Hand mit ein wenig Höhe von 3-5cm oder so wahrgenommen werden kann und 40 M Ohm ganz ein bisschen weiter spüren, aber es ein wenig chaotisch wird, als ob die Aluminium-Klebeband-Stücke zu dicht beieinander sind, dann in dieser Höhe Störungen tritt daher andere Tasten gedrückt bekommen könnte. Möchten Sie diese 40 M-Ohm-Version verwenden, müssen Sie sicherstellen, die Aluminium-Klebeband-Stücke ein wenig weit weg von einander legen.
Früher habe ich 10M Ohm für mein Gerät und es funktioniert perfekt, wenn ich meine Hand über die Note winke ich verwenden möchten.
Das Grundprinzip hinter diesem ist, dass die Alu-Klebeband den Unterschied zwischen Kapazität des menschlichen Körpers und die Kapazität der Luft erkennt, oder mit anderen Worten das Alu-Klebeband ergibt sich eine kleine Spannung aus dem Arduino entsteht ein elektrisches Feld in diesem Bereich, und wenn unsere Finger (als Dirigent) es berührt, bilden wir einen Kondensator. Diese Änderung wird durch das Alu-Klebeband erkannt und deshalb sendet ein Signal an den Arduino mit dem wir es, ein Signal zum Summer sagen können.
Ich habe gehört, dass wir können auch resistive sensing statt kapazitive aber ich nicht ganz sicher bin, wie es funktioniert.
Ich legte einen guten Piezo-Summer Pin A0 oder analogen Pin 0, die gemeinsame Pin zu Pin 3 und 8 verschiedene Quadrate der Alu-Klebeband mit 4,5,6,7,8,9,10,11 -Pins.
Schematisch in eines der Bilder beigefügt diese instructable.
Dies ist der Code, den ich verwendet;
#include #include "pitches.h" #define COMMON_PIN 3 #define BUZZER_PIN A0 #define NUM_OF_SAMPLES 1 #define CAP_THRESHOLD 100 #define NUM_OF_KEYS 8 #define CS(Y) CapacitiveSensor(2, Y) int notes[]={NOTE_C4,NOTE_D4,NOTE_E4,NOTE_F4,NOTE_G4,NOTE_A4,NOTE_B4,NOTE_C5}; CapacitiveSensor keys[] = {CS(4), CS(5), CS(6), CS(7), CS(8), CS(9), CS(10), CS(11)}; void setup() { for(int i=0; i<8; ++i) { keys[i].set_CS_AutocaL_Millis(0xFFFFFFFF); } pinMode(BUZZER_PIN, OUTPUT); } void loop() { for (int i = 0; i < 8; ++i) { if(keys[i].capacitiveSensor(NUM_OF_SAMPLES) > CAP_THRESHOLD) { tone(BUZZER_PIN, notes[i]); delay(100); noTone(BUZZER_PIN); } } }
Was der Code tut, ist zuerst die 2 Bibliotheken, capacitivesensors.h und pitch.h gehören, pitch.h für den Ton-Befehl mit Noten wie A2, B6, F2 etc. anstelle von Frequenzen selbst verwendet. Dann die Stifte und der Kondensator-Schwelle definiert dies ist im Wesentlichen die Menge den Kondensator zu "spüren" der Fall ist, wenn Sie es reduzieren, dann der Sensor leicht erkennt erhöht es bewirkt das Gegenteil.
Dann definieren Sie die Noten für jede Taste gedrückt, und dann definieren Sie die Stifte, denen Schlüssel oder Aluminium Klebeband Stücke verbunden sind.
Im void Setup legen Sie Summer Pin als Ausgang und Sie Kalibrierung auf 0 gesetzt.
In der leere Schleife sagen Sie, dass erkennt das Band Ihrer Finger, dann die If-Anweisung ausgeführt wird, daher wird der Summer mit der jeweiligen Note gespielt. Wenn das nicht dann geschieht da gibt es keine andere Funktion, geht es nur durch leere Schleife wieder.
Der tone()-Befehl gibt den Ton auf der Summer gespielt werden, können Sie auch den Ton-Befehl, um separate Ebene Noten als Ton (Pin, Frequenz, Dauer) zu spielen aber verwenden wir Notizen hier mit der pitch.h, so wir nicht mit, dass die Mühe müssen.
Die eine eher einfache Hardware bauen, die eine Menge des Lernens in der Software-Seite bietet.
Die empfohlene Projekt für Anfänger, die nicht viel Hardware Material sondern sind bereit zu lernen, wie die Software funktioniert in der Arduino Ide.
Meiner Meinung nach es ist ein großer Spaß, Projekt und dauert nicht lange.
Sie können auch die Noten um alle Arten von verschiedenen Spaß machen Melodien wie äh... vielleicht eine fremde Stimme? oder einen Radiotuner?
Hoffnung zu sehen, was andere mit dieser Cap-Sense Arduino Kombination machen, und wenn irgendjemand macht dies es wäre genial, wenn Sie Bilder des fertigen Projekts freigegeben :)
Links;
- GAP-Sense Arduino Library; http://Playground.Arduino.CC//Main/CapacitiveSensor?from=Main.CapSense
Inspiration/Credit;
- http://www.YouTube.com/watch?v=aaBAp47QujA (Idee beginnen)
- http://hackaday.com/2011/11/21/simple-Touch-Sensors-with-the-Arduino-CapSense-Library/ (wie Cap-Sinn funktioniert)
- (Initiative für GAP-Sinn)
- http://www.YouTube.com/watch?feature=player_embedded&v=GFp9yhYXTUg (mehr Inspiration)
- http://Blog.Makezine.com/2008/05/16/Build-the-Arduino-Pocket/ (Inspiration für die Herstellung eines Klaviers)
- Tyler Crumpton, J Z Chen und Nicholas Jones waren die Menschen, die mit dieser Technologie, um alle möglichen Dinge zu machen, damit alle Kredit an ihnen geht herum gearbeitet.
Kurzes Video; (GAP-Sense Luft Klavier)