Obsah:
- Krok 1: Materiály
- Krok 2: Instalace softwaru
- Krok 3: Připevnění akcelerometru
- Krok 4: Připevnění snímačů Flex
- Krok 5: Rozhraní s max
- Krok 6: Sestavení zbytku maximálního kódu
- Krok 7: Doslova dát vše dohromady
Video: Nositelná technika: Rukavice měnící hlas: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Zdá se, že rukavice s neuvěřitelnými schopnostmi jsou v dnešní době v módě. Zatímco Thanosova Infinity Gauntlet je docela silná rukavice, chtěli jsme vyrobit rukavici, která by dokázala něco ještě pozoruhodnějšího: změnit hlas nositele v reálném čase.
Tento Instructable poskytuje návod, jak jsme navrhli rukavici pro změnu hlasu. Náš návrh využíval k detekci pohybů různé senzory a mikrokontrolér v rukavici, které byly odeslány prostřednictvím kódu Arduino do patche Max, kde byl náš zvukový signál poté zábavným způsobem pozměněn a zkreslen. Konkrétní senzory, pohyby a zvukové změny, které jsme použili, jsou flexibilní pro různé aspekty; toto je jen jeden způsob, jak vytvořit rukavici měnící hlas!
Tento projekt byl součástí komunitního partnerství mezi studenty Pomona College a Fremont Academy of Engineering Femineers. Je to opravdu zábavná kombinace elektronického inženýrství a prvků elektronické hudby!
Krok 1: Materiály
Díly:
- Mikrokontrolér HexWear (ATmega32U4) (https://hexwear.com/)
- Akcelerometr MMA8451 (https://www.adafruit.com/product/2019)
- Krátké snímače pružnosti (x4) (https://www.adafruit.com/product/1070)
- Lehká běžecká rukavice
- Šrouby a podložky č. 2 (x8)
- Krimpovací konektory; Rozchod 22-18 (x8) (https://www.elecdirect.com/crimp-wire-terminals/ring-crimp-terminals/pvc-ring-terminals/ring-terminal-pvc-red-22-18-6- 100ks)
- Odpor 50 kΩ (x4)
- Drát (~ 20 gauge)
- Samolepicí zavírací špendlík
- Plsť nebo jiná tkanina (~ 10 sq. In.)
- Šicí nit
- Zipties
- Notebook
- USB mikrofon
Nástroje
- Pájecí sada
- Odizolovače a řezačky drátu
- Elektrická páska
- Horkovzdušná pistole
- Šroubovák
- Nůžky
- Jehla na šití
Software:
- Max by Cycling '74 (https://cycling74.com)
- Software Arduino (https://www.arduino.cc/en/Main/Software)
Krok 2: Instalace softwaru
Začneme tím, co je skutečně nejzábavnější částí každého projektu: instalace knihoven (a dalších).
Arduino:
Stáhněte si a nainstalujte software Arduino (https://www.arduino.cc/en/Main/Software).
HexWear:
1) (Pouze Windows, uživatelé systému Mac mohou tento krok přeskočit) Nainstalujte ovladač na adrese https://www.redgerbera.com/pages/hexwear-driver-installation. Stáhněte a nainstalujte ovladač (soubor.exe uvedený v kroku 2 v horní části propojené stránky RedGerbera).
2) Nainstalujte požadovanou knihovnu pro Hexware. Otevřete Arduino IDE. V části „Soubor“vyberte „Předvolby“. Vložte místo do prostoru určeného pro adresy URL správce dalších desek
github.com/RedGerbera/Gerbera-Boards/raw/master/package_RedGerbera_index.json.
Poté klikněte na „OK“.
Přejděte na Nástroje -> Deska: -> Správce desky. V nabídce v levém horním rohu vyberte „Přispěno“.
Vyhledejte a poté klikněte na desky Gerbera a klikněte na Instalovat. Ukončete a znovu otevřete Arduino IDE.
Chcete -li zajistit, aby byla knihovna nainstalována správně, přejděte do nabídky Nástroje -> Deska a přejděte do spodní části nabídky. Měli byste vidět sekci s názvem „Gerbera Boards“, ve které by se měl objevit alespoň HexWear (ne-li více desek jako mini-HexWear).
Akcelerometr:
Stáhněte si a nainstalujte knihovnu akcelerometru (https://learn.adafruit.com/adafruit-mma8451-accelerometer-breakout/wiring-and-test)
Krok 3: Připevnění akcelerometru
K interakci s tímto projektem potřebujeme dva hlavní typy senzorů: akcelerometr a flex senzory. Prozkoumáme je po jednom, počínaje akcelerometrem. Nejprve potřebujeme sladit hardwarová připojení.
Abyste zabránili poškození Hexu, doporučujeme protáhnout šroubem a podložkou č. 2 požadovanými porty a poté k tomuto šroubu připevnit všechna připojení. Aby se při hře s rukavicí něco neuvolnilo, je třeba spoje pájet a/nebo krimpovat. Pro každé připojení použijte několik palců drátu a proveďte následující připojení od šestihranu k akcelerometru (referenční informace naleznete na výše uvedených vývodech):
VSTUPNÍ NAPĚTÍ VINGROUND GNDSCL/D3 SCLSDA/D2 SDA
Když je vše zapojeno, jsme připraveni testovat!
Jako test spusťte ukázkový kód akcelerometru v Arduinu (Soubor-> Příklady-> Adafruit_MMA8451-> MMA8451demo) a ujistěte se, že může vystupovat na sériový monitor. Při udržování hladiny by mělo vydávat gravitační zrychlení (~ 10 m/s) ve směru z. Nakloněním akcelerometru bude toto zrychlení měřeno ve směru x nebo y; použijeme to, abychom nositeli umožnili změnit zvuk otáčením ruky!
Nyní musíme data akcelerometru prezentovat tak, aby je bylo možné propojit s Max. Abychom to mohli udělat, musíme vytisknout hodnoty x a y, případně upravené tak, aby odpovídaly požadovanému rozsahu (viz část 6). V našem připojeném kódu děláme následující:
// Změřte směr x a směr y. Dělíme a násobíme, abychom se dostali do správných rozsahů pro MAX (rozsah 1000 v x a rozsah 40 v y) xdir = event.acceleration.x/0,02; ydir = abs (event.acceleration.y)*2; // Vytiskněte vše ve čitelném formátu pro Max - s mezerami mezi každým číslem Serial.print (xdir); Serial.print ("");
To by mělo mít hexadecimální tisk upravených hodnot směrů xay y akcelerometru každý řádek. Nyní jsme připraveni přidat flex senzory!
Krok 4: Připevnění snímačů Flex
Pokud dokážeme ohýbat prsty, může uživatel získat spoustu potenciálních ovládacích prvků zvuku. Flex senzory to udělají. Každý flex senzor je v podstatě potenciometr, kde neohnutý má odpor ~ 25KΩ, zatímco plně flexovaný má odpor ~ 100KΩ. Každý flex senzor jsme vložili do jednoduchého děliče napětí s 50K odporem, jak ukazuje první obrázek.
Opět použijte poměrně krátké délky drátu (mějte na paměti, že to všechno bude pasovat na zadní část rukavice), pájejte čtyři moduly děliče napětí. Čtyři moduly budou sdílet stejný Vin a uzemnění-stočili jsme dohromady odizolované konce vodičů, takže bychom měli jen jeden vývod na pájku. Nakonec vezměte čtyři moduly a proveďte zapojení zobrazená na druhém obrázku (pokud někdo ví, jak to udělat, aniž byste dělali strašně zamotaný nepořádek, prozraďte svá tajemství).
Nyní potřebujeme kód Arduino pro čtení napětí z každého senzoru. Pro naše účely jsme flexe senzory považovali za přepínače; byly buď zapnuté, nebo vypnuté. Náš kód jako takový jednoduše nastaví prahovou hodnotu napětí-nad touto prahovou hodnotou vyvedeme 1 na sériový port (což znamená, že snímač je ohnutý), jinak vydáme 0:
// Vezměte několik
analogové vzorky a sečtěte je pro každý snímač Flex
while (sample_count <NUM_SAMPLES) {
sum10 += analogRead (A10);
sum9 += analogRead (A9);
sum7 += analogRead (A7);
sum11 += analogRead (A11);
sample_count ++;
// Krátké zpoždění, aby je nebrali příliš rychle
zpoždění (5);
}
// vypočítat napětí, průměrování z rychlých vzorků
// použijte 5.0 pro ADC 5.0V
referenční napětí
// 5,015 V je kalibrováno
referenční napětí
napětí10 = ((plovoucí) součet10 /
(float) NUM_SAMPLES * 5,015) / 1024,0;
napětí9 = ((plovoucí) součet9/
(float) NUM_SAMPLES * 5,015) / 1024,0;
napětí7 = ((plovoucí) součet7 /
(float) NUM_SAMPLES * 5,015) / 1024,0;
napětí11 = ((plovoucí) součet11 /
(float) NUM_SAMPLES * 5,015) / 1024,0;
// Zkontrolujte, zda každý flex senzor
je větší než prahová hodnota (thresh) - pokud ano, nastavte číslo
// Pinkie prst
if (napětí10> mlátit)
{
//-5 zvýšit
výška hlasu o jednu oktávu
flex10 = -10;
}
else flex10 = 0;
//Prsteník
pokud (napětí9>
(thresh-0,4)) {
// 5 snížit
výška hlasu o jednu oktávu
flex9 = 5;
}
else flex9 = 0;
//Prostředníček
if (napětí7> mlátit) {
// 1 k nastavení
efekt reverbu
flex7 = 1;
}
else flex7 = 0;
//Ukazováček
if (napětí11> mlátit)
{
// 50 k nastavení
cykly do 50
flex11 = 93;
}
else flex11 = 0;
// Reset všech počítání
proměnná na 0 pro další smyčku
sample_count = 0;
součet10 = 0;
součet9 = 0;
součet7 = 0;
součet11 = 0;
V tomto okamžiku by měl sériový port zobrazovat hodnoty pro orientaci akcelerometru a také to, zda je každý flex senzor ohnutý. Jsme připraveni, aby náš kód Arduino hovořil s Maxem!
Krok 5: Rozhraní s max
Nyní, když hexadecimální kód plivá spoustou čísel přes sériový port, potřebujeme software Max pro čtení těchto signálů. Blok kódu na obrázku výše to dělá! Jste srdečně zváni.
Důležitá poznámka: po nahrání kódu do Hex zavřete všechna okna sériového portu a poté změňte zakroužkované písmeno v kódu Max tak, aby odpovídalo hexadecimálnímu portu. Pokud si nejste jisti, které písmeno nastavit, stisknutím části „Tisk“kódu Max se zobrazí seznam všech připojených portů.
Vytištěná čára ze sériového portu Hexu se přečte přes blok kódu Max a poté se rozdělí na základě oddělovačů mezer. Výstup na konci bloku Max umožňuje uchopit každé číslo jednotlivě, takže první výstupní prostor připojíme tam, kam chceme, aby šel směr x akcelerometru, druhý prostor bude směr y atd. Pro Nyní je jednoduše připojte k číselným blokům, abyste se ujistili, že fungují. Měli byste být schopni pohybovat akcelerometrem a senzory flexe a sledovat změnu čísel v softwaru Max.
Krok 6: Sestavení zbytku maximálního kódu
Vzhledem k síle jazyka Max zde můžete opravdu popustit uzdu své fantazii všemi způsoby, jak pomocí své magické energetické rukavice změnit příchozí zvukový signál. Přesto, pokud vám dojdou nápady, výše je shrnutí toho, co náš Max kód dělá a jak funguje.
Pro každý parametr, který se pokoušíte změnit, si pravděpodobně budete chtít pohrávat s rozsahem hodnot pocházejících z kódu Arduino, abyste získali správnou citlivost.
Několik dalších tipů pro řešení potíží Max:
-
Pokud neslyšíte zvuk
- ujistěte se, že je Max nastaven na příjem zvuku z vašeho mikrofonu (Možnosti Vstupní zvukové stavové zařízení)
- ujistěte se, že je zapnutý jezdec hlavní hlasitosti v Max a všechny další ovládací prvky hlasitosti, které můžete mít v kódu
-
Pokud se zdá, že kód nic nedělá
- ujistěte se, že je váš patch zamknutý (symbol zámku v dolním levém rohu)
- zajistěte prostřednictvím odečtů v opravě Max, že vaše oprava Max stále získává data ze sériového portu Arduino. Pokud ne, zkuste resetovat sériový port (jak je popsáno v kroku 5) a/nebo zkontrolovat vaše fyzická zapojení.
-
Při změně parametrů podivné zvuky ořezávání
to má co do činění s tím, jak ~ tapin a ~ tapout fungují; konkrétně, že když změníte jejich hodnoty, resetují se, což způsobí oříznutí. Vzhledem k našim omezeným znalostem programu jsme si téměř jisti, že existuje lepší způsob, jak to udělat v Max a odstranit problém…
Krok 7: Doslova dát vše dohromady
Teď už jen zbývá připojit naše obvody k rukavici. Vezměte si další látku a vystřihněte proužky o něco větší než ohybové senzory. Přišijte další látku k prstu rukavice, kde se klouby ohýbají, a ponechte jakýsi rukáv pro flex senzor, aby seděl (nemůžeme jen přilepit flex senzory přímo na rukavici, protože tkanina rukavice se při ohýbání prstů natahuje). Jakmile je rukáv většinou ušitý, zasuňte flex senzor dovnitř a opatrně přišijte elektrody k rukavici, fixujte flex senzor na místě. Opakujte to pro každý flex senzor.
Dále pomocí samolepicího bezpečnostního špendlíku připevněte Hex k zadní části rukavice (možná budete chtít na špendlík nanést horké lepidlo, abyste se ujistili, že se během nošení nevrátí). Přišijte akcelerometr k zápěstí rukavice. Nakonec pomocí kouzla zipů krásně vyčistěte všechny nevzhledné dráty.
Jste připraveni vyzkoušet svou špičkovou rukavici pro zpěv! (Můžeme vřele doporučit „Harder Better Faster Stronger“společnosti Daft Punk, abyste plně předvedli své schopnosti měnit hlas)
Doporučuje:
Hot Seat: Sestavte si barevně měnící vyhřívaný polštář: 7 kroků (s obrázky)
Horké sedadlo: Vytvořte vyhřívaný polštář měnící barvu: Chcete se v chladných zimních dnech udržet opečení? Hot Seat je projekt, který využívá dvě z nejzajímavějších možností e -textilu - změnu barvy a teplo! Budeme stavět sedací polštář, který se zahřívá, a když je připraven jít, odhalí
LED kruhové světlo měnící barvu: 11 kroků
LED kruhové světlo měnící barvu: Dnes vyrobíme 20 palcové LED kruhové světlo měnící barvu. Vím, že kruhová světla mají obvykle kruhový tvar, ale tohle bude čtverec, aby to bylo trochu jednodušší. Tento mini projekt je primárně pro fotografy, kteří potřebují
Nositelná technika pro děti: Hero Armband: 4 kroky
Nositelná technika pro děti: Hero Armband: Tento návod se bude zabývat tím, jak vytvořit „hrdinskou pásku“, která se při nošení rozsvítí. Pomocí vodivé látkové pásky, vodivé nitě a šitých LED diod je to skvělá aktivita pro studenty školy, aby se naučili základy obvodů a nositelné technologie. Te
Nositelná technika: vzduchové bubny: 5 kroků
Wearable Tech: Air Drums: Naším cílem pro tento projekt bylo vyrobit nositelnou bicí soupravu z některých akcelerometrů a piezo disků. Myšlenka byla taková, že při zásahu ruky se ozve zvuk léčky; nebo při stlačení nohy zazní zvuk hi-hat nebo basového bubnu. Kontrolovat
Infigo - (nositelná rukavice s umělou inteligencí): 9 kroků
Infigo - (nositelná rukavice s umělou inteligencí): Infigo je nositelná rukavice poháněná umělou inteligencí (AI) založená na principech asistenční technologie (AT), která zvýší produktivitu znevýhodněné společnosti Umělá inteligence a strojové učení nemohou nahradit lidskou inteligenci