Innehållsförteckning:
- Steg 1: Få delarna som krävs
- Steg 2: (Med MyoWare) Förbered elektroder och anslut dem
- Steg 3: (Med MyoWare) Anslut sensorn till Arduino -kortet
- Steg 4: (Utan MyoWare) Bygg signalkonditioneringskretsen
- Steg 5: (Utan MyoWare) Anslut elektroderna till kretsen och Arduino
- Steg 6: Koden !!
- Steg 7: Slutresultat
Video: Muskel-musik med Arduino: 7 steg
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Hej alla, det här är min första Instructables, det här projektet inspirerades efter att ha sett videokampanjen Old Spice Muscle Music, där vi kan se hur Terry Crews spelar olika instrument med EMG -signaler.
Vi planerar att starta denna resa med detta första projekt, där vi genererar en fyrkantvågssignal med en frekvens som varierar beroende på amplituden för den erhållna EMG -signalen. Senare kommer denna signal att anslutas till en högtalare för att spela den frecuensen.
För att bygga detta projekt kommer vi att använda som en kärna, en Arduino UNO och en MyoWare Muscle Sensor. Om du inte kan få en MyoWare -sensor oroa dig inte, vi kommer att förklara hur du bygger din egen, det är lite knepigt men det är värt att försöka, eftersom du kommer att lära dig MYCKET !!
Tja, låt oss komma igång.
Steg 1: Få delarna som krävs
Det finns två sätt att bygga detta projekt: att använda MyoWare -sensorn (steg 2 och 3) och utan det (steg 4 och 5).
Att använda MyoWare -sensorn är lättare eftersom det inte kräver avancerad kunskap om elektronik, det är nästan bara plug and play. Utan MyoWare kräver att du har viss kunskap om OpAmps, som förstärkning och filtrering, samt rättelse av en signal. Detta sätt är svårare, men det låter dig förstå vad som ligger bakom MyoWare -kretsen.
För MyoWare -sättet behöver vi följande komponenter och verktyg:
- MyoWare Muskelsensor (Sparkfun)
- Arduino UNO (Amazon)
- Högtalare
- Bakbord
- 22 AWG -kabel
- 3 x 3M elektroder (Amazon)
- Skruvmejsel
- 2 x Alligator Clips
- Arduino USB -kabel
- Wire Strippers
- 1 x 1000uF (Amazon)
Utan MyoWare behöver du de tidigare komponenterna (utan MyoWare) samt:
- Strömförsörjning med +12 V, -12 V och 5 V (du kan göra din egen med en dator PS som visas i denna instruktion)
- Om din nätkabel för strömförsörjning är en 3-polig kabel kan du behöva en trepinnar/tvåpinnaradapter eller fuskpropp. (Ibland kan den extra tappen generera oönskat buller).
- Multimeter
- Intrumentationsförstärkare AD620
- OpAmps 2 x LM324 (eller liknande)
- Dioder 3 x 1N4007 (eller liknande)
-
Kondensatorer
-
Icke-polariserad (kan vara keramiska kondensatorer, polyester, 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
-
Polariserad (elektrolytkondensator)
2 x 1 mF
-
-
Motstånd
- 1 x 100 ohm
- 1 x 3,9k ohm
- 1 x 5,6 k ohm
- 1 x 1,2 k ohm
- 1 x 2,7 k ohm
- 3 x 8,2 k ohm
- 1 x 6,8k ohm
- 2 x 1k ohm
- 1 x 68k ohm
- 1 x 20k ohm
- 4 x 10k ohm
- 6 x 2 k ohm
- 1 x 10k ohm potentiometer
Steg 2: (Med MyoWare) Förbered elektroder och anslut dem
För denna del behöver vi MyoWare -sensorn och 3 elektroder.
Om du får stora elektroder som vi gjorde, måste du klippa kanterna för att minska dess diameter, annars blockerar den den andra elektroden som kommer att orsaka signalstörningar.
Anslut MyoWare som markeras på fjärde sidan i sensorhandboken.
Steg 3: (Med MyoWare) Anslut sensorn till Arduino -kortet
MyoWare -kortet har 9 stift: RAW, SHID, GND, +, -, SIG, R, E och M. För detta projekt kräver vi bara " +" för att ansluta 5V, " -" för Ground och "SIG" för utsignal, ansluten med 3 stora kablar (~ 2 fot).
Som nämnts ovan måste "+" stiftet anslutas till Arduino 5V stift, "-" till GND och för SIG behöver vi ett extra filter för att undvika plötsliga förändringar i signalens amplitud.
För högtalaren behöver vi bara ansluta den positiva ledningen till stiftet 13 och det negativa till GND.
Och vi är redo för koden !!!
Steg 4: (Utan MyoWare) Bygg signalkonditioneringskretsen
Denna krets är integrerad i 8 steg:
- Instrumentförstärkare
- Lågpassfilter
- Högpassfilter
- Inverterförstärkare
- Fullvågsprecisionslikriktare
- Passivt lågpassfilter
- Differentialförstärkare
- Partisk parallellklippare
1. Instrumentförstärkare
Detta steg används för att förstärka signalen med en 500 Gain och eliminera 60 Hz-signalen som kan finnas i systemet. Detta kommer att ge oss en signal med en maximal amplitud på 200 mV.
2. Lågpassfilter
Detta filter används för att eliminera alla signaler över 300 Hz.
3. Högpassfilter
Detta filter används för att undvika signaler som är lägre än 20 Hz som genereras med elektrodernas rörelse medan du bär det.
4. Inverterförstärkare
Med en förstärkning på 68 kommer denna förstärkare att generera en signal med en amplitud som varierar från - 8 till 8 V.
5. Fullvågsprecisionslikriktare
Denna likriktare omvandlar alla negativa signaler till en positiv signal, vilket ger oss en positiv signal. Detta är användbart eftersom Arduino bara accepterar en signal från 0 till 5 V i de analoga ingångarna.
6. Passivt lågpassfilter
Vi använder 2 x 1000uF elektrolytkondensatorer för att undvika plötsliga förändringar i amplituden.
7. Differentialförstärkare
Efter steg 6 inser vi att vår signal har en 1,5 V -förskjutning, det betyder att vår signal inte kan gå ner till 0 V, bara till 1,5 V, och maximalt 8 volt. Differentialförstärkaren använder en signal på 1,5 V (erhålls med en spänningsdelare och 5 V, justerad med en 10k Potentiometer) och den signal vi vill ändra och kommer att vila 1,5 V till muskelsignalen, vilket ger oss en vacker signal med minst 0 V och ett maximum på 6,5 V.
8. Partisk parallellklippare
Slutligen, som vi nämnde tidigare accepterar Arduino bara signaler med en maximal amplitud på 5 V. För att minska den maximala amplituden för vår signal måste vi eliminera spänningen över 5 volt. Denna Clipper hjälper oss att uppnå det.
Steg 5: (Utan MyoWare) Anslut elektroderna till kretsen och Arduino
Elektroderna placerade i biceps är elektroderna 1, 2, och elektroden närmast armbågen är känd som referenselektroden.
Elektroden 1 och 2 är anslutna till + och - ingångarna på AD620 det spelar ingen roll i vilken ordning.
Referenselektroden är ansluten till GND.
Den filtrerade signalen går direkt till A0 -stiftet på Arduino.
** GLÖM INTE ATT ANSLUTA ARDUINO: s GND till kretsens GND **
Steg 6: Koden !!
Slutligen koderna.
1. Den första är ett frekvenssvep från 400 Hz till 912 Hz, beroende på amplituden för signalen som erhålls från biceps.
2. Den andra är den tredje oktaven i C -borgmästerskalan, beroende på amplituden kommer den att välja en ton.
Du kan hitta frecuencies i Wikipedia, ignorera bara decimaler
Steg 7: Slutresultat
Detta är de erhållna resultaten, du KAN ändra koden för att spela de toner du VILL !!!
Nästa steg i detta projekt är att integrera några stegmotorer och andra slags ställdon för att spela ett musikinstrument. Och även träning för att få starka signaler.
Få nu dina muskler att spela lite MUSIK. HA SÅ KUL!!:)