Innholdsfortegnelse:

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

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

Video: (POV) Persistence of Vision Globe: 8 trinn (med bilder)
Video: A diary containing terrible secrets. Transition. Gerald Durrell. Mystic. Horror 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

!Oppdater! Jeg har lagt til et excel -program som gjør det mye enklere å tegne og kode nye bilder

En enkel visjonsklasse. SPILL VIDEO

Dette er et prosjekt jeg har hatt i tankene en god stund, og "Make It Glow" -konkurransen var bare motivasjonen jeg trengte for å inspirere meg til å trekke ut en gammel 5 LED POV -skjerm og ta den til neste nivå, ved hjelp av skift registre. Hvis du liker dette instruerbare, kan du vurdere å stemme på det.

En rask introduksjon til POV eller vedvarende syn: Enhver AC -spenningslampe blinker faktisk av og på med en frekvens på 60 Hz eller 60 ganger i sekundet. Hjernen vår oppfatter dette som konstant lys. Det er dette konseptet vi vil dra nytte av for å lage et sfærisk bilde ved hjelp av en enkelt rad med lysdioder. For dette prosjektet bestemte jeg meg for at 24 lysdioder i rekkefølge ved bruk av tre 8-biters skiftregistre ville gi minimumsoppløsningen som trengs for kloden.

Trinn 1: Materialer

Her er hva jeg brukte.

  • (1) Arduino Uno (for prototyping)
  • (1) Bareduino (for permanent bord valgfritt) VIRTUABOTIX LINK
  • (3) HC595N skiftregistre
  • (24) Blå lysdioder
  • (24) 220 ohm motstandere
  • (1) brødbrett
  • (1) batteriholder og batteri
  • (1) 10 "diameterring (bred nok til å holde lysdioder og jo lettere jo bedre)
  • (1) stykket av gjengestang (jeg brukte 5/16 ")
  • (1) Motor (jeg brukte en fra en gammel Dirt Devil)
  • (1) Motorkobling
  • (1) 120V frakobling (lysbryter)
  • (1) Viftehastighetsregulator

Trinn 2: Bygg ringen

Å bygge ringen
Å bygge ringen
Å bygge ringen
Å bygge ringen

Jeg brukte et stykke 1/8 "tykt x 1/2" bredt aluminium flat stang for ringen min og 5/16 "all tråd for sentermasten, fordi jeg hadde dem liggende, men jeg tror dette kunne lages på en 3D -skriver komplett med PCB -fester og være mye lettere. Jeg bygde denne ringen for en tidligere konstruksjon ved hjelp av 5 lysdioder hver slått av en separat DO av Arduino.

Det er ikke noe spesielt med diameteren på ringen. Min er ca. 10 runde, bare fordi flatstangen jeg hadde var 3 'lang til å begynne med. Jeg rullet den på en 3 i 1 skjær/brems/rull fra Harbor Freight, men du kan også danne ringen rundt en plate skåret av kryssfiner og har gode resultater. For den saks skyld, ser jeg ingen grunn til at ringen ikke kunne være laget av tre. Jeg foretrekker bare metlarbeid.

Jeg boret hull for lysdiodene på omtrent 5/16 "på midten. Denne avstanden fyllte ut alle unntatt 1" på toppen og bunnen på den ene siden av ringen. Du må boltre en brakett i midten av ringen for å gi en monteringsflate for brødbrettene.

Trinn 3: Lag kretsen

Gjør kretsen
Gjør kretsen
Gjør kretsen
Gjør kretsen
Gjør kretsen
Gjør kretsen

Dette var mitt første forsøk på å bruke skiftregistre, så jeg begynte å forske på Arduinos nettsted og fant et ekstremt nyttig eksempel, som jeg endret for å passe mine behov. Du kan finne opplæringen på Arduino ShiftOut Jeg bestemte meg for "Code Sample 2.3 - Dual Defined Arrays" som min grunnkode, mer om det senere.

Hvis du følger opplæringen, lærer du hvordan du sender biter av informasjon, en etter en, i serie fra Arduino til skiftregistrene. Dette arrangementet lar deg kontrollere alle 24 lysdioder på dette prosjektet med bare 3 pinner på Arduino. Vi bruker seriell inn, parallell ut -funksjonen til 74HC595 for å laste inn 24 biter informasjon eller 3 Bytes i skiftregistrene og deretter flytte dataene ut parallelt med lysdiodene.

Siden den første biten av data vi laster vil ende opp i det siste registerstedet, vil vi feste LED1 eller den sørligste LED -en til QO i det første skiftregisteret. Følg skjemaet fra ShiftOut -eksemplet og fest det tredje skiftregisteret til det andre, på samme måte som det andre er festet til det første.

Jeg anbefaler å kjøre prøvekoden underveis, først med bare ett register og deretter med to. Eksempelkoden sekvenserer lysene slik at det er lett å se om noe er feil kablet. Jeg var i stand til ganske enkelt å legge til en Byte3 i "Code Sample 2.3 - Dual Defined Arrays" og en tredje matrise som jeg kalte Blue. Du kan se dette i ShiftOutArrayByte3R1 -koden lastet opp til dette trinnet.

Trinn 4: Sett alt sammen

Sette alt sammen
Sette alt sammen
Sette alt sammen
Sette alt sammen

Nå som vi var sikre på at kretsen fungerer, må vi få alt montert på ringen. Jeg foreslår at du monterer Arduino/Bareduino på den ene siden og Shift Register Board overfor Arduino. Dette vil hjelpe deg med å kvelden ut vekten, men du må mest sannsynlig flytte noen ting rundt til du får en stabil rotasjon. Jeg brukte 9 volt batteri på siden jeg trengte å legge vekt på. Jeg brukte glidelåser for å feste brettene og batteriet til midten av masten. På denne måten kunne jeg gjøre justeringer for å få ringen balansert.

Nå for å lodde alle lysdiodene. Siden vi styrer den positive spenningen til lysdiodene, kan vi koble alle katodeledningene sammen med en enkelt uisolert ledning og koble den til bakken. Deretter må vi lodde en motstand til anodeledningen til hver LED og deretter feste en ledning fra motstanden til den tilsvarende skiftregisterutgangspinnen. Jeg forlot funksjonen Blink alle i oppsettsløyfen som en enkel måte å fortelle om du har en LED ut.

Trinn 5: Tegning av kloden

Tegner kloden
Tegner kloden
Tegner kloden
Tegner kloden
Tegner kloden
Tegner kloden

!!Oppdater!! Nå kan du tegne ved hjelp av excel -programmet, som konverterer bildet til heksidimal for deg. Koden for dine røde, blå og grønne matriser kan kopieres og limes inn i Arduino -skissen. Bare fyll ut en 1 der du vil at LED -en skal være PÅ, og cellen endres til blått automatisk! Excel -programmet lastes opp til dette trinnet. Takk til Rave Shades som kan instrueres for å legge ut Rave Shades Animator, som ble modifisert for dette prosjektet

Greit. Nå for å bli kunstnerisk. Jeg valgte en globus fordi jeg trodde det ville være en kul måte å lage en 360 graders sfærisk skjerm ved hjelp av POV, men jeg skal prøve å vise i dette og neste trinn hvordan du kan lage et bilde du kan tegne i en oppløsning på 24x70 prikker.

Først fant jeg et passende verdenskartbilde å bruke som en guide. Så fant jeg en app på Google Play som heter "Mosaic Builder" som var perfekt for mine behov. Som du kan se på det siste bildet på dette trinnet, var jeg i stand til å lage en lavoppløselig versjon av verdenskartbildet på min 24x70 -mal. FYI 24 kommer fra de 3 Bytes med data og derfor er 24 lysdioder høye og 70 kommer fra å dele omkretsen på ringen min med 5/16 "for å få den horisontale avstanden til å passe nøyaktig til den vertikale avstanden mellom lysdiodene. De 70 prikkene brede vil variere basert på størrelsen på ringen din, men er ikke kritisk. Det er spesielt ikke kritisk siden vi ikke bruker noen type sensorer, for eksempel en infrarød LED for å registrere en fullstendig rotasjon og tilbakestille sløyfen. Dette er noe jeg kan vurdere i fremtiden, men så lenge vi har hastighetskontroll på motoren er sensoren unødvendig.

Når du har en tegning du er fornøyd med, kan du konvertere bildet til heksidimal kode ved Byte, i neste trinn.

Trinn 6: Koden

Koden
Koden
Koden
Koden
Koden
Koden

!Oppdater! Bare tegn inn bildet ditt ved å bruke 1s for å representere ON, som automatisk vil farge pikselet blått. Når bildet ditt er klart, trykker du på "Kopier alle matriser" -knappen og limer over de eksisterende matrisene i Arduino -skissen! Jeg har lastet opp en ny skisse til dette trinnet

Som nevnt tidligere brukte jeg "Code Sample 2.3 - Dual Defined Arrays" fra Arduino ShiftOut -eksemplet som min base. Som du vil legge merke til i denne koden, kommenterer forfatteren at han ikke er sikker på om Arduino kan håndtere direkte binære verdier, så Hexidecimal -verdier ble brukt i stedet. Merk: Jeg endret aldri de binære kommentarene ved siden av Hex -verdiene, jeg endret bare Hex -verdiene for å passe mitt verdenskartbilde.

Nå var dette bare andre gangen jeg så Hex og jeg var ganske aningsløs. Jeg fant det vedlagte Hexidecimal-Binary-konverteringskartet, som hjalp enormt. Dette diagrammet kan brukes til å konvertere den binære verdien for hver kolonne eller (Byte) til en hex -verdi. For eksempel hvis du ser på det siste bildet på dette trinnet, kan du se hvordan verdenskartbildet ble delt i tredjedeler fra topp til bunn, og hver kolonne består av 3 Bytes, hvor hvit eller av = 0 og blå eller På = 1. Kl. bunnen av hver kolonne har byten blitt konvertert til en heksidimal verdi mellom 00 & FF som tilsvarer et desimalverdiområde på 0-255 eller et binært område på 00000000 til 11111111.

Den vedlagte koden har Globe -bildet lastet inn, men kan endres for et eget bilde.

Trinn 7: Testing

Image
Image
Testing
Testing

Før jeg fortsatte med å bygge en base og motorfeste trodde jeg at jeg skulle teste og justere kretsen. Jeg stakk rett og slett riggen inn i en batteridrevet drill, skrudde på alt og trakk i avtrekkeren. Jeg måtte justere forsinkelsen til 1 ms, og mitt første forsøk satte Russland sør for Australia. Jeg lærte også at bildene vises med siden ned, fra det jeg forventet, noe som var en enkel løsning for å bare snu hele ringen. Den vedlagte videoen er av min siste vellykkede test. Nå er det tid for en base med en permanent motor og turtallskontroll.

SPILL LEAD GLOBE TEST

Trinn 8: Ferdig

Ferdig!
Ferdig!
Ferdig!
Ferdig!
Ferdig!
Ferdig!

Jeg koblet til lysbryteren som en frakobling for motoren min og koblet deretter viftehastighetsregulatoren mellom frakobling og motor. Dette gir meg en måte å slå av strømmen raskt og ha rimelig god kontroll på motorhastigheten. Nå trengte jeg en måte å koble motoren til kloden. Akselen på motoren var 17/64 "og hele tråden jeg brukte til kloden er 5/16". En 5/16 "kobling kan ha vært bare trikset, men dessverre hadde jeg bare 3/8" koblinger som var ubrukelige. I stedet fant jeg et stykke 1/2 "aluminiumsrør og skar et 2" langt stykke og boret et 17/64 "hull gjennom midten. Denne hullstørrelsen var egnet for å tappe en 5/16-18 tråd halvveis gjennom Jeg boret og banket også på et lite hull gjennom siden for å skru inn en skrue for motorakselen, deretter trådet jeg i jordkloden og brukte en syltemutter for å feste. Dirt Devil -motoren snurrer raskt nok til å blåse hullet fra hverandre montering, så jeg trengte å justere hastigheten så langt ned som mulig. Ved denne hastigheten vil ikke motoren begynne å snurre, noe som gjør det vanskelig å kjøre riggen. Det jeg må gjøre er å holde kloden fra å snurre og sakte heve hastighet til motoren starter, så kan jeg senke farten og slippe kloden. Til slutt kan jeg med en delikat fin finjustering få en flott sakte spinnende effekt.

SPILL VIDEO

Anbefalt: