Muscle-Music with Arduino: 7 koraka
Muscle-Music with Arduino: 7 koraka

Video: Muscle-Music with Arduino: 7 koraka

Video: Muscle-Music with Arduino: 7 koraka
Video: Arduino Drum Sequencer: 8 tracks, 16 steps per measure, 8 measures per pattern 2025, Januar
Anonim
Mišićna muzika s Arduinom
Mišićna muzika s Arduinom

Pozdrav svima, ovo je moj prvi Instructables, ovaj projekt je inspiriran nakon gledanja video reklame Old Spice Muscle Music, gdje možemo gledati kako Terry Crews svira različite instrumente sa EMG signalima.

Planiramo započeti ovo putovanje ovim prvim projektom, gdje generiramo signal kvadratnog vala s frekvencijom koja varira ovisno o amplitudi dobivenog EMG signala. Kasnije će se ovaj signal povezati sa zvučnikom za reprodukciju te frekvencije.

Za izgradnju ovog projekta koristit ćemo kao jezgru, Arduino UNO i MyoWare senzor mišića. Ako ne možete nabaviti MyoWare senzor, ne brinite, mi ćemo vam objasniti kako izgraditi vlastiti, malo je škakljivo, ali vrijedi pokušati, jer ćete mnogo naučiti !!

Pa, počnimo.

Korak 1: Nabavite potrebne dijelove

Nabavite potrebne dijelove
Nabavite potrebne dijelove

Postoje dva načina za izradu ovog projekta: pomoću MyoWare senzora (koraci 2 i 3) i bez njega (koraci 4 i 5).

Korištenje MyoWare senzora lakše je jer ne zahtijeva napredno znanje o elektronici, već je to samo plug and play. Bez MyoWare -a morate imati znanje o OpAmpama, poput pojačanja i filtriranja, kao i ispravljanja signala. Ovaj način je teži, ali vam omogućuje da razumijete šta se nalazi iza MyoWare kruga.

Za MyoWare način potrebne su nam sljedeće komponente i alati:

  • MyoWare senzor mišića (Sparkfun)
  • Arduino UNO (Amazon)
  • Zvučnik
  • Breadboard
  • 22 AWG kabel
  • 3 x 3M elektrode (Amazon)
  • Šrafciger
  • 2 x Aligator kopče
  • Arduino USB kabel
  • Strojevi za skidanje žice
  • 1 x 1000uF (Amazon)

Bez MyoWare -a trebat će vam prethodne komponente (bez MyoWare -a), kao i:

  • Napajanje sa +12 V, -12 V i 5 V (možete ga sami napraviti sa računarskim PS -om kao što je prikazano u ovom uputstvu za upotrebu)
  • Ako je vaš AC kabel za napajanje trožilni kabel, možda će vam trebati trožilni/dvožilni adapter ili utikač za varanje. (Ponekad taj dodatni zubac može stvoriti neželjenu buku).
  • Multimetar
  • Pojačalo za upad AD620
  • OpAmps 2 x LM324 (ili slično)
  • Diode 3 x 1N4007 (ili slično)
  • Kondenzatori

    • Nepolarizirani (mogu biti keramički kondenzatori, poliester itd.)

      • 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
    • Polarizirani (elektrolitički kondenzator)

      2 x 1 mF

  • Otpornici

    • 1 x 100 ohma
    • 1 x 3,9 k Ohma
    • 1 x 5,6 k Ohma
    • 1 x 1,2 k Ohma
    • 1 x 2,7 k Ohma
    • 3 x 8,2 k Ohma
    • 1 x 6,8 k Ohma
    • 2 x 1 k ohma
    • 1 x 68 k Ohma
    • 1 x 20 k Ohma
    • 4 x 10 k Ohma
    • 6 x 2 k Ohma
    • 1 x 10k Ohm potenciometar

Korak 2: (S MyoWare -om) Pripremite elektrode i povežite ih

(Sa MyoWare -om) Pripremite elektrode i povežite ih
(Sa MyoWare -om) Pripremite elektrode i povežite ih
(Sa MyoWare -om) Pripremite elektrode i povežite ih
(Sa MyoWare -om) Pripremite elektrode i povežite ih
(Sa MyoWare -om) Pripremite elektrode i povežite ih
(Sa MyoWare -om) Pripremite elektrode i povežite ih

Za ovaj dio trebamo MyoWare senzor i 3 elektrode.

Ako imate velike elektrode kao i mi, morate rezati rubove kako biste smanjili njezin promjer, inače će blokirati drugu elektrodu što će uzrokovati smetnje u signalu.

Povežite MyoWare kako je označeno na 4. stranici Priručnika za senzor.

Korak 3: (S MyoWare -om) Spojite senzor na Arduino ploču

(Sa MyoWare -om) Spojite senzor na Arduino ploču
(Sa MyoWare -om) Spojite senzor na Arduino ploču
(Sa MyoWare -om) Spojite senzor na Arduino ploču
(Sa MyoWare -om) Spojite senzor na Arduino ploču
(Sa MyoWare -om) Spojite senzor na Arduino ploču
(Sa MyoWare -om) Spojite senzor na Arduino ploču

MyoWare ploča ima 9 pinova: RAW, SHID, GND, +, -, SIG, R, E i M. Za ovaj projekt zahtijevamo samo " +" za spajanje 5V, " -" za uzemljenje i "SIG" za izlazni signal, povezan sa 3 velika kabla (~ 2 ft).

Kao što je gore spomenuto, pin "+" treba spojiti na Arduino 5V pin, "-" na GND, a za SIG nam je potreban dodatni filter kako bismo izbjegli nagle promjene amplitude signala.

Za zvučnik je potrebno samo spojiti pozitivnu žicu na pin 13, a negativnu na GND.

I spremni smo za kod !!!

Korak 4: (Bez MyoWare) Izgradite krug kondicioniranja signala

(Bez MyoWare -a) Izgradite krug kondicioniranja signala
(Bez MyoWare -a) Izgradite krug kondicioniranja signala

Ovaj krug integriran je u 8 faza:

  1. Instrumentalno pojačalo
  2. Niskopropusni filter
  3. Visokopropusni filter
  4. Invertersko pojačalo
  5. Punotalasni precizni ispravljač
  6. Pasivni niskopropusni filter
  7. Diferencijalno pojačalo
  8. Pristrasna paralelna mašina za šišanje

1. Instrumentalno pojačalo

Ova faza se koristi za predpojačanje signala s pojačanjem od 500 i uklanjanje signala od 60 Hz koji može biti u sistemu. Time ćemo dobiti signal maksimalne amplitude 200 mV.

2. Niskopropusni filter

Ovaj filter se koristi za uklanjanje signala iznad 300 Hz.

3. Visokopropusni filter

Ovaj filter se koristi za izbjegavanje signala nižih od 20 Hz koji nastaju kretanjem elektroda tijekom nošenja.

4. Invertersko pojačalo

S pojačanjem od 68, ovo pojačalo će generirati signal s amplitudom koja varira od - 8 do 8 V.

5. Punotalasni precizni ispravljač

Ovaj ispravljač pretvara bilo koji negativni signal u pozitivan signal, ostavljajući nam samo pozitivan signal. Ovo je korisno jer Arduino prihvaća samo signal od 0 do 5 V na analognim ulazima.

6. Pasivni niskopropusni filter

Koristimo 2 x 1000uF elektrolitička kondenzatora kako bismo izbjegli nagle promjene amplitude.

7. Diferencijalno pojačalo

Nakon stupnja 6, shvaćamo da naš signal ima pomak od 1,5 V, što znači da naš signal ne može pasti na 0 V, samo na 1,5 V, a najviše na 8 Volti. Diferencijalno pojačalo će koristiti signal 1,5 V (dobijeno sa deliteljem napona i 5 V, podešeno pomoću potenciometra od 10 k) i signal koji želimo da modifikujemo i ostaviće 1,5 V na signalu mišića, ostavljajući nam prelep signal sa minimalno 0 V i maksimalnim od 6,5 V.

8. Pristrasna paralelna mašina za šišanje

Konačno, kao što smo već spomenuli, Arduino prihvaća samo signale maksimalne amplitude 5 V. Da bismo smanjili maksimalnu amplitudu našeg signala, moramo ukloniti napon iznad 5 Volti. Ovaj Clipper će nam pomoći da to postignemo.

Korak 5: (Bez MyoWare -a) Spojite elektrode na krug i Arduino

(Bez MyoWare -a) Spojite elektrode na krug i Arduino
(Bez MyoWare -a) Spojite elektrode na krug i Arduino
(Bez MyoWare -a) Spojite elektrode na krug i Arduino
(Bez MyoWare -a) Spojite elektrode na krug i Arduino
(Bez MyoWare -a) Spojite elektrode na krug i Arduino
(Bez MyoWare -a) Spojite elektrode na krug i Arduino

Elektrode postavljene u bicepse su elektrode 1, 2, a elektroda najbliža laktu poznata je kao referentna elektroda.

Elektrode 1 i 2 su spojene na + i - ulaze AD620, nije važno kojim redoslijedom.

Referentna elektroda je spojena na GND.

Filtrirani signal ide direktno na A0 pin Arduina.

** NE ZABORAVITE PRIKLJUČITI ARDUINOV GND U GND KRUGA **

Korak 6: Kôd !

Kodeks !!!
Kodeks !!!
Kodeks !!!
Kodeks !!!
Kodeks !!!
Kodeks !!!

Na kraju, šifre.

1. Prvi je frekventni opseg od 400 Hz do 912 Hz, ovisno o amplitudi signala dobivenog od bicepsa.

2. Druga je treća oktava C gradonačelnikove ljestvice, ovisno o amplitudi koju će izabrati.

Frekuencije možete pronaći u Wikipediji, samo zanemarite decimale

Korak 7: Konačni rezultati

Ovo su postignuti rezultati, MOŽETE izmijeniti kôd kako biste svirali note koje želite !!!

Sljedeća faza ovog projekta je integriranje nekih koračnih motora i drugih vrsta pokretača za sviranje muzičkog instrumenta. I također Vježbajte da biste dobili jake signale.

Sada natjerajte mišiće da vam sviraju muziku. ZABAVI SE!!:)