Mündəricat:

Arduino ilə Əzələ-Musiqisi: 7 addım
Arduino ilə Əzələ-Musiqisi: 7 addım
Anonim
Arduino ilə Əzələ Musiqisi
Arduino ilə Əzələ Musiqisi

Hamıya salam, bu mənim ilk Təlimatlarımdır, bu layihə, Terry Crews -in EMG siqnalları ilə fərqli alətlərdə necə oynadığını izləyə biləcəyimiz Old Spice Muscle Music video reklamına baxdıqdan sonra ilhamlandı.

Bu səyahətə, əldə edilən EMG siqnalının amplitüdündən asılı olaraq dəyişən bir meyvəli bir kvadrat dalğa siqnalı yaratdığımız bu ilk layihə ilə başlamağı planlaşdırırıq. Daha sonra bu meyvəni oynamaq üçün bu siqnal Dinamikə bağlanacaq.

Bu layihəni qurmaq üçün bir nüvə olaraq Arduino UNO və MyoWare Muscle Sensor kimi istifadə edəcəyik. Bir MyoWare Sensoru ala bilmirsinizsə, özünüzü necə quracağınızı izah edəcəyik, narahat olmayın, bir az çətin olsa da, çox şey öyrənəcəyiniz üçün sınamağa dəyər!

Yaxşı, başlayaq.

Addım 1: Lazım olan hissələri əldə edin

Lazım olan hissələri əldə edin
Lazım olan hissələri əldə edin

Bu layihəni qurmağın iki yolu var: MyoWare sensorundan istifadə edərək (Adım 2 və 3) və onsuz (Adım 4 və 5).

MyoWare sensorunu istifadə etmək daha asandır, çünki elektronika haqqında qabaqcıl bilik tələb etmir, demək olar ki, sadəcə qoşun və işləyin. MyoWare olmadan, OpAmps haqqında gücləndirmə və süzgəc, habelə siqnalın düzəldilməsi kimi bəzi məlumatlara malik olmağınız tələb olunur. Bu yol daha çətindir, ancaq MyoWare dövrəsinin arxasında nə olduğunu anlamağa imkan verir.

MyoWare yolu üçün aşağıdakı komponentlərə və vasitələrə ehtiyacımız var:

  • MyoWare Əzələ Sensoru (Sparkfun)
  • Arduino UNO (Amazon)
  • Dinamik
  • Çörək lövhəsi
  • 22 AWG kabeli
  • 3 x 3M elektrodlar (Amazon)
  • Tornavida
  • 2 x Timsah Klipi
  • Arduino USB kabeli
  • Tel çıxarıcılar
  • 1 x 1000 uF (Amazon)

MyoWare olmadan, əvvəlki komponentlərə (MyoWare olmadan) ehtiyacınız olacaq:

  • +12 V, -12 V və 5 V enerji təchizatı (bu Təlimatlarda göstərildiyi kimi bir kompüter PS ilə özünüz edə bilərsiniz)
  • Güc Təchizatı AC kabeliniz 3 dişli bir kabeldirsə, üç dişli/iki qollu adapterə və ya fırıldaqçı fişinə ehtiyacınız ola bilər. (Bəzən bu əlavə diş istənməyən səs -küy yarada bilər).
  • Multimetr
  • Cihaz Gücləndiricisi AD620
  • OpAmps 2 x LM324 (və ya bənzəri)
  • Diodlar 3 x 1N4007 (və ya bənzəri)
  • Kondansatörler

    • Qütbləşməmiş (keramika kondansatörləri, Polyester və s. Ola bilər)

      • 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
    • Polarize (Elektrolitik kondansatör)

      2 x 1mF

  • Rezistorlar

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

Addım 2: (MyoWare ilə) Elektrodlar Hazırlayın və Onları Bağlayın

(MyoWare ilə) Elektrodlar hazırlayın və onları birləşdirin
(MyoWare ilə) Elektrodlar hazırlayın və onları birləşdirin
(MyoWare ilə) Elektrodlar hazırlayın və onları birləşdirin
(MyoWare ilə) Elektrodlar hazırlayın və onları birləşdirin
(MyoWare ilə) Elektrodlar hazırlayın və onları birləşdirin
(MyoWare ilə) Elektrodlar hazırlayın və onları birləşdirin

Bu hissə üçün MyoWare Sensor və 3 elektrod lazımdır.

Bizim kimi böyük elektrodlarınız varsa, diametrini azaltmaq üçün kənarlarını kəsməlisiniz, əks halda siqnal müdaxiləsinə səbəb olacaq digər elektrodu bloklayacaq.

MyoWare -i Sensor Təlimatının 4 -cü səhifəsində qeyd olunduğu kimi qoşun.

Addım 3: (MyoWare ilə) Sensoru Arduino lövhəsinə qoşun

(MyoWare ilə) Sensoru Arduino lövhəsinə qoşun
(MyoWare ilə) Sensoru Arduino lövhəsinə qoşun
(MyoWare ilə) Sensoru Arduino lövhəsinə qoşun
(MyoWare ilə) Sensoru Arduino lövhəsinə qoşun
(MyoWare ilə) Sensoru Arduino lövhəsinə qoşun
(MyoWare ilə) Sensoru Arduino lövhəsinə qoşun

MyoWare lövhəsində 9 pin var: RAW, SHID, GND, +, -, SIG, R, E və M. Bu layihə üçün yalnız " +" ilə 5V, " -" üçün Ground və "SIG" üçün 3 böyük kabel (~ 2 ft) ilə əlaqəli çıxış siqnalı.

Yuxarıda qeyd edildiyi kimi, "+" pininin Arduinonun 5V pininə, "-" GND-yə və SIG üçün siqnalın amplitüdündə qəfil dəyişikliklərin qarşısını almaq üçün əlavə bir filtrə ehtiyacı var.

Dinamik üçün yalnız Pozitiv məftili pin 13 -ə, Mənfi isə GND -yə bağlamalıyıq.

Və kodu hazırıq !!!

Addım 4: (MyoWare olmadan) Siqnalın Kondisioner Dövrünü qurun

(MyoWare olmadan) Siqnalın Kondisioner Dövrünü qurun
(MyoWare olmadan) Siqnalın Kondisioner Dövrünü qurun

Bu dövrə 8 mərhələdən ibarətdir:

  1. Alət Gücləndiricisi
  2. Aşağı keçid filtri
  3. Yüksək keçid filtri
  4. İnverter gücləndiricisi
  5. Tam dalğalı həssas düzəldici
  6. Pasif aşağı keçid filtri
  7. Diferensial Gücləndirici
  8. Yanal Paralel Klips

1. Alət Gücləndiricisi

Bu mərhələ 500 Gain ilə siqnalı əvvəlcədən gücləndirmək və sistemdə ola biləcək 60 Hz siqnalını aradan qaldırmaq üçün istifadə olunur. Bu bizə maksimum amplituda 200 mV olan bir siqnal alacaq.

2. Aşağı keçid filtri

Bu filtr 300 Hz -dən yuxarı olan siqnalları aradan qaldırmaq üçün istifadə olunur.

3. Yüksək keçid filtri

Bu filtr, istifadə edərkən elektrodların hərəkəti ilə 20 Hz -dən aşağı olan hər hansı bir siqnalın qarşısını almaq üçün istifadə olunur.

4. İnverter Gücləndiricisi

68 artımla, bu gücləndirici - 8 ilə 8 V arasında dəyişən bir amplituda bir siqnal yaradacaq.

5. Tam dalğa dəqiqliyi doğrultucu

Bu düzəldici hər hansı bir mənfi siqnalı müsbət bir siqnala çevirir və bizə yalnız müsbət bir siqnal buraxır. Bu faydalıdır, çünki Arduino Analog girişlərində yalnız 0 ilə 5 V arasında olan bir siqnal qəbul edir.

6. Passiv Aşağı keçid filtri

Amplituda ani dəyişikliklərin qarşısını almaq üçün 2 x 1000uF elektrolitik kondansatörlərdən istifadə edirik.

7. Diferensial Gücləndirici

6 -cı mərhələdən sonra siqnalımızın 1,5 V ofsetə malik olduğunu başa düşürük, yəni siqnalımız 0 V -a, yalnız 1,5 V -a və maksimum 8 Volta enə bilməz. 1,5 V (bir gərginlik bölücü və 5V ilə əldə edilmiş, 10k Potansiometr ilə düzəldilmiş) və dəyişdirmək istədiyimiz siqnal və 1,5 V -ı əzələ siqnalına bağlayaraq bizi ən az 0 V və maksimum gözəl bir siqnal buraxacaq 6,5 V.

8. Biased Paralel Clipper

Nəhayət, daha əvvəl də qeyd etdiyimiz kimi, Arduino yalnız 5 V maksimum amplitüdlü siqnalları qəbul edir. Siqnalımızın Maksimum amplitüdünü azaltmaq üçün 5 Voltdan yuxarı olan gərginliyi aradan qaldırmalıyıq. Bu Clipper buna nail olmağımıza kömək edəcək.

Addım 5: (MyoWare olmadan) Elektrodları Circuit və Arduino -ya qoşun

(MyoWare olmadan) Elektrodları Circuit və Arduino -ya qoşun
(MyoWare olmadan) Elektrodları Circuit və Arduino -ya qoşun
(MyoWare olmadan) Elektrodları Circuit və Arduino -ya qoşun
(MyoWare olmadan) Elektrodları Circuit və Arduino -ya qoşun
(MyoWare olmadan) Elektrodları Circuit və Arduino -ya qoşun
(MyoWare olmadan) Elektrodları Circuit və Arduino -ya qoşun

Bicepsə yerləşdirilən elektrodlar 1, 2 elektrodlarıdır və dirsəyə ən yaxın olan elektrod istinad elektrodu olaraq bilinir.

Elektrod 1 və 2 AD620 -nin + və - girişlərinə bağlıdır, hansı sıraya görə olmasının əhəmiyyəti yoxdur.

Referans elektrod GND -yə bağlanır.

Süzülmüş siqnal birbaşa Arduino A0 pininə gedir.

** ARDUINO'nun GND'Nİ DEVRİN GNDSİNDƏN BAXMAYI UNUTMAYIN **

Addım 6: Kod !

Kod !!!
Kod !!!
Kod !!!
Kod !!!
Kod !!!
Kod !!!

Nəhayət, kodlar.

1. Birincisi, bicepsdən alınan siqnalın amplitüdündən asılı olaraq 400 Hz -dən 912 Hz -ə qədər olan bir meyvəli süpürmədir.

2. İkincisi, C merinin miqyasının üçüncü oktavasıdır, amplitüdündən asılı olaraq bir ton seçəcək.

Meyvələri Vikipediyada tapa bilərsiniz, ondalık rəqəmlərə məhəl qoymayın

Addım 7: Yekun Nəticələr

Alınan nəticələr bunlardır, İSTƏYƏN qeydlərinizi oynamaq üçün kodu dəyişə bilərsiniz !!!

Bu layihənin növbəti mərhələsi, bir musiqi aləti çalmaq üçün bəzi step motorları və digər aktuatorları birləşdirməkdir. Həm də güclü siqnallar almaq üçün məşq edin.

İndi əzələlərinizə bir MUSİQİ çaldırın. ƏYLƏNİN!!:)

Tövsiyə: