Cuprins:

Muzică-muzică cu Arduino: 7 pași
Muzică-muzică cu Arduino: 7 pași

Video: Muzică-muzică cu Arduino: 7 pași

Video: Muzică-muzică cu Arduino: 7 pași
Video: Bad Apple!! but it's 240 7-segment displays 2024, Iulie
Anonim
Muzică-muzică cu Arduino
Muzică-muzică cu Arduino

Bună ziua tuturor, acesta este primul meu Instructables, acest proiect a fost inspirat după ce am vizionat reclama videoclipului Old Spice Muscle Music, unde putem urmări cum Terry Crews cântă diferite instrumente cu semnale EMG.

Planificăm să începem această călătorie cu acest prim proiect, unde generăm un semnal de undă pătrată cu o frecvență care variază în funcție de amplitudinea semnalului EMG obținut. Mai târziu, acest semnal va fi conectat la un difuzor pentru a reda frecvența respectivă.

Pentru a construi acest proiect, vom folosi ca nucleu, un Arduino UNO și un senzor muscular MyoWare. Dacă nu puteți obține un senzor MyoWare, nu vă faceți griji, vă vom explica cum să vă construiți propriul dvs. Este un pic triky, dar merită încercat, deoarece veți învăța MULTE !!

Ei bine, să începem.

Pasul 1: obțineți piesele necesare

Obțineți piesele necesare
Obțineți piesele necesare

Există două moduri de a construi acest proiect: folosind senzorul MyoWare (Pasul 2 și 3) și fără acesta (Pasul 4 și 5).

Utilizarea senzorului MyoWare este mai ușoară deoarece nu necesită cunoștințe avansate despre electronică, este aproape doar plug and play. Fără MyoWare este necesar să aveți cunoștințe despre OpAmps, cum ar fi amplificarea și filtrarea, precum și rectificarea unui semnal. Acest mod este mai dificil, dar vă permite să înțelegeți ce se află în spatele circuitului MyoWare.

Pentru modul MyoWare, avem nevoie de următoarele componente și instrumente:

  • Senzor muscular MyoWare (Sparkfun)
  • Arduino UNO (Amazon)
  • Speaker
  • Pană de pâine
  • Cablu 22 AWG
  • 3 x electrozi 3M (Amazon)
  • Şurubelniţă
  • 2 x Clipuri de aligator
  • Cablu USB Arduino
  • Dispozitive de decupare a firelor
  • 1 x 1000uF (Amazon)

Fără MyoWare, veți avea nevoie de componentele anterioare (fără MyoWare), precum și de:

  • Sursă de alimentare cu +12 V, -12 V și 5 V (vă puteți crea propriul cu un computer PS așa cum se arată în acest manual)
  • În cazul în care cablul dvs. de alimentare cu curent alternativ este un cablu cu 3 direcții, este posibil să aveți nevoie de un adaptor cu trei direcții / două direcții sau de o priză de înșelătorie. (Uneori, acel vârf suplimentar poate genera zgomot nedorit).
  • Multimetru
  • Amplificator de intrumentare AD620
  • OpAmps 2 x LM324 (sau similar)
  • Diode 3 x 1N4007 (sau similar)
  • Condensatoare

    • Non-polarizat (pot fi condensatori ceramici, poliester etc.)

      • 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
    • Polarizat (condensator electrolitic)

      2 x 1mF

  • Rezistențe

    • 1 x 100 ohmi
    • 1 x 3,9 k ohmi
    • 1 x 5,6 k ohmi
    • 1 x 1,2 k ohmi
    • 1 x 2,7 k ohmi
    • 3 x 8,2 k ohmi
    • 1 x 6,8 k ohmi
    • 2 x 1k ohmi
    • 1 x 68 k ohmi
    • 1 x 20k ohmi
    • 4 x 10 k ohmi
    • 6 x 2 k ohmi
    • Potentiometru 1 x 10k Ohms

Pasul 2: (Cu MyoWare) Pregătiți electrozii și conectați-i

(Cu MyoWare) Pregătiți electrozii și conectați-i
(Cu MyoWare) Pregătiți electrozii și conectați-i
(Cu MyoWare) Pregătiți electrozii și conectați-i
(Cu MyoWare) Pregătiți electrozii și conectați-i
(Cu MyoWare) Pregătiți electrozii și conectați-i
(Cu MyoWare) Pregătiți electrozii și conectați-i

Pentru această parte avem nevoie de senzorul MyoWare și 3 electrozi.

Dacă aveți electrozi mari, așa cum am făcut noi, trebuie să tăiați marginile pentru a-i reduce diametrul, altfel va bloca celălalt electrod, ceea ce va provoca interferențe ale semnalului.

Conectați MyoWare așa cum este marcat în a patra pagină a manualului senzorului.

Pasul 3: (Cu MyoWare) Conectați senzorul la placa Arduino

(Cu MyoWare) Conectați senzorul la placa Arduino
(Cu MyoWare) Conectați senzorul la placa Arduino
(Cu MyoWare) Conectați senzorul la placa Arduino
(Cu MyoWare) Conectați senzorul la placa Arduino
(Cu MyoWare) Conectați senzorul la placa Arduino
(Cu MyoWare) Conectați senzorul la placa Arduino

Placa MyoWare are 9 pini: RAW, SHID, GND, +, -, SIG, R, E și M. Pentru acest proiect avem nevoie doar de "+" pentru a conecta 5V, "-" pentru masă și "SIG" pentru semnal de ieșire, conectat cu 3 cabluri mari (~ 2 ft).

Așa cum s-a menționat mai sus, pinul "+" trebuie să fie conectat la pinul Arduino de 5V, "-" la GND și pentru SIG avem nevoie de un filtru suplimentar pentru a evita modificările bruște ale amplitudinii semnalului.

Pentru difuzor trebuie doar să conectăm firul pozitiv la pinul 13 și negativul la GND.

Și suntem pregătiți pentru cod !!!

Pasul 4: (Fără MyoWare) Construiți circuitul de condiționare a semnalului

(Fără MyoWare) Construiți circuitul de condiționare a semnalului
(Fără MyoWare) Construiți circuitul de condiționare a semnalului

Acest circuit este integrat de 8 etape:

  1. Amplificator de instrumentație
  2. Filtru trece-jos
  3. Filtru trece-sus
  4. Amplificator invertor
  5. Redresor de precizie cu undă completă
  6. Filtru pas-jos pasiv
  7. Amplificator diferențial
  8. Tunsor paralel părtinitor

1. Amplificator de instrumentație

Această etapă este utilizată pentru pre-amplificarea semnalului cu un câștig de 500 și eliminarea semnalului de 60 Hz care poate fi în sistem. Acest lucru ne va oferi un semnal cu o amplitudine maximă de 200 mV.

2. Filtru trece-jos

Acest filtru este utilizat pentru a elimina orice semnal de peste 300 Hz.

3. Filtru trece-sus

Acest filtru este utilizat pentru a evita orice semnal mai mic de 20 Hz generat de mișcarea electrozilor în timp ce îl purtați.

4. Amplificator invertor

Cu un câștig de 68, acest amplificator va genera un semnal cu o amplitudine care variază de la - 8 la 8 V.

5. Redresor de precizie cu undă completă

Acest redresor transformă orice semnal negativ într-un semnal pozitiv, lăsându-ne doar un semnal pozitiv. Acest lucru este util deoarece Arduino acceptă doar un semnal de la 0 la 5 V în intrările analogice.

6. Filtru pas-jos pasiv

Folosim condensatori electrolitici 2 x 1000uF pentru a evita modificările bruște ale amplitudinii.

7. Amplificator diferențial

După etapa 6, ne dăm seama că semnalul nostru are un offset de 1,5 V, ceea ce înseamnă că semnalul nostru nu poate coborî la 0 V, doar la 1,5 V și maximum 8 volți. Amplificatorul diferențial va utiliza un semnal de 1,5 V (obținut cu un divizor de tensiune și 5V, ajustat cu un potențiometru de 10k) și semnalul pe care dorim să-l modificăm și va sta de 1,5 V la semnalul muscular, lăsându-ne un semnal frumos cu minim 0 V și maxim de 6,5 V.

8. Tunsor paralel părtinitor

În cele din urmă, așa cum am menționat anterior, Arduino acceptă doar semnale cu o amplitudine maximă de 5 V. Pentru a reduce amplitudinea maximă a semnalului nostru, trebuie să eliminăm tensiunea de peste 5 volți. Acest Clipper ne va ajuta să realizăm acest lucru.

Pasul 5: (Fără MyoWare) Conectați electrozii la circuit și Arduino

(Fără MyoWare) Conectați electrozii la circuit și Arduino
(Fără MyoWare) Conectați electrozii la circuit și Arduino
(Fără MyoWare) Conectați electrozii la circuit și Arduino
(Fără MyoWare) Conectați electrozii la circuit și Arduino
(Fără MyoWare) Conectați electrozii la circuit și Arduino
(Fără MyoWare) Conectați electrozii la circuit și Arduino

Electrozii așezați în biceps sunt electrozii 1, 2, iar electrodul cel mai apropiat de cot este cunoscut sub numele de electrod de referință.

Electrozii 1 și 2 sunt conectați la intrările + și - ale AD620, nu contează în ce ordine.

Electrodul de referință este conectat la GND.

Semnalul filtrat merge direct la pinul A0 al Arduino.

** NU Uitați să conectați GND-ul lui ARDUINO LA GND-UL CIRCUITULUI **

Pasul 6: Codul !

Codul!!!
Codul!!!
Codul!!!
Codul!!!
Codul!!!
Codul!!!

În cele din urmă, codurile.

1. Primul este o frecvență de frecvență de la 400 Hz la 912 Hz, în funcție de amplitudinea semnalului obținut de la biceps.

2. Cea de-a doua este a treia octavă a scalei C mayor, în funcție de amplitudine, va alege un ton.

Puteți găsi frecvențele în Wikipedia, doar să ignorați zecimalele

Pasul 7: Rezultate finale

Acestea sunt rezultatele obținute, POȚI modifica codul pentru a reda notele pe care le DORIȚI !!!

Următoarea etapă a acestui proiect este integrarea unor motoare pas cu pas și a altor tipuri de actuatoare pentru a cânta la un instrument muzical. Și, de asemenea, antrenament pentru a obține semnale puternice.

Acum fă-ți mușchii să te joace cu MUZICĂ. A SE DISTRA!!:)

Recomandat: