Inhaltsverzeichnis:

Quick Fruit Piano mit MIDI - Gunook
Quick Fruit Piano mit MIDI - Gunook

Video: Quick Fruit Piano mit MIDI - Gunook

Video: Quick Fruit Piano mit MIDI - Gunook
Video: How to record a digital piano/keyboard with MIDI (Ableton Live Lite or Fruity Loops) 2024, November
Anonim
Image
Image
Quick Fruit Piano mit MIDI
Quick Fruit Piano mit MIDI

Dies ist ein wirklich einfaches Klavier mit kapazitivem Touch. Tippen Sie auf Obst, Getränkedosen, Wasserflaschen, Alufolienstreifen usw. und Sie erhalten polyphone Klaviermusik von Ihrem Computer. Nun, da die Software geschrieben ist, sollte das Projekt nicht länger als 10 Minuten dauern, um es mit der Arduino-Version zusammenzustellen.

Du brauchst:

  • ein Arduino (Mega für 8 Tasten, Uno für 6 Tasten) oder ein Black Pill STM32F103C8 Board ($ 2 bei Aliexpress) plus ein UART-zu-USB-Konverter (z. B. ein Arduino oder ein CH340)
  • USB-Kabel
  • etwas Alufolie
  • Testclips idealerweise, aber Jumper und Büroklammern reichen aus (Idee dafür von hier)
  • Obst oder Knetmasse oder Papierstücke mit Bereichen, die mit einem Bleistift gefärbt sind
  • Rechner.

Keine zusätzlichen Komponenten erforderlich, da dies Code aus der brillanten ADCTouch-Bibliothek von martin2250 verwendet und das Arduino MIDI-Befehle über seriell an den Computer sendet. Die Audiowiedergabe des Arduino erfolgt entweder über ein mitgeliefertes Python-Skript auf dem Computer oder haarlos-midiserial.

Wenn Sie das Entwicklungsboard STM32F103C8 verwenden, ist es noch schöner: Das Piano wird zu einem echten USB-MIDI-Controller, ohne dass haarlose Midiserial erforderlich sind.

Hinweis: Um Schäden am Arduino/STM32F1 durch statische Elektrizität zu vermeiden, insbesondere an einem trockenen Tag oder auf Teppichen, empfehle ich, die Aluminiumfolie oder die Testclips nicht zu berühren, wenn das Gerät in Betrieb ist. Berühren Sie stattdessen Obst, Knete usw., deren Widerstand einen gewissen ESD-Schutz bieten sollte

Schritt 1: Arduino-Bibliotheken

Arduino-Bibliotheken
Arduino-Bibliotheken

Wählen Sie in der Arduino-IDE Sketch | Bibliothek einschließen | Bibliotheksleiter. Suchen Sie nach meinem ADCTouchSensor. Installieren Sie die Bibliothek.

Wählen Sie dann Datei | Beispiele | ADCTouchSensor | KapazitivKlavier.

Wenn Sie ein Arduino haben, schließen Sie Ihr Arduino an den USB-Anschluss Ihres Computers an und laden Sie die kapazitive Piano-Skizze auf Ihr Uno oder Mega hoch. Der Sketch sendet über USB seriell Daten an den Computer, welcher der 8 (Mega) oder 6 (Uno) kapazitiven Sensoren ausgelöst wurde.

Wenn Sie einen STM32F103C8 haben, installieren Sie zuerst den Bootloader und richten Sie die Arduino-IDE dafür ein (mit meinem Zweig des addMidiHID-Zweigs), indem Sie den ersten drei Schritten hier folgen. Gehen Sie dann zurück zum Bibliotheksmanager und suchen Sie nach meiner USBHID_stm32f1-Bibliothek. Es installieren.

Schritt 2: Befestigen Sie die Leitungen an den Klaviertasten

Anbringen von Kabeln an Klaviertasten
Anbringen von Kabeln an Klaviertasten
Anbringen von Kabeln an Klaviertasten
Anbringen von Kabeln an Klaviertasten

Führen Sie Drähte von den Pins A0-A7 (A0-A5 auf Uno) Ihres Arduino oder STM32F103C8 zu dem, was Sie als Klaviertasten fungieren möchten. Ich habe zum Beispiel Jumper mit Krokodilklemmen oder Testklemmen verwendet, die zu Aluminiumfolienstücken führen, auf die ich entweder eine Dose Limonade oder eine Orange als Schlüssel lege. Die Alufolie kann direkt als Schlüssel verwendet werden. Oder man steckt einen Draht in ein Stück Obst, Gemüse oder Knete.

Schritt 3: Software installieren: Option A: Arduino und Hairless MIDI to Serial Bridge

Sie können die Hairless MIDI to Serial Bridge (Win/OSX/Linux) herunterladen und installieren, um den seriellen USB-Ausgang des Arduino mit der Synthesizer-Software Ihres Computers zu verbinden.

Wenn Sie Windows 7 oder neuer haben, können Sie den integrierten Microsoft Wavetable GS Synth verwenden, sodass Sie nur Hairless installieren müssen. Einige andere Wiedergabesoftware erfordert loopMIDI.

Auf anderen Systemen benötigen Sie möglicherweise einen MIDI-Synthesizer wie VirtualMidiSynth oder Garageband. Sie können VirtualMidiSynth auch unter Windows verwenden, wenn Sie möchten.

Schritt 4: Software installieren: Option B: Arduino und Python

Software installieren: Option B: Arduino und Python
Software installieren: Option B: Arduino und Python

Sie können auch einfach ein einfaches enthaltenes Python-Skript verwenden, das MIDI-Noten abspielt.

Stellen Sie sicher, dass Python auf Ihrem Computer installiert ist. Entweder 2.7 oder 3.x ist ausreichend.

Stellen Sie sicher, dass das Python-Paket pygame installiert ist. Wenn nicht, führen Sie dies über die Befehlszeile aus:

python -m pip install pygame

Finden Sie heraus, welche Adresse die serielle Schnittstelle Ihres Arduino hat. Ihre Arduino-IDE hat die seriellen Ports, die unter Tools |. aufgelistet sind Hafen.

In dem von Ihnen heruntergeladenen CapacitivePiano-Paket finden Sie das Skript music.py, das die PC-Seite des Projekts darstellt.

Schritt 5: Software installieren: Option C: STM32F103C und MIDI-Synthesizer-Software

Software installieren: Option C: STM32F103C und MIDI-Synthesizer-Software
Software installieren: Option C: STM32F103C und MIDI-Synthesizer-Software

Wenn Sie den STM32F103C besitzen, können Sie jede Software verwenden, die mit einem MIDI-Keyboard-Controller funktioniert.

Auf einem Computer verwende ich das Virtual MIDI Piano Keyboard (VMPK). Wählen Sie bei angeschlossenem STM32F103C Bearbeiten | MIDI-Anschlüsse | Geben Sie MIDI-Verbindung ein und wählen Sie dann Maple MIDI oder Diro Synth.

Auf einem Android-Gerät habe ich erfolgreich (mit einem USB-OTG-Kabel) Common Analog Synthesizer und Synth DX7 Piano verwendet.

Schritt 6: Spielen

Spiel!
Spiel!
Spiel!
Spiel!
Spiel!
Spiel!

Stecken Sie das Arduino mit der CapacitivePiano-Skizze in den Computer. Berühren Sie keine der "Tasten", bis nur die Power-LED leuchtet, damit die kapazitiven Tasten kalibriert werden können.

Führen Sie für die Hairless-Option die Hairless-MIDI-Bridge aus, wählen Sie den seriellen Port aus der Dropdown-Liste aus. Wählen Sie dann einen Synthesizer. Wenn Sie unter Windows Microsoft Wavetable GS Synth auswählen, sollte alles funktionieren.

Wenn Sie stattdessen das Python-Skript verwenden möchten, stellen Sie sicher, dass Sie sich in dem Verzeichnis befinden, in dem sich piano.py befindet, und führen Sie Folgendes aus:

python piano.py serieller Port

wobei serialport der serielle Port von Arduino IDE ist (z. B. COMx unter Windows).

Wenn Sie den STM32F103C8 verwenden, verwenden Sie Ihre bevorzugte MIDI-Synthesizer-Software auf einem Computer oder Mobilgerät.

Drücken Sie jetzt Ihre "Knöpfe" und haben Sie Spaß!

Pädagogische Ideen für Kinder zum Experimentieren:

  • Experimentieren Sie mit verschiedenen Gegenständen auf der Aluminiumfolie und sehen Sie, welche funktionieren und welche nicht – und sprechen Sie dann darüber, warum diese funktionieren und andere nicht.
  • Knetmasse funktioniert wirklich gut (und dann braucht man nicht einmal Folie und Clips - man kann einfach Drähte in die Knetmasse stecken, obwohl sie zugegebenermaßen wie eine Bombe aussieht!).
  • Sie können sogar ein Blatt Papier nehmen und Bereiche mit einem Bleistift schattieren (es muss nicht super dunkel sein, aber eine Schraffur ist gut) und diese einclipsen.
  • Sie können eine Krokodilklemme an einem wirklich großen Metallgegenstand wie dem Rand eines Whiteboards befestigen und riesige Schlüssel herstellen.
  • Ein Experiment, das Sie versuchen sollten, besteht darin, eine kleinere Person eine Krokodilklemme an einem der Drähte halten zu lassen und dann eine größere Person zu veranlassen, der kleineren Person die Hand zu schütteln oder ein High Five zu geben, und zu sehen, ob dies registriert wird. Versuchen Sie es dann erneut mit einer größeren Person, die sie hält und einer kleineren Person, die sie berührt.

Stellen Sie einfach sicher, dass Sie nach jeder Änderung dessen, was an den Arduino angeschlossen ist, den Arduino zurücksetzen, indem Sie entweder die Schaltfläche "Reset" drücken oder die USB-Verbindung erneut anschließen (und dann den Python-Code erneut ausführen, da er wahrscheinlich abstürzt)., um die Sensoren neu zu kalibrieren.

Man kann elektrische Kapazität und kapazitive Erfassung diskutieren.

Empfohlen: