Inhaltsverzeichnis:

Muskelmusik mit Arduino - Gunook
Muskelmusik mit Arduino - Gunook

Video: Muskelmusik mit Arduino - Gunook

Video: Muskelmusik mit Arduino - Gunook
Video: Fernzünder selber bauen! DIY für Böller, Raketen und Batterien 2024, November
Anonim
Muskel-Musik mit Arduino
Muskel-Musik mit Arduino

Hallo zusammen, dies ist mein erstes Instructables, dieses Projekt wurde inspiriert, nachdem wir den Old Spice Muscle Music-Videowerbespot gesehen hatten, in dem wir sehen können, wie Terry Crews verschiedene Instrumente mit EMG-Signalen spielt.

Wir planen, diese Reise mit diesem ersten Projekt zu beginnen, bei dem wir ein Rechtecksignal mit einer Frequenz erzeugen, die in Abhängigkeit von der Amplitude des erhaltenen EMG-Signals variiert. Später wird dieses Signal mit einem Lautsprecher verbunden, um diese Frequenz abzuspielen.

Um dieses Projekt zu bauen, werden wir als Kern einen Arduino UNO und einen MyoWare Muskelsensor verwenden. Wenn Sie keinen MyoWare-Sensor bekommen, machen Sie sich keine Sorgen, wir erklären Ihnen, wie Sie Ihren eigenen bauen können.

Nun, fangen wir an.

Schritt 1: Holen Sie sich die benötigten Teile

Holen Sie sich die benötigten Teile
Holen Sie sich die benötigten Teile

Es gibt zwei Möglichkeiten, dieses Projekt zu erstellen: mit dem MyoWare-Sensor (Schritt 2 & 3) und ohne ihn (Schritt 4 & 5).

Die Verwendung des MyoWare-Sensors ist einfacher, da keine fortgeschrittenen Kenntnisse in der Elektronik erforderlich sind, sondern fast nur Plug-and-Play. Ohne MyoWare benötigen Sie einige Kenntnisse über OpAmps, wie Verstärkung und Filterung sowie Gleichrichtung eines Signals. Dieser Weg ist schwieriger, aber er lässt Sie verstehen, was sich hinter der MyoWare-Schaltung verbirgt.

Für den MyoWare-Weg benötigen wir folgende Komponenten und Tools:

  • MyoWare Muskelsensor (Sparkfun)
  • Arduino UNO (Amazon)
  • Lautsprecher
  • Steckbrett
  • 22 AWG-Kabel
  • 3 x 3M Elektroden (Amazon)
  • Schraubenzieher
  • 2 x Krokodilklemmen
  • Arduino-USB-Kabel
  • Abisolierzangen
  • 1 x 1000uF (Amazon)

Ohne MyoWare benötigen Sie die bisherigen Komponenten (ohne MyoWare) sowie:

  • Stromversorgung mit +12 V, -12 V und 5 V (Sie können Ihre eigenen mit einem Computer PS herstellen, wie in dieser Anleitung gezeigt)
  • Wenn Ihr Netzteil-AC-Kabel ein 3-poliges Kabel ist, benötigen Sie möglicherweise einen dreipoligen/zweipoligen Adapter oder einen Cheater-Stecker. (Manchmal kann dieser zusätzliche Zinken unerwünschtes Rauschen erzeugen).
  • Multimeter
  • Instrumentenverstärker AD620
  • OpAmps 2 x LM324 (oder ähnlich)
  • Dioden 3 x 1N4007 (oder ähnlich)
  • Kondensatoren

    • Nicht polarisiert (kann Keramikkondensatoren, Polyester usw. sein)

      • 2 x 100 nF
      • 1 x 120 nF
      • 1 x 820 nF
      • 1 x 1,2 uF
      • 1 x 1 uF
      • 1 x 4,7 uF
      • 1 x 1,8 uF
    • Polarisiert (Elektrolytkondensator)

      2 x 1mF

  • Widerstände

    • 1 x 100 Ohm
    • 1 x 3,9 kOhm
    • 1 x 5,6 kOhm
    • 1 x 1,2 kOhm
    • 1 x 2,7 kOhm
    • 3 x 8,2 kOhm
    • 1 x 6,8 kOhm
    • 2 x 1k Ohm
    • 1 x 68k Ohm
    • 1 x 20k Ohm
    • 4 x 10k Ohm
    • 6 x 2k Ohm
    • 1 x 10k Ohm Potentiometer

Schritt 2: (mit MyoWare) Elektroden vorbereiten und anschließen

(Mit MyoWare) Elektroden vorbereiten und anschließen
(Mit MyoWare) Elektroden vorbereiten und anschließen
(Mit MyoWare) Elektroden vorbereiten und anschließen
(Mit MyoWare) Elektroden vorbereiten und anschließen
(Mit MyoWare) Elektroden vorbereiten und anschließen
(Mit MyoWare) Elektroden vorbereiten und anschließen

Für diesen Teil benötigen wir den MyoWare Sensor und 3 Elektroden.

Wenn Sie große Elektroden haben, wie wir es getan haben, müssen Sie die Kanten abschneiden, um den Durchmesser zu verringern. Andernfalls wird die andere Elektrode blockiert, was zu Signalstörungen führt.

Schließen Sie die MyoWare wie auf der 4. Seite des Sensorhandbuchs angegeben an.

Schritt 3: (Mit MyoWare) Verbinden Sie den Sensor mit dem Arduino Board

(Mit MyoWare) Verbinden Sie den Sensor mit dem Arduino Board
(Mit MyoWare) Verbinden Sie den Sensor mit dem Arduino Board
(Mit MyoWare) Verbinden Sie den Sensor mit dem Arduino Board
(Mit MyoWare) Verbinden Sie den Sensor mit dem Arduino Board
(Mit MyoWare) Verbinden Sie den Sensor mit dem Arduino Board
(Mit MyoWare) Verbinden Sie den Sensor mit dem Arduino Board

Das MyoWare Board hat 9 Pins: RAW, SHID, GND, +, -, SIG, R, E und M. Für dieses Projekt benötigen wir nur das "+" um 5V anzuschließen, "-" für Ground und "SIG" für die Ausgangssignal, verbunden mit 3 großen Kabeln (~2 ft).

Wie oben erwähnt, muss der "+"-Pin mit dem 5V-Pin des Arduino verbunden werden, "-" mit GND und für das SIG benötigen wir einen zusätzlichen Filter, um plötzliche Änderungen der Signalamplitude zu vermeiden.

Für den Lautsprecher müssen wir nur den positiven Draht mit dem Pin 13 und den negativen mit GND verbinden.

Und wir sind bereit für den Code!!!

Schritt 4: (Ohne MyoWare) Bauen Sie die Konditionierungsschaltung des Signals auf

(Ohne MyoWare) Bauen Sie die Konditionierungsschaltung des Signals auf
(Ohne MyoWare) Bauen Sie die Konditionierungsschaltung des Signals auf

Diese Schaltung ist in 8 Stufen integriert:

  1. Instrumentierungsverstärker
  2. Tiefpassfilter
  3. Hochpassfilter
  4. Inverter-Verstärker
  5. Vollwellen-Präzisionsgleichrichter
  6. Passiver Tiefpassfilter
  7. Differenzverstärker
  8. Biased Parallel Clipper

1. Instrumentenverstärker

Diese Stufe wird verwendet, um das Signal mit einer Verstärkung von 500 vorzuverstärken und das möglicherweise im System vorhandene 60-Hz-Signal zu eliminieren. Dadurch erhalten wir ein Signal mit einer maximalen Amplitude von 200 mV.

2. Tiefpassfilter

Dieser Filter wird verwendet, um jedes Signal über 300 Hz zu eliminieren.

3. Hochpassfilter

Dieser Filter wird verwendet, um jedes Signal zu vermeiden, das niedriger als 20 Hz ist, das durch die Bewegung der Elektroden während des Tragens erzeugt wird.

4. Inverter-Verstärker

Mit einer Verstärkung von 68 erzeugt dieser Verstärker ein Signal mit einer Amplitude von -8 bis 8 V.

5. Vollwellen-Präzisionsgleichrichter

Dieser Gleichrichter wandelt jedes negative Signal in ein positives Signal um und hinterlässt nur ein positives Signal. Dies ist nützlich, da der Arduino nur ein Signal von 0 bis 5 V in den analogen Eingängen akzeptiert.

6. Passiver Tiefpassfilter

Wir verwenden 2 x 1000uF Elektrolytkondensatoren, um plötzliche Amplitudenänderungen zu vermeiden.

7. Differenzverstärker

Nach der Stufe 6 stellen wir fest, dass unser Signal einen Offset von 1,5 V hat, das bedeutet, dass unser Signal nicht auf 0 V, sondern nur auf 1,5 V und maximal 8 Volt absinken kann. Der Differenzverstärker verwendet ein Signal von 1,5 V (erhalten mit einem Spannungsteiler und 5 V, eingestellt mit einem 10k-Potentiometer) und dem Signal, das wir modifizieren möchten und die 1,5 V auf das Muskelsignal ruhen lassen, so dass wir ein schönes Signal mit einem Minimum von 0 V und einem Maximum erhalten von 6,5 V.

8. Biased Parallel Clipper

Schließlich akzeptiert der Arduino, wie bereits erwähnt, nur Signale mit einer maximalen Amplitude von 5 V. Um die maximale Amplitude unseres Signals zu reduzieren, müssen wir die Spannung über 5 Volt eliminieren. Dieser Clipper wird uns dabei helfen.

Schritt 5: (Ohne MyoWare) Verbinden Sie die Elektroden mit dem Stromkreis und Arduino

(Ohne MyoWare) Verbinden Sie die Elektroden mit dem Schaltkreis und Arduino
(Ohne MyoWare) Verbinden Sie die Elektroden mit dem Schaltkreis und Arduino
(Ohne MyoWare) Verbinden Sie die Elektroden mit dem Schaltkreis und Arduino
(Ohne MyoWare) Verbinden Sie die Elektroden mit dem Schaltkreis und Arduino
(Ohne MyoWare) Verbinden Sie die Elektroden mit dem Schaltkreis und Arduino
(Ohne MyoWare) Verbinden Sie die Elektroden mit dem Schaltkreis und Arduino

Die im Bizeps platzierten Elektroden sind die Elektroden 1, 2, und die Elektrode, die dem Ellenbogen am nächsten liegt, wird als Referenzelektrode bezeichnet.

Die Elektroden 1 und 2 werden an die + und - Eingänge des AD620 angeschlossen, egal in welcher Reihenfolge.

Die Referenzelektrode ist mit GND verbunden.

Das gefilterte Signal geht direkt an den A0-Pin des Arduino.

**VERGESSEN SIE NICHT, DEN GND DES ARDUINO MIT DEM GND DES SCHALTKREISES ZU VERLASSEN**

Schritt 6: Der Code !

Der Code!!!
Der Code!!!
Der Code!!!
Der Code!!!
Der Code!!!
Der Code!!!

Schließlich die Codes.

1. Der erste ist ein Frequenz-Sweep von 400 Hz bis 912 Hz, abhängig von der Amplitude des vom Bizeps erhaltenen Signals.

2. Die zweite ist die dritte Oktave der C-Major-Tonleiter, je nach Amplitude wird ein Ton gewählt.

Die Frequenzen findest du in Wikipedia, Dezimalzahlen einfach ignorieren

Schritt 7: Endgültige Ergebnisse

Dies sind die erhaltenen Ergebnisse, Sie können den Code ändern, um die Noten zu spielen, die Sie WÜNSCHEN!!!

Die nächste Stufe dieses Projekts besteht darin, einige Schrittmotoren und andere Arten von Aktoren zu integrieren, um ein Musikinstrument zu spielen. Und auch Workout, um starke Signale zu erhalten.

Jetzt lass deine Muskeln dir etwas MUSIK spielen. SPASS HABEN!!:)

Empfohlen: