Obsah:

(POV) Persistence of Vision Globe: 8 kroků (s obrázky)
(POV) Persistence of Vision Globe: 8 kroků (s obrázky)

Video: (POV) Persistence of Vision Globe: 8 kroků (s obrázky)

Video: (POV) Persistence of Vision Globe: 8 kroků (s obrázky)
Video: Persistence of Vision Globe - 6.600 Pixel - based on a Raspberry Pi and Pico 2024, Červen
Anonim
Image
Image
(POV) Persistence of Vision Globe
(POV) Persistence of Vision Globe
(POV) Persistence of Vision Globe
(POV) Persistence of Vision Globe

!Aktualizace! Přidal jsem program Excel, který výrazně usnadňuje kreslení a kódování nových obrázků

Jednoduchá perzistence vize zeměkoule. PŘEHRÁT VIDEO

Toto je projekt, který mám v hlavě už nějakou dobu a soutěž „Make It Glow“byla jen motivací, kterou jsem potřeboval, abych mě inspiroval k tomu, abych vytáhl starý 5 LED POV displej a posunul ho na další úroveň pomocí Shift registrů. Pokud se vám tento návod líbí, zvažte prosím jeho hlasování.

Rychlý úvod do POV nebo trvalé vidění: Jakékoli světlo střídavého napětí ve skutečnosti bliká a zhasíná na frekvenci 60 Hz nebo 60krát za sekundu. Náš mozek to vnímá jako stálé světlo. Právě tohoto konceptu budeme využívat, abychom vytvořili sférický obraz pomocí jediné řady LED diod. Pro tento projekt jsem se rozhodl, že 24 LED sekvenovaných pomocí tří 8bitových posuvných registrů poskytne minimální rozlišení potřebné pro zeměkouli.

Krok 1: Materiály

Tady je to, co jsem použil.

  • (1) Arduino Uno (pro prototypování)
  • (1) Bareduino (pro trvalou desku volitelně) VIRTUABOTIX LINK
  • (3) Posuvné registry HC595N
  • (24) Modré LED diody
  • (24) odpory 220 ohmů
  • (1) prkénko
  • (1) držák baterie a baterie
  • (1) 10 "průměr kroužku (dostatečně široký, aby pojal LED diody a čím lehčí, tím lepší)
  • (1) složený ze závitové tyče (použil jsem 5/16 ")
  • (1) Motor (použil jsem jeden ze starého Dirt Devil)
  • (1) Spojka motoru
  • (1) Odpojení 120 V (spínač světel)
  • (1) Regulátor rychlosti ventilátoru

Krok 2: Stavba prstenu

Stavba prstenu
Stavba prstenu
Stavba prstenu
Stavba prstenu

Použil jsem kus 1/8 "tlusté x 1/2" široké hliníkové ploché lišty pro svůj prsten a 5/16 "celý závit pro středový stožár, protože jsem je nechal pokládat, ale myslím, že by to šlo udělat na 3D tiskárna s držáky na desku plošných spojů a být mnohem lehčí. Tento prsten jsem postavil pro předchozí sestavení pomocí 5 LED diod, z nichž každá vypnula samostatný DO Arduina.

Na průměru prstenu není nic zvláštního. Moje je cca. 10 kulaté, jen proto, že plochá tyč, kterou jsem měl, byla od začátku dlouhá 3 '. Valil jsem ji na nůžky/brzdu/válec 3 v 1 od Harbour Freight, ale prsten můžete také vytvořit kolem disku vyřezaného z překližky a mají dobré výsledky. Nevidím důvod, proč by prsten nemohl být vyroben ze dřeva. Dávám přednost práci s metlem.

Vyvrtal jsem otvory pro LED diody ve středu přibližně 5/16 ". Tato mezera vyplnila všechny kromě 1" nahoře a dole na jedné straně prstence. Uprostřed prstence budete muset přišroubovat držák, aby byla zajištěna montážní plocha pro prkénka.

Krok 3: Vytvoření obvodu

Vytvoření obvodu
Vytvoření obvodu
Vytvoření obvodu
Vytvoření obvodu
Vytvoření obvodu
Vytvoření obvodu

Toto byl můj první pokus o použití posuvných registrů, a tak jsem začal zkoumat na stránkách Arduina a našel jsem extrémně užitečný příklad, který jsem upravil tak, aby vyhovoval mým potřebám. Tutoriál najdete na Arduino ShiftOut I usedl na „Code Sample 2.3 - Dual Defined Arrays“jako mém základním kódu, o tom později.

Pokud budete postupovat podle tohoto tutoriálu, naučíte se odesílat kousky informací, jeden po druhém, v sérii z vašeho Arduina do posuvných registrů. Toto uspořádání vám umožňuje ovládat všech 24 LED diod na tomto projektu pouze pomocí 3 pinů na Arduinu. Budeme používat schopnost 74HC595 pro sériový vstup, paralelní výstup k načtení 24 bitů informací nebo 3 bajtů do posuvných registrů a poté posunutí dat paralelně k LED diodám.

Protože první bit dat, který načteme, skončí na posledním místě registru, připojíme LED1 nebo nejjižnější LED k QO prvního posuvného registru. Postupujte podle schématu z příkladu ShiftOut a připojte třetí posuvný registr k druhému, stejným způsobem jako je druhý připojen k prvnímu.

Doporučuji spustit ukázkový kód po cestě, nejprve pouze s jedním registrem a poté se dvěma. Ukázkový kód sekvenuje světla tak, aby bylo snadné zjistit, zda něco není zapojeno. Byl jsem schopen jednoduše přidat Byte3 do „Code Sample 2.3 - Dual Defined Arrays“a třetí pole, které jsem nazval Blue. Můžete to vidět v kódu ShiftOutArrayByte3R1 nahraném do tohoto kroku.

Krok 4: Dát to všechno dohromady

Dát to všechno dohromady
Dát to všechno dohromady
Dát to všechno dohromady
Dát to všechno dohromady

Nyní, když jsme si byli jistí, že obvod funguje, potřebujeme vše namontovat na prsten. Doporučuji namontovat Arduino/Bareduino na jednu stranu a vaši desku Shift Register naproti Arduinu. To vám pomůže s odstraněním váhy, ale s největší pravděpodobností budete muset něco přesunout, dokud nezískáte stabilní rotaci. Použil jsem 9voltovou baterii na straně, kde jsem potřeboval přidat váhu. K připevnění desek a baterie ke středovému stožáru jsem použil zipy. Tímto způsobem jsem mohl provést úpravy, aby byl prsten vyvážený.

Nyní k pájení všech LED diod. Protože ovládáme kladné napětí LED diod, můžeme připojit všechny katodové vývody společně jediným neizolovaným vodičem a zapojit do naší země. Poté musíme pájet odpor na anodový vodič každé LED a poté připojit vodič z rezistoru k odpovídajícímu výstupnímu kolíku posuvného registru. Nechal jsem funkci Blink All v instalační smyčce jako snadný způsob, jak zjistit, zda máte LED diodu.

Krok 5: Kreslení zeměkoule

Kreslení zeměkoule
Kreslení zeměkoule
Kreslení zeměkoule
Kreslení zeměkoule
Kreslení zeměkoule
Kreslení zeměkoule

!!Aktualizace!! Nyní můžete kreslit pomocí programu Excel, který vám obrázek převede na hexadecimální. Kód pro vaše červená, modrá a zelená pole lze zkopírovat a vložit do skici Arduino. Jednoduše vyplňte 1, kde chcete, aby LED svítila a buňka se automaticky změní na modrou! Do tohoto kroku se nahraje program Excel. Díky Rave Shades, instruovatelnému za zveřejnění Rave Shades Animator, který byl pro tento projekt upraven

Dobře. Nyní k umělecké činnosti. Vybral jsem si glóbus, protože jsem si myslel, že by to byl skvělý způsob, jak vytvořit 360 stupňový sférický displej pomocí POV, ale pokusím se v tomto a dalším kroku ukázat, jak můžete vytvořit jakýkoli obrázek, který můžete nakreslit v rozlišení 24x70 bodů.

Nejprve jsem našel vhodný obrázek mapy světa, který měl sloužit jako průvodce. Poté jsem na Google Play našel aplikaci s názvem „Mosaic Builder“, která dokonale vyhovovala mým potřebám. Jak vidíte na posledním obrázku v tomto kroku, dokázal jsem na své šabloně 24x70 vytvořit verzi obrázku mapy světa s nízkým rozlišením. FYI 24 pochází ze 3 bytů dat, a proto 24 LED diod vysokých a 70 pochází z dělení obvodu mého prstenu 5/16 , aby horizontální rozteč odpovídala svislému rozestupu LED. 70 bodů široký se bude lišit v závislosti na velikosti vašeho prstenu, ale není kritický. Zvláště to není kritické, protože nepoužíváme žádný typ senzoru, jako je infračervená LED pro snímání úplného otočení a resetování smyčky. To je něco, co mohu zvažte do budoucna, ale prozatím, pokud máme na motoru regulaci otáček, je senzor zbytečný.

Jakmile máte kresbu, se kterou jste spokojeni, můžete v dalším kroku obrázek převést na hexadecimální kód podle Byte.

Krok 6: Kód

Kód
Kód
Kód
Kód
Kód
Kód

!Aktualizace! Jednoduše nakreslete svůj obrázek pomocí 1 s, aby představoval ZAPNUTO, čímž se pixel automaticky vybarví modře. Když je váš obrázek připraven, stiskněte tlačítko „Kopírovat všechna pole“a vložte je přes existující pole v náčrtu Arduino! K tomuto kroku jsem nahrál nový náčrt

Jak již bylo zmíněno dříve, jako základnu jsem použil „Code Sample 2.3 - Dual Defined Arrays“z příkladu Arduino ShiftOut. Jak si v tomto kódu všimnete, autor poznamenává, že si není jistý, zda Arduino zvládne přímé binární hodnoty, takže místo toho byly použity hodnoty Hexidecimal. Poznámka: Nikdy jsem nezměnil binární komentáře vedle hodnot Hex, změnil jsem pouze hodnoty Hex, aby odpovídaly mému obrazu mapy světa.

Teď jsem to byl teprve podruhé, co jsem Hexa viděl a byl jsem docela bezradný. Našel jsem přiložený hexadecimálně-binární převodní graf, který nesmírně pomohl. Tento graf lze použít k převodu binární hodnoty každého sloupce nebo (Byte) na hexadecimální hodnotu. Když se například podíváte na poslední obrázek v tomto kroku, můžete vidět, jak byl obrázek mapy světa rozdělen na třetiny shora dolů a každý sloupec se skládá ze 3 bytů, kde bílý nebo vypnutý = 0 a modrý nebo zapnutý = 1. V ve spodní části každého sloupce byl Byte převeden na hexadecimální hodnotu v rozsahu mezi 00 a FF, což odpovídá rozsahu desítkové hodnoty 0-255 nebo binárnímu rozsahu 00000000 až 11111111.

Přiložený kód má načten obrázek Globe, ale lze jej upravit pro vlastní obrázek.

Krok 7: Testování

Image
Image
Testování
Testování

Než jsem pokračoval v budování základny a držáku motoru, řekl jsem si, že otestuji a vyladím obvod. Jednoduše jsem upnul soupravu na aku vrtačku, vše zapnul a stiskl spoušť. Musel jsem upravit zpoždění na 1 ms a můj první pokus umístil Rusko jižně od Austrálie. Z toho, co jsem očekával, jsem se také dozvěděl, že se obraz zobrazuje vzhůru nohama, což bylo snadné řešení, jak jednoduše otočit celý prsten. Přiložené video je mým posledním úspěšným testem. Nyní je čas na základnu s permanentním motorem a regulátorem otáček.

PŘEHRÁVEJTE TEST GLOBE

Krok 8: Dokončení

Dokončení!
Dokončení!
Dokončení!
Dokončení!
Dokončení!
Dokončení!

Zapojil jsem spínač světla jako odpojovač motoru a poté jsem zapojil regulátor otáček ventilátoru mezi odpojovač a motor. To mi dává způsob, jak rychle vypnout napájení a mít přiměřeně dobrou kontrolu nad otáčkami motoru. Nyní jsem potřeboval způsob, jak propojit motor se zeměkoulí. Hřídel na motoru byla 17/64 "a veškerý závit, který jsem použil pro zeměkouli, je 5/16". Spojka 5/16 "mohla být jen trik, ale bohužel jsem měl pouze 3/8" spojky, které byly k ničemu. Místo toho jsem našel kus 1/2 "hliníkové kulaté pažby a vyřízl 2" dlouhý kus a uprostřed vyvrtal otvor 17/64 ". Tato velikost otvoru byla vhodná pro řezání závitu 5/16-18 v polovině také jsem vyvrtal a poklepal na malý otvor skrz závit do stavěcího šroubu pro hřídel motoru, pak jsem navlékl kouli a zajistil ji pojistnou maticí. Motor Dirt Devil se točí dostatečně rychle, aby otvor vyfoukl potřeboval jsem upravit rychlost co nejníže. Při této rychlosti se motor ve skutečnosti nezačne točit, takže provozování soupravy je trochu složité. To, co musím udělat, je zastavit otáčení zeměkoule a pomalu zvedat rychlost, dokud se motor nerozběhne, pak mohu rychlost snížit a uvolnit glóbus. Nakonec s jemným jemným doladěním dosáhnu skvělého efektu pomalého točení.

PŘEHRÁT VIDEO

Doporučuje: