Talaan ng mga Nilalaman:

Muscle-Music With Arduino: 7 Hakbang
Muscle-Music With Arduino: 7 Hakbang

Video: Muscle-Music With Arduino: 7 Hakbang

Video: Muscle-Music With Arduino: 7 Hakbang
Video: Arduino Drum Sequencer: 8 tracks, 16 steps per measure, 8 measures per pattern 2024, Nobyembre
Anonim
Muscle-Music With Arduino
Muscle-Music With Arduino

Kamusta kayong lahat, ito ang aking unang Instructable, ang proyektong ito ay inspirasyon matapos panoorin ang Old Spice Muscle Music na komersyal na video, kung saan maaari nating panoorin kung paano tumutugtog ang Terry Crews ng iba't ibang mga instrumento na may mga signal ng EMG.

Plano naming simulan ang paglalakbay na ito sa unang proyekto na ito, kung saan bumubuo kami ng isang parisukat na signal ng alon na may isang frecuency na nag-iiba depende sa amplitude ng nakuha na signal ng EMG. Mamaya, ang signal na ito ay konektado sa isang Speaker upang i-play ang frecuency na iyon.

Upang maitayo ang proyektong ito, gagamitin namin bilang isang pangunahing, isang Arduino UNO at isang MyoWare Muscle Sensor. Kung hindi ka makakakuha ng isang MyoWare Sensor huwag mag-alala ipaliwanag namin kung paano bumuo ng iyong sarili, Ito ay isang maliit na maliit ngunit ito ay nagkakahalaga ng pagsubok, dahil marami kang matutunan !!

Kaya, magsimula na tayo.

Hakbang 1: Kunin ang Mga Kinakailangan na Bahagi

Kunin ang Mga Kinakailangan na Bahagi
Kunin ang Mga Kinakailangan na Bahagi

Mayroong dalawang paraan upang maitayo ang proyektong ito: gamit ang MyoWare sensor (Hakbang 2 & 3), at wala ito (Hakbang 4 & 5).

Ang paggamit ng MyoWare sensor ay mas madaling beacuse hindi ito nangangailangan ng advanced na kaalaman tungkol sa electronics, halos plug and play lang ito. Nang walang MyoWare ay nangangailangan sa iyo na magkaroon ng kaunting kaalaman tungkol sa OpAmps, tulad ng pagpapalaki at pag-filter, pati na rin pagwawasto ng isang senyas. Sa ganitong paraan ay mas mahirap, ngunit hinahayaan kang maunawaan kung ano ang nasa likod ng MyoWare circuit.

Para sa MyoWare na paraan, kailangan namin ang mga sumusunod na sangkap at tool:

  • MyoWare Muscle Sensor (Sparkfun)
  • Arduino UNO (Amazon)
  • Tagapagsalita
  • Breadboard
  • 22 AWG cable
  • 3 x 3M Electrodes (Amazon)
  • Screwdriver
  • 2 x Mga Klip ng Alligator
  • Arduino USB cable
  • Mga Striper ng Wire
  • 1 x 1000uF (Amazon)

Nang walang MyoWare, kakailanganin mo ang nakaraang mga sangkap (nang walang MyoWare) pati na rin:

  • Power Supply na may +12 V, -12 V at 5 V (maaari kang gumawa ng iyong sarili sa isang Computer PS tulad ng ipinakita sa Mga Instructionable na ito)
  • Kung ang iyong Power Supply AC cable ay isang 3 prong cable maaaring kailanganin mo ng isang three-prong / two-prong adapter o cheater plug. (Minsan ang sobrang prong na iyon ay maaaring makabuo ng hindi ginustong ingay).
  • Multimeter
  • Intrumentation Amplifier AD620
  • OpAmps 2 x LM324 (o katulad)
  • Mga Diode 3 x 1N4007 (o katulad)
  • Mga capacitor

    • Non-polarized (maaaring ceramic capacitors, Polyester, atbp)

      • 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
    • Polarized (Electrolytic capacitor)

      2 x 1mF

  • Mga lumalaban

    • 1 x 100 Ohms
    • 1 x 3.9k Ohms
    • 1 x 5.6k Ohms
    • 1 x 1.2k Ohms
    • 1 x 2.7k Ohms
    • 3 x 8.2k Ohms
    • 1 x 6.8k Ohms
    • 2 x 1k Ohms
    • 1 x 68k Ohms
    • 1 x 20k Ohms
    • 4 x 10k Ohms
    • 6 x 2k Ohms
    • 1 x 10k Ohms Potentiometer

Hakbang 2: (Sa MyoWare) Maghanda ng Mga Elektroda at Ikonekta Sila

(Sa MyoWare) Maghanda ng Mga Elektrod at Ikonekta Sila
(Sa MyoWare) Maghanda ng Mga Elektrod at Ikonekta Sila
(Sa MyoWare) Maghanda ng Mga Elektrod at Ikonekta Sila
(Sa MyoWare) Maghanda ng Mga Elektrod at Ikonekta Sila
(Sa MyoWare) Maghanda ng Mga Elektrod at Ikonekta Sila
(Sa MyoWare) Maghanda ng Mga Elektrod at Ikonekta Sila

Para sa bahaging ito kailangan namin ng MyoWare Sensor at 3 electrodes.

Kung nakakuha ka ng malalaking electrode tulad ng ginawa namin, kailangan mong i-cut ang mga gilid upang mabawasan ang diameter nito, kung hindi man, hahadlangan nito ang iba pang electrode na magiging sanhi ng pagkagambala ng signal.

Ikonekta ang MyoWare na minarkahan sa ika-4 na pahina ng Manwal ng Sensor.

Hakbang 3: (Sa MyoWare) Ikonekta ang Sensor sa Arduino Board

(Sa MyoWare) Ikonekta ang Sensor sa Arduino Board
(Sa MyoWare) Ikonekta ang Sensor sa Arduino Board
(Sa MyoWare) Ikonekta ang Sensor sa Arduino Board
(Sa MyoWare) Ikonekta ang Sensor sa Arduino Board
(Sa MyoWare) Ikonekta ang Sensor sa Arduino Board
(Sa MyoWare) Ikonekta ang Sensor sa Arduino Board

Ang board ng MyoWare ay mayroong 9 Pins: RAW, SHID, GND, +, -, SIG, R, E at M. Para sa proyektong ito kinakailangan lamang namin ang "+" upang ikonekta ang 5V, "-" para sa Ground at "SIG" para sa output signal, na konektado sa 3 malalaking mga cable (~ 2 ft).

Tulad ng nabanggit sa itaas, ang "+" pin ay kailangang ikonekta sa 5V pin ng Arduino, "-" sa GND at para sa SIG kailangan namin ng isang karagdagang filter upang maiwasan ang mga biglaang pagbabago sa amplitude ng signal.

Para sa nagsasalita kailangan lamang naming ikonekta ang Positive wire sa pin 13 at ang Negatibo sa GND.

At handa na kami para sa code !!!

Hakbang 4: (Nang walang MyoWare) Buuin ang Conditioning Circuit ng Signal

(Nang walang MyoWare) Buuin ang Conditioning Circuit ng Signal
(Nang walang MyoWare) Buuin ang Conditioning Circuit ng Signal

Ang circuit na ito ay isinama ng 8 yugto:

  1. Instrumentation Amplifier
  2. Low-pass filter
  3. HIGH pass filter
  4. Inverter Amplifier
  5. Buong straightifier na tumutukoy sa alon
  6. Passive Low-pass filter
  7. Pagkakaiba ng Amplifier
  8. Biased Parallel Clipper

1. Amplifier ng Instrumentasyon

Ang yugtong ito ay ginagamit upang paunang palakasin ang signal na may 500 Gain, at alisin ang 60 Hz signal na maaaring nasa system. Makakakuha ito sa amin ng isang senyas na may maximum na amplitude na 200 mV.

2. Filter na mababa ang pass

Ginagamit ang filter na ito upang maalis ang anumang signal sa itaas ng 300 Hz.

3. High-pass filter

Ginagamit ang filter na ito upang maiwasan ang anumang mas mababang signal na 20 Hz na nabuo sa paggalaw ng mga electrode habang suot ito.

4. Inverter Amplifier

Sa isang 68 na nakuha, ang amplifier na ito ay bubuo ng isang senyas na may isang amplitude na nag-iiba mula - 8 hanggang 8 V.

5. Buong alon na eksaktong pagwawasto

Ang tagatuwid na ito ay nagko-convert ng anumang negatibong signal sa isang positibong signal, na iniiwan sa amin ng isang positibong signal lamang. Kapaki-pakinabang ito sapagkat ang Arduino ay tumatanggap lamang ng isang senyas mula 0 hanggang 5 V sa mga input ng Analog.

6. Passive Low-pass filter

Gumagamit kami ng 2 x 1000uF Electrolytic Capacitors upang maiwasan ang biglaang pagbabago sa amplitude.

7. Pagkakaiba ng Amplifier

Matapos ang yugto 6, napagtanto namin na ang aming signal ay may 1.5 V na offset, nangangahulugan ito na ang aming signal ay hindi maaaring bumaba sa 0 V, hanggang sa 1.5 V, at isang maximum na 8 Volts. Ang Differential Amplifier ay gagamit ng isang senyas ng 1.5 V (nakuha gamit ang isang boltahe divider at 5V, naayos sa isang 10k Potentiometer) at ang signal na nais naming baguhin at ipahinga ang 1.5 V sa signal ng kalamnan, naiwan kami ng isang magandang signal na may minimum na 0 V at isang maximum ng 6.5 V.

8. Biased Parallel Clipper

Sa wakas, tulad ng nabanggit namin bago ang Arduino ay tumatanggap lamang ng mga signal na may maximum na amplitude na 5 V. Upang mabawasan ang Maximum amplitude ng aming signal kailangan naming alisin ang boltahe sa itaas ng 5 Volts. Tutulungan kami ng Clipper na ito na makamit iyon.

Hakbang 5: (Nang walang MyoWare) Ikonekta ang mga Electrode sa Circuit at Arduino

(Nang walang MyoWare) Ikonekta ang mga Electrode sa Circuit at Arduino
(Nang walang MyoWare) Ikonekta ang mga Electrode sa Circuit at Arduino
(Nang walang MyoWare) Ikonekta ang mga Electrode sa Circuit at Arduino
(Nang walang MyoWare) Ikonekta ang mga Electrode sa Circuit at Arduino
(Nang walang MyoWare) Ikonekta ang mga Electrode sa Circuit at Arduino
(Nang walang MyoWare) Ikonekta ang mga Electrode sa Circuit at Arduino

Ang mga electrode na nakalagay sa biceps ay ang Electrodes 1, 2, at ang electrode na pinakamalapit sa siko ay kilala bilang referral na electrode.

Ang electrode 1 at 2 ay konektado sa + at - mga input ng AD620 hindi mahalaga kung aling pagkakasunud-sunod.

Ang sanggunian elektrod ay conected sa GND.

Ang Filter na signal ay direktang dumidirekta sa A0 pin ng Arduino.

** HUWAG KALIMUTAN NA GONNECT ANG GND NG ARDUINO SA GND NG CIRCUIT **

Hakbang 6: Ang Code !!

Ang Code !!!
Ang Code !!!
Ang Code !!!
Ang Code !!!
Ang Code !!!
Ang Code !!!

Panghuli, ang mga code.

1. Ang una ay isang frecuency sweep mula 400 Hz hanggang 912 Hz, depende sa amplitude ng signal na nakuha mula sa biceps.

2. Ang pangalawa ay ang pangatlong oktaba ng sukat ng alkalde ng C, depende sa amplitude pipiliin nito ang isang tono.

Mahahanap mo ang mga frecuency sa Wikipedia, huwag pansinin ang mga decimal

Hakbang 7: Pangwakas na Mga Resulta

Ito ang mga resulta na nakuha, MAAARI mong baguhin ang code upang i-play ang mga tala na gusto mo !!!

Ang susunod na yugto ng proyektong ito ay upang isama ang ilang mga stepper motor, at iba pang uri ng mga actuator upang makapagpatugtog ng isang instrumentong pangmusika. At pati na rin ang Pag-eehersisyo upang makakuha ng malakas na mga signal.

Ngayon ay patugtugin ka ng iyong mga kalamnan ng ilang MUSIC. MAGING masaya !!:)

Inirerekumendang: