Innehållsförteckning:

(POV) Persistence of Vision Globe: 8 steg (med bilder)
(POV) Persistence of Vision Globe: 8 steg (med bilder)

Video: (POV) Persistence of Vision Globe: 8 steg (med bilder)

Video: (POV) Persistence of Vision Globe: 8 steg (med bilder)
Video: Persistence of Vision(pov) .....EDGE..... 2024, November
Anonim
Image
Image
(POV) Persistence of Vision Globe
(POV) Persistence of Vision Globe
(POV) Persistence of Vision Globe
(POV) Persistence of Vision Globe

!Uppdatering! Jag har lagt till ett excel -program som gör det mycket lättare att rita och koda nya bilder

En enkel ihållande vision globen. SPELA FILMEN

Detta är ett projekt jag har tänkt på ganska länge och tävlingen "Make It Glow" var bara motivationen jag behövde för att inspirera mig att dra ut en gammal 5 LED POV -skärm och ta den till nästa nivå med hjälp av skift register. Om du gillar det här instruerbara kan du överväga att rösta på det.

En snabb introduktion till POV eller ihållande syn: Varje AC -spänningslampa blinkar faktiskt på och av med en frekvens på 60 Hz eller 60 gånger per sekund. Våra hjärnor uppfattar detta som konstant ljus. Det är detta koncept som vi kommer att dra nytta av för att skapa en sfärisk bild med en enda rad lysdioder. För detta projekt bestämde jag mig för att 24 lysdioder i sekvens med tre 8-bitars skiftregister skulle ge den minsta upplösning som behövs för världen.

Steg 1: Material

Här är vad jag använde.

  • (1) Arduino Uno (för prototyper)
  • (1) Bareduino (för permanent bräda som tillval) VIRTUABOTIX LINK
  • (3) HC595N skiftregister
  • (24) Blå lysdioder
  • (24) 220 ohm motstånd
  • (1) brödbräda
  • (1) batterihållare och batteri
  • (1) 10 "diameterring (tillräckligt bred för att rymma lysdioder och ju lättare desto bättre)
  • (1) bitad av gängad stång (jag använde 5/16 ")
  • (1) Motor (jag använde en från en gammal Dirt Devil)
  • (1) Motorkopplare
  • (1) 120V koppla bort (ljusbrytare)
  • (1) Fläkthastighetsregulator

Steg 2: Bygg ringen

Att bygga ringen
Att bygga ringen
Att bygga ringen
Att bygga ringen

Jag använde en bit av 1/8 "tjock x 1/2" bred aluminiumplank för min ring och 5/16 "all tråd för mittmasten, eftersom jag hade dem liggande, men jag tror att det här kan göras på en 3D -skrivare komplett med PCB -fästen och vara mycket lättare. Jag byggde denna ring för en tidigare byggnad med 5 lysdioder vardera avstängda en separat DO av Arduino.

Det är inget speciellt med ringens diameter. Min är ca. 10 runda, bara för att den platta stången jag hade var 3 'lång till att börja med. Jag rullade den på en 3 i 1 skjuvning/broms/rulle från Harbor Freight, men du kan också bilda ringen runt en skiva skuren av plywood och har bra resultat. För den delen ser jag ingen anledning att ringen inte kunde vara gjord av trä. Jag föredrar bara metlarbete.

Jag borrade hål för lysdioderna på ca 5/16 "på mitten. Detta avstånd fyllde i alla utom 1" på toppen och botten på ena sidan av ringen. Du måste bulta en konsol i mitten av ringen för att ge en monteringsyta för brödbrädorna.

Steg 3: Gör kretsen

Gör kretsen
Gör kretsen
Gör kretsen
Gör kretsen
Gör kretsen
Gör kretsen

Detta var mitt första försök att använda skiftregister, så jag började forska på Arduinos webbplats och hittade ett extremt användbart exempel, som jag ändrade för att passa mina behov. Du hittar handledningen på Arduino ShiftOut Jag bestämde mig för "Kodprov 2.3 - dubbla definierade matriser" som min baskod, mer om det senare.

Om du följer handledningen lär du dig att skicka bitar av information, en efter en, i serie från din Arduino till skiftregistren. Detta arrangemang låter dig styra alla 24 lysdioder på detta projekt med endast 3 stift på Arduino. Vi kommer att använda seriell in, parallellutgång för 74HC595 för att ladda 24 bitar information eller 3 Bytes i skiftregistren och sedan flytta ut data parallellt med lysdioderna.

Eftersom den första databiten vi laddar kommer att hamna på den sista registerplatsen, kommer vi att fästa LED1 eller den sydligaste lysdioden till QO i det första skiftregistret. Följ schemat från ShiftOut -exemplet och bifogade det tredje skiftregistret till det andra, på samma sätt som det andra bifogas det första.

Jag rekommenderar att du kör provkoden längs vägen, först med bara ett register sedan med två. Provkoden sekvenserar lamporna så att det är lätt att se om något är felkopplat. Jag kunde helt enkelt lägga till en Byte3 till "Code Sample 2.3 - Dual Defined Arrays" och en tredje array som jag kallade Blue. Du kan se detta i ShiftOutArrayByte3R1 -koden som laddades upp till det här steget.

Steg 4: Sätta ihop allt

Få alltid att falla på plats
Få alltid att falla på plats
Få alltid att falla på plats
Få alltid att falla på plats

Nu när vi var övertygade om att kretsen fungerar måste vi få allt monterat på ringen. Jag föreslår att du monterar din Arduino/Bareduino på ena sidan och ditt skiftregistret mot Arduino. Detta kommer att hjälpa till med att lägga ut vikten, men du kommer troligen att behöva flytta runt tills du får en stabil rotation. Jag använde 9 Volt -batteriet på sidan jag behövde lägga till vikt på. Jag använde dragkedjor för att fästa brädorna och batteriet på mittmasten. På så sätt kunde jag göra justeringar för att få ringen balanserad.

Nu för att löda alla lysdioder. Eftersom vi kontrollerar lysdiodernas positiva spänning kan vi ansluta alla katodledare tillsammans med en enda oisolerad tråd och koppla in den i vår jord. Sedan måste vi löda ett motstånd till anodledningen för varje lysdiod och sedan fästa en ledning från motståndet till motsvarande skiftregisterutgångsstift. Jag lämnade funktionen Blinka alla i installationsslingan som ett enkelt sätt att berätta om du har en lysdiod ut.

Steg 5: Rita världen

Rita världen
Rita världen
Rita världen
Rita världen
Rita världen
Rita världen

!!Uppdatering!! Nu kan du rita med hjälp av excel -programmet, som konverterar bilden till hexadecimal för dig. Koden för dina röda, blå och gröna matriser kan kopieras och klistras in i Arduino -skissen. Fyll bara i ett 1 där du vill att lysdioden ska vara PÅ och cellen ändras automatiskt till blått! Excel -programmet laddas upp till detta steg. Tack till Rave Shades som kan instrueras för att lägga upp Rave Shades Animator, som modifierades för detta projekt

Okej. Nu för att bli konstnärlig. Jag valde en jordklot eftersom jag tyckte att det skulle vara ett coolt sätt att göra en 360 -graders sfärisk display med POV, men jag ska försöka visa i detta och nästa steg hur du kan skapa vilken bild du kan rita i en upplösning på 24x70 punkter.

Först hittade jag en lämplig världskarta bild att använda som en guide. Sedan hittade jag en app på Google Play som heter "Mosaic Builder" som var perfekt för mina behov. Som du kan se på den sista bilden på detta steg kunde jag skapa en lågupplöst version av världskartan på min 24x70 -mall. FYI 24 kommer från de 3 Bytes data och därför 24 lysdioder höga och 70 kommer från att dela omkretsen av min ring med 5/16 "för att få det horisontella avståndet att matcha nära det vertikala avståndet mellan lysdioderna. De 70 punkterna breda kommer att variera beroende på storleken på din ring, men är inte kritisk. Det är särskilt inte kritiskt eftersom vi inte använder någon typ av sensor, till exempel en infraröd lysdiod för att känna av en fullständig rotation och återställa slingan. Detta är något jag kan överväga i framtiden, men för nu så länge vi har hastighetskontroll på motorn är sensorn onödig.

När du väl har en ritning som du är nöjd med kan du konvertera bilden till hexadecimal kod med Byte, i nästa steg.

Steg 6: Koden

Koden
Koden
Koden
Koden
Koden
Koden

!Uppdatering! Rita bara in din bild med 1s för att representera PÅ, vilket automatiskt färgar pixeln blå. När din bild är klar trycker du på knappen "Kopiera alla matriser" och klistrar in de befintliga matriserna i Arduino -skissen! Jag har laddat upp en ny skiss till detta steg

Som nämnts tidigare använde jag "Kodprov 2.3 - dubbla definierade matriser" från Arduino ShiftOut -exemplet som min bas. Som du märker i den här koden kommenterar författaren att han inte är säker på om Arduino kan hantera direkta binära värden, så Hexidecimalvärden användes istället. Obs: Jag ändrade aldrig de binära kommentarerna bredvid Hex -värdena, jag ändrade bara Hex -värdena för att passa min världskarta.

Nu var det bara andra gången jag såg Hex och jag var ganska aningslös. Jag hittade det bifogade Hexidecimal-binära konverteringsdiagrammet, vilket hjälpte oerhört. Detta diagram kan användas för att konvertera det binära värdet för varje kolumn eller (Byte) till ett hex -värde. Om du till exempel tittar på den sista bilden i det här steget kan du se hur världskartbilden delades upp i tredjedelar uppifrån och ner och varje kolumn består av 3 Bytes, där vit eller av = 0 och Blå eller På = 1. Vid botten av varje kolumn har byten konverterats till ett hexadecimalt värde som sträcker sig mellan 00 & FF vilket är ekvivalent med ett decimalvärdesintervall på 0-255 eller ett binärt intervall på 00000000 till 11111111.

Den bifogade koden har Globe -bilden laddad, men kan ändras för en egen bild.

Steg 7: Testning

Image
Image
Testning
Testning

Innan jag fortsatte med att bygga en bas och ett motorfäste tänkte jag testa och justera kretsen. Jag slog helt enkelt in riggen i en sladdlös borr, slog på allt och drog avtryckaren. Jag var tvungen att justera fördröjningen till 1 ms och mitt första försök satte Ryssland söder om Australien. Jag lärde mig också att bildskärmarna upp och ner, från vad jag förväntade mig, vilket var en enkel lösning för att helt enkelt vända hela ringen. Den bifogade videon är av mitt sista framgångsrika test. Nu är det dags för en bas med en permanent motor och varvtalsregulator.

SPELA LEAD GLOBE TEST

Steg 8: Slutför

Avslutar!
Avslutar!
Avslutar!
Avslutar!
Avslutar!
Avslutar!

Jag kopplade in ljusbrytaren som en frånkoppling för min motor och kopplade sedan fläkthastighetsreglaget mellan frånskiljaren och motorn. Detta ger mig ett sätt att stänga av strömmen snabbt och ha en ganska bra kontroll över motorvarvtalet. Nu behövde jag ett sätt att ansluta motorn till jordklotet. Axeln på motorn var 17/64 "och all tråd jag använde för jordklotet är 5/16". En 5/16 "kopplare kan ha varit bara tricket, men tyvärr hade jag bara 3/8" kopplingar som var värdelösa. Istället hittade jag ett stycke 1/2 "aluminiumfond och skar ett 2" långt stycke och borrade ett 17/64 "hål genom mitten. Denna hålstorlek var lämplig för att knacka på en 5/16-18 tråd halvvägs genom Jag borrade och knackade också på ett litet hål genom sidan för att gänga in en skruv för motoraxeln, sedan trådade jag i jordklotet och använde en syltmutter för att fästa. Dirt Devil -motorn snurrar tillräckligt snabbt för att blåsa isär hålet montering, så jag behövde justera hastigheten så långt ner som möjligt. Vid denna hastighet kommer inte motorn faktiskt att börja snurra, vilket gör det svårt att köra riggen. Det jag måste göra är att hålla jordklotet från att snurra och sakta höja hastighet tills motorn startar, då kan jag sänka hastigheten och släppa jordklotet. Slutligen med lite fin fin toning kan jag få en stor långsam spinnande effekt.

SPELA FILMEN

Rekommenderad: