Inhoudsopgave:
- Stap 1: Verkrijg de benodigde onderdelen
- Stap 2: (Met MyoWare) Bereid de elektroden voor en sluit ze aan
- Stap 3: (Met MyoWare) Sluit de sensor aan op het Arduino-bord
- Stap 4: (Zonder MyoWare) Bouw het conditioneringscircuit van het signaal
- Stap 5: (Zonder MyoWare) Sluit de elektroden aan op het circuit en Arduino
- Stap 6: De code!
- Stap 7: Eindresultaten
Video: Muscle-Music met Arduino - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Hallo allemaal, dit is mijn eerste Instructables, dit project is geïnspireerd na het bekijken van de Old Spice Muscle Music-videocommercial, waar we kunnen zien hoe Terry Crews verschillende instrumenten bespeelt met EMG-signalen.
We zijn van plan om deze reis te beginnen met dit eerste project, waar we een blokgolfsignaal genereren met een frequentie die varieert afhankelijk van de amplitude van het verkregen EMG-signaal. Later wordt dit signaal verbonden met een luidspreker om die frequentie af te spelen.
Om dit project te bouwen, zullen we als kern een Arduino UNO en een MyoWare-spiersensor gebruiken. Als u geen MyoWare-sensor kunt krijgen, hoeft u zich geen zorgen te maken, we zullen uitleggen hoe u uw eigen sensor kunt bouwen. Het is een beetje lastig, maar het is het proberen waard, want u zult VEEL leren!!
Laten we beginnen.
Stap 1: Verkrijg de benodigde onderdelen
Er zijn twee manieren om dit project te bouwen: met de MyoWare-sensor (stap 2 & 3) en zonder (stap 4 & 5).
Het gebruik van de MyoWare-sensor is gemakkelijker omdat er geen geavanceerde kennis over elektronica voor nodig is, het is bijna gewoon plug-and-play. Zonder de MyoWare moet u enige kennis hebben van OpAmps, zoals versterking en filtering, evenals rectificatie van een signaal. Deze manier is moeilijker, maar het laat je begrijpen wat er achter het MyoWare-circuit zit.
Voor de MyoWare-manier hebben we de volgende componenten en tools nodig:
- MyoWare Spiersensor (Sparkfun)
- Arduino UNO (Amazon)
- Spreker
- Breadboard
- 22 AWG-kabel
- 3 x 3M-elektroden (Amazon)
- Schroevendraaier
- 2 x krokodillenklemmen
- Arduino USB-kabel
- Draadstrippers
- 1 x 1000uF (Amazone)
Zonder de MyoWare heeft u de voorgaande componenten nodig (zonder de MyoWare) en ook:
- Voeding met +12 V, -12 V en 5 V (u kunt uw eigen maken met een computer PS zoals weergegeven in deze Instructables)
- Als uw AC-voedingskabel een 3-polige kabel is, heeft u mogelijk een driepolige/tweepolige adapter of cheaterstekker nodig. (Soms kan die extra tand ongewenste ruis genereren).
- Multimeter
- Instrumentatieversterker AD620
- OpAmps 2 x LM324 (of vergelijkbaar)
- Diodes 3 x 1N4007 (of vergelijkbaar)
-
condensatoren
-
Niet-gepolariseerd (kan keramische condensatoren zijn, polyester, enz.)
- 2 x 100 nF
- 1 x 120 nF
- 1x 820 nF
- 1x 1,2 uF
- 1 x 1 uF
- 1 x 4,7 uF
- 1 x 1,8 uF
-
Gepolariseerd (elektrolytische condensator)
2 x 1mF
-
-
Weerstanden
- 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 Potentiometer
Stap 2: (Met MyoWare) Bereid de elektroden voor en sluit ze aan
Voor dit onderdeel hebben we de MyoWare Sensor en 3 elektroden nodig.
Als je grote elektroden hebt zoals wij, moet je de randen afsnijden om de diameter te verkleinen, anders blokkeert het de andere elektrode, wat signaalinterferentie veroorzaakt.
Sluit de MyoWare aan zoals aangegeven op de 4e pagina van de sensorhandleiding.
Stap 3: (Met MyoWare) Sluit de sensor aan op het Arduino-bord
Het MyoWare-bord heeft 9 pinnen: RAW, SHID, GND, +, -, SIG, R, E en M. Voor dit project hebben we alleen de "+" nodig om 5V aan te sluiten, "-" voor Ground en "SIG" voor de uitgangssignaal, verbonden met 3 grote kabels (~2 ft).
Zoals hierboven vermeld, moet de "+"-pin worden aangesloten op de 5V-pin van de Arduino, "-" op GND en voor de SIG hebben we een extra filter nodig om plotselinge veranderingen in de amplitude van het signaal te voorkomen.
Voor de luidspreker hoeven we alleen de positieve draad op pin 13 en de negatieve op GND aan te sluiten.
En we zijn klaar voor de code!!!
Stap 4: (Zonder MyoWare) Bouw het conditioneringscircuit van het signaal
Dit circuit is geïntegreerd door 8 fasen:
- Instrumentatie versterker
- Laagdoorlaatfilter
- Hoogdoorlaatfilter
- Omvormer Versterker
- Volledige golf precisie gelijkrichter
- Passief laagdoorlaatfilter
- Differentiële versterker
- Bevooroordeelde parallelle tondeuse
1. Instrumentatieversterker
Deze trap wordt gebruikt om het signaal vooraf te versterken met een versterking van 500 en het 60 Hz-signaal dat zich in het systeem kan bevinden, te elimineren. Hierdoor krijgen we een signaal met een maximale amplitude van 200 mV.
2. Laagdoorlaatfilter
Dit filter wordt gebruikt om elk signaal boven 300 Hz te elimineren.
3. Hoogdoorlaatfilter
Dit filter wordt gebruikt om elk signaal lager dan 20 Hz te vermijden dat wordt gegenereerd door de beweging van de elektroden tijdens het dragen.
4. Omvormerversterker
Met een versterking van 68 genereert deze versterker een signaal met een amplitude variërend van - 8 tot 8 V.
5. Volledige golf precisie gelijkrichter:
Deze gelijkrichter zet elk negatief signaal om in een positief signaal, waardoor we alleen een positief signaal overhouden. Dit is handig omdat de Arduino alleen een signaal van 0 tot 5 V accepteert in de analoge ingangen.
6. Passief laagdoorlaatfilter
We gebruiken 2 x 1000uF elektrolytische condensatoren om plotselinge veranderingen in de amplitude te voorkomen.
7. Differentiële versterker
Na fase 6 realiseren we ons dat ons signaal een offset van 1,5 V heeft, dit betekent dat ons signaal niet naar 0 V kan gaan, alleen naar 1,5 V en maximaal 8 volt. De differentiële versterker gebruikt een signaal van 1.5 V (verkregen met een spanningsdeler en 5V, aangepast met een 10k Potentiometer) en het signaal dat we willen wijzigen en zal de 1.5 V laten rusten op het spiersignaal, waardoor we een mooi signaal krijgen met een minimum van 0 V en een maximum van 6,5 V.
8. Bevooroordeelde parallelle tondeuse
Tot slot, zoals we eerder vermeldden, accepteert de Arduino alleen signalen met een maximale amplitude van 5 V. Om de maximale amplitude van ons signaal te verminderen, moeten we de spanning boven 5 volt elimineren. Deze Clipper helpt ons daarbij.
Stap 5: (Zonder MyoWare) Sluit de elektroden aan op het circuit en Arduino
De elektroden die in de biceps zijn geplaatst, zijn de elektroden 1, 2, en de elektrode die zich het dichtst bij de elleboog bevindt, staat bekend als de referentie-elektrode.
De elektrode 1 en 2 worden aangesloten op de + en - ingangen van de AD620, het maakt niet uit in welke volgorde.
De referentie-elektrode is aangesloten op GND.
Het gefilterde signaal gaat rechtstreeks naar de A0-pin van de Arduino.
**VERGEET NIET DE GND VAN DE ARDUINO AAN TE SLUITEN OP DE GND VAN HET CIRCUIT**
Stap 6: De code!
Tot slot de codes.
1. De eerste is een frequentiezwaai van 400 Hz tot 912 Hz, afhankelijk van de amplitude van het signaal dat wordt verkregen van de biceps.
2. De tweede is het derde octaaf van de C burgemeestersschaal, afhankelijk van de amplitude zal het een toon kiezen.
Je kunt de frequenties op Wikipedia vinden, negeer decimalen gewoon
Stap 7: Eindresultaten
Dit zijn de verkregen resultaten, u KUNT de code wijzigen om de noten te spelen die u WILT!!!
De volgende fase van dit project is het integreren van enkele stappenmotoren en andere soorten actuatoren om een muziekinstrument te kunnen bespelen. En ook trainen om sterke signalen te krijgen.
Laat je spieren nu wat MUZIEK voor je spelen. VEEL PLEZIER!!:)
Aanbevolen:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Pratende Arduino - Een MP3 afspelen met Arduino zonder enige module - Mp3-bestand afspelen vanaf Arduino met PCM: 6 stappen
Pratende Arduino | Een MP3 afspelen met Arduino zonder enige module | Mp3-bestand van Arduino afspelen met PCM: in deze instructie leren we hoe we een mp3-bestand met arduino kunnen spelen zonder een audiomodule te gebruiken, hier gaan we de PCM-bibliotheek voor Arduino gebruiken die 16 bit PCM van 8 kHz-frequentie speelt, dus laten we dit doen
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Start uw diavoorstelling met vakantiefoto's met een vleugje magie! 9 stappen (met afbeeldingen)
Lanceer uw diavoorstelling met vakantiefoto's met een vleugje magie!: In de loop der jaren heb ik de gewoonte ontwikkeld om een klein beeldje mee te nemen op reis: ik koop vaak een kleine, lege artoy (zoals die op de foto) en verf het past bij de vlag en het thema van het land dat ik bezoek (in dit geval Sicilië). T