Obsah:

Sonic Motýlek, David Boldevin Engen: 4 kroky (s obrázky)
Sonic Motýlek, David Boldevin Engen: 4 kroky (s obrázky)

Video: Sonic Motýlek, David Boldevin Engen: 4 kroky (s obrázky)

Video: Sonic Motýlek, David Boldevin Engen: 4 kroky (s obrázky)
Video: Терренс Дикон раскрывает скрытую связь: сознание и энтропия 2024, Listopad
Anonim
Image
Image

Kompaktní motýlek schopný nepřetržitě zobrazovat okolní zvuk na čtyřech různých frekvencích na dvou zrcadlených polích 4x5 LED

Tento tutoriál vás provede tím, jak si vyrobit motýlka, díky kterému vyniknete v každém davu.

Co budete pro tento projekt potřebovat:

1 Arduino Pro Micro nebo podobně velké Arduino, které běží na 16 MHz

40 3mm LED diod

1 jednoduché tlačítko

1 elektretový mikrofon

1 dobíjecí 3,7V 800mAh 25C 1článková LiPo baterie

10 100Ω odpory

1 odpor 10 kΩ

1 220Ω odpor

Přístup ke stroji s plošnými spoji (deska s plošnými spoji)

Levný nastavitelný zavěšený/připínací motýlek nebo jen nastavitelný háček/klip na krk

Krok 1: Vytiskněte PCB

Vytiskněte PCB
Vytiskněte PCB

Při tisku desky s obvody možná budete muset upravit soubor.cmp tak, aby odpovídal požadavkům výrobce. Deska v originále však byla vyrobena poměrně nepřesnou metodou, takže většina výrobců bude s největší pravděpodobností schopna vyrobit desku plošných spojů beze změn. Na obrázcích vidíte přední a zadní stranu DPS. Konstrukce předpokládá, že pájecí otvory neobsahují průchodky a že průchodky lze umístit pouze samostatně (v deskách plošných spojů s více než jednou boční průchodkou jsou spoje mezi vrstvami).

Každé světlo je adresováno jednotlivě pomocí techniky zvané Charlieplexing, která umožňuje mnohem méně vstupních uzlů než normální LED matice. Nevýhodou je, že současně lze zapnout pouze světlo, což určuje limit, jak velké může být pole a bez znatelného blikání. Charliplexing funguje tak, že místo toho, aby měl dva signály 1 a 0, má tři 1, 0 a Z. Kde Z funguje jako otevřený obvod tím, že má velmi vysokou impedanci. Každé světlo se tedy rozsvítí tak, že uzel bude v kombinaci 1, 0, Z, Z, Z, což znamená, že proud může procházet pouze z jednoho uzlu do druhého současně.

Krok 2: Pájení všeho dohromady

Pájecí vše dohromady
Pájecí vše dohromady

Při pájení světel na desce plošných spojů je velmi důležité důsledně pájet kladnou stranu LED na čtverce a zápornou kružnici. Pokud to uděláte opačně, adresa v kódu zapne špatná světla a nekonzistence způsobí zapnutí více světel stejnými podněty.

Poté připájejte odpory 10 100Ω k přední části motýlka.

Poté připojte ostatní kusy způsobem znázorněným na schématu zapojení, je v pořádku baterii pájet přímo k Arduinu, protože se dobíjí, když je arduino připojeno přes USB. Před lepením všech kusů na zadní stranu desky plošných spojů byste měli vyzkoušet chyby v poli.

Krok 3: Nahrání kódu a ladění

Nahrajte kód výše. Když je nahraný, aktivujte jej stisknutím tlačítka, nyní by se na motýlku měl posouvat nahoru nebo dolů tvar trojúhelníku směřující dovnitř.

Pokud to neuděláte, použijte funkci Blink (LED), která bere vstup s číslem 1-20, pro každé světlo jednotlivě ve smyčce while (mode = 0) v prázdné smyčce, zatímco zbytek komentujete smyčka.

prázdná smyčka () {

while (mode == 0) {

Mrknutí (1); // Test jeden po druhém, abychom zjistili, zda světla fungují tak, jak by měla a která ne

// Mrkni (2); // další krok až do 20

/* if (digitalRead (Button) == 0) {

režim = 1;

Vypnuto();

zapnutí (1);

zpoždění (200);

přestávka;

}

Vypnuto(); */ // tato část je při ladění komentována

}

…..

Ladění:

Pokud máte na každé straně jiná světla, je v pájení něco v nepořádku a měli byste příslušná světla odpojit a provést krok 2 znovu.

Pokud jsou páry 2 světel vypnuty, mohou chybět průchodky.

Pokud se vždy rozsvítí dvě světla současně a jsou méně jasná než ostatní, jedno bylo připájeno špatným způsobem.

Pokud se každé světlo rozsvítí jednotlivě, ale nedodržujte vzor popsaný v pokynech v horní části kódu, který jste pokazili v kroku 2.

další problémy mohou vyplývat ze špatného připojení nebo zkratu na desce plošných spojů.

Varování: Tento segment je velmi technický a pro výrobu motýlka nepotřebný

Napsal jsem kód analýzy spektra speciálně pro Arduino s hodinovou frekvencí 16 MHz. Nejsem si tedy úplně jistý, jak dobře to bude fungovat na jiných systémech, může to způsobit, že všechna pásma budou reagovat velmi odlišně, ale nemusí se to příliš měnit.

Funguje tak, že odebere 60 vzorků za přibližně 6, 7 ms, což je vzorkovací frekvence zhruba 8, 9 kHz. Poté je analyzujeme 4 různými způsoby, čímž získáme 4 různé frekvence.

Analýza nejvyšší frekvence funguje tak, že porovnává každý další vzorek s dalším, srovnává hodnotu a sečte ji pro každou dvojici vzorků. To dává nejvyšší efekt kolem poloviny vzorkovací frekvence, takže je to pásmový filtr kolem 4, 4 kHz.

Hrubý matematický vzorec pro analýzu:

Σ (sq (x [2n-1] -x [2n]))

Další funguje velmi podobně, ale nejprve přidá dva vzorky najednou. To účinně dává polovinu vzorkovací frekvence posledního systému a zároveň odfiltruje nejvyšší frekvence a vytvoří pásmový filtr kolem 2, 2 kHz.

Další systém dělá to samé, ale místo přidání 2 vzorků najednou přidá 10, což se stane pásmovým filtrem pro 440 Hz.

Poslední analýza sečte prvních 30 vzorků a porovná ji se součtem posledních 30. Tím se ve skutečnosti stane pásmový filtr pro 150 Hz.

Krok 4: Lepte to všechno dohromady

Lepte to všechno dohromady
Lepte to všechno dohromady

Je důležité udržovat Arduino oddělené od desky plošných spojů, protože by mohlo dojít ke zkratu, pokud se dostanou do kontaktu. To lze provést jejich slepením elektrickou páskou mezi nimi. pro vyvážení je také výhodné mít baterii na jednom křídle motýlku a mikrokontrolér na druhém. Měli byste se snažit ponechat střed motýlku docela prázdný, protože zde spojujete nákrčník, s možnou výjimkou mikrofonu, který by měl vyčnívat několik milimetrů a směřovat k vašemu jícnu, to bude znamenat, že když budete mluvit každý to uvidí nejjasněji.

Pamatujte: na zadní straně motýlka je funkce mnohem důležitější než estetika, protože to nikdo neuvidí.

Doporučuje: