INHOUDSOPGAWE:

(POV) Persistence of Vision Globe: 8 stappe (met foto's)
(POV) Persistence of Vision Globe: 8 stappe (met foto's)

Video: (POV) Persistence of Vision Globe: 8 stappe (met foto's)

Video: (POV) Persistence of Vision Globe: 8 stappe (met foto's)
Video: Part 3 - Walden Audiobook by Henry David Thoreau (Chs 05-08) 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

!Opdateer! Ek het 'n Excel -program bygevoeg wat dit makliker maak om nuwe beelde te teken en te kodeer

'N Eenvoudige volharding van die wêreld. SPEEL VIDEO

Dit is 'n projek wat ek al 'n geruime tyd in gedagte gehad het, en die "Make It Glow" -kompetisie was net die motivering wat ek nodig gehad het om my te inspireer om 'n ou 5 LED POV -skerm te haal en dit na die volgende vlak te neem, met behulp van shift registers. As u hierdie instruksies geniet, oorweeg dit om daarvoor te stem.

'N Vinnige inleiding tot POV of aanhoudende sig: Enige wisselspanningslig knip eintlik aan en af met 'n frekwensie van 60 Hz of 60 keer per sekonde. Ons brein beskou dit as konstante lig. Dit is die konsep wat ons sal benut om 'n sferiese beeld te skep met behulp van 'n enkele ry LED's. Vir hierdie projek het ek besluit 24 LED's wat in volgorde gebruik is met drie 8-bis-skofregisters, sou die minimum resolusie wat nodig is vir die hele wêreld bied.

Stap 1: materiaal

Hier is wat ek gebruik het.

  • (1) Arduino Uno (vir prototipering)
  • (1) Bareduino (vir permanente bord opsioneel) VIRTUABOTIX LINK
  • (3) HC595N Skofregisters
  • (24) Blou LED's
  • (24) 220 ohm weerstande
  • (1) broodbord
  • (1) batteryhouer en battery
  • (1) ring met 'n deursnee van 10 "(breed genoeg om LED's te hou en hoe ligter hoe beter)
  • (1) in stukke draadstang (ek gebruik 5/16 ")
  • (1) Motor (ek het een van 'n ou Dirt Devil gebruik)
  • (1) Motorkoppelaar
  • (1) 120V ontkoppel (ligskakelaar)
  • (1) Ventilatorsnelheidsbeheerder

Stap 2: Bou die ring

Die bou van die ring
Die bou van die ring
Die bou van die ring
Die bou van die ring

Ek het 'n stuk 1/8 "dik x 1/2" wye aluminium plat staaf vir my ring en 5/16 "draad vir die middelmas gebruik, want ek het dit laat lê, maar ek dink dit kan op 'n 3D -drukker kompleet met PCB -houers en baie ligter. Ek het hierdie ring vir 'n vorige gebou gebou met 5 LED's wat elk 'n aparte DO van die Arduino afgeskakel het.

Daar is niks besonders aan die deursnee van die ring nie. Myne is ongeveer. 10 rondte, net omdat die plat staaf wat ek gehad het eers 3 'lank was. Ek rol dit op 'n 3 in 1 skeer/rem/rol van Harbor Freight, maar jy kan ook die ring vorm rondom 'n skyf wat uit laaghout gesny is en goeie resultate. Ek sien in elk geval geen rede dat die ring nie van hout gemaak kan word nie.

Ek het gate vir die LED's op ongeveer 5/16 "in die middel geboor. Hierdie spasiëring het alles behalwe 1" aan die bokant en onderkant aan die een kant van die ring ingevul. U moet 'n hakie in die middel van die ring vasbout om 'n monteeroppervlak vir die broodborde te bied.

Stap 3: Maak die kring

Om die kring te maak
Om die kring te maak
Om die kring te maak
Om die kring te maak
Om die kring te maak
Om die kring te maak

Dit was my eerste poging om skofregisters te gebruik, so ek het begin ondersoek instel na die webwerf van Arduino en 'n uiters nuttige voorbeeld gevind wat ek aangepas het om aan my behoeftes te voldoen. U kan die tutoriaal by Arduino ShiftOut vind. Ek het my basiskode op die 'Kodevoorbeeld 2.3 - dubbele gedefinieerde skikkings', meer hieroor later.

As u die tutoriaal volg, leer u hoe u stukkies inligting, een vir een, in reekse van u Arduino na die skofregisters stuur. Met hierdie reëling kan u al 24 LED's op hierdie projek beheer met slegs 3 penne op die Arduino. Ons sal die seriële in, parallel -uit -vermoë van die 74HC595 gebruik om 24 stukkies inligting of 3 bytes in die skofregisters te laai en dan die data parallel met die LED's uit te skuif.

Aangesien die eerste stukkie data wat ons laai op die laaste registerplek beland, sal ons LED1 of die mees suidelike LED aan QO van die eerste skofregister heg. Volg die skematiese uit die ShiftOut -voorbeeld en heg die derde skofregister aan die tweede, op dieselfde manier as wat die tweede aan die eerste geheg is.

Ek beveel aan dat u die voorbeeldkode onderweg uitvoer, eers met slegs een register en dan met twee. Die voorbeeldkode rangskik die ligte so dat dit maklik is om te sien of iets verkeerd is. Ek kon eenvoudig 'n Byte3 by die 'Kodemonster 2.3 - dubbele gedefinieerde skikkings' voeg en 'n derde skikking wat ek Blue genoem het. U kan dit sien in die ShiftOutArrayByte3R1 -kode wat na hierdie stap opgelaai is.

Stap 4: Alles saamvoeg

Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit
Om alles bymekaar te sit

Noudat ons vol vertroue was dat die stroombaan werk, moet ons alles aan die ring bevestig. Ek stel voor dat u u Arduino/Bareduino aan die een kant en u skofregisterbord teenoor die Arduino monteer. Dit sal help om die gewig te verminder, maar u sal waarskynlik iets moet beweeg totdat u 'n stabiele draai kry. Ek gebruik die 9 Volt -battery aan die kant waaraan ek gewig moes toevoeg. Ek het ritsbande gebruik om die planke en die battery aan die middelste mast vas te maak. Op hierdie manier kon ek aanpassings maak om die ring gebalanseerd te kry.

Nou om al die LED's te soldeer. Aangesien ons die positiewe spanning van die LED's beheer, kan ons al die katodeleidings met 'n enkele nie-geïsoleerde draad verbind en dit in ons grond aansluit. Dan moet ons 'n weerstand aan die anode -leiding van elke LED soldeer en dan 'n draad van die weerstand aan die ooreenstemmende skuifregister -uitsetpen koppel. Ek het die Blink All -funksie in die opstellus verlaat as 'n maklike manier om te sien of u 'n LED uit het.

Stap 5: Teken die aardbol

Die Globe teken
Die Globe teken
Die Globe teken
Die Globe teken
Die Globe teken
Die Globe teken

!!Opdateer!! Nou kan u teken met behulp van die Excel -program, wat die beeld vir u na heksidimaal omskakel. Die kode vir u rooi, blou en groen skikkings kan gekopieer en in die Arduino -skets geplak word. Vul eenvoudig 'n 1 in waar u die LED wil aanskakel en die sel sal outomaties in blou verander! Die Excel -program word na hierdie stap opgelaai. Dankie aan die Rave Shades wat geleer is vir die plasing van die Rave Shades Animator, wat vir hierdie projek aangepas is

Goed. Nou om artistiek te word. Ek het 'n aardbol gekies omdat ek gedink het dat dit 'n goeie manier sou wees om 'n sferiese skerm van 360 grade met POV te maak, maar ek sal in hierdie en die volgende stap probeer wys hoe u 'n beeld kan maak wat u kan teken in 'n resolusie van 24 x 70 kolletjies.

Eers het ek 'n geskikte wêreldkaartafbeelding gevind om as 'n gids te gebruik. Toe kry ek 'n app op Google Play genaamd "Mosaic Builder" wat perfek was vir my behoeftes. Soos u op die laaste foto op hierdie stap kan sien, kon ek 'n weergawe van die wêreldkaart met 'n lae resolusie op my 24x70 -sjabloon skep. FYI die 24 kom uit die 3 Bytes data en daarom is 24 LED's hoog en die 70 kom deur die omtrek van my ring met 5/16 "te deel om die horisontale spasiëring nou te pas by die vertikale spasiëring van die LED's. Die 70 kolletjies breed Dit sal wissel na gelang van die grootte van u ring, maar dit is nie van kritieke belang nie. Dit is veral nie van kritieke belang nie, aangesien ons geen tipe sensor gebruik nie, soos 'n infrarooi LED om 'n volledige draai te voel en die lus te herstel. oorweeg dit in die toekoms, maar solank ons die spoedbeheer op die motor het, is die sensor onnodig.

As u eers 'n tekening het waarmee u tevrede is, kan u die beeld in Byte in die volgende heksadesimale kode omskakel.

Stap 6: Die kode

Die kode
Die kode
Die kode
Die kode
Die kode
Die kode

!Opdateer! Teken slegs u prentjie met 1s om AAN voor te stel, wat die pixel outomaties blou kleur. As u beeld gereed is, druk op die knoppie "Kopieer alle skikkings" en plak dit oor die bestaande skikkings in die Arduino -skets! Ek het 'n nuwe skets na hierdie stap opgelaai

Soos voorheen genoem, het ek die 'Kodevoorbeeld 2.3 - dubbele gedefinieerde skikkings' uit die Arduino ShiftOut -voorbeeld as my basis gebruik. Soos u in hierdie kode sal sien, sê die skrywer dat hy nie seker is of Arduino direkte binêre waardes kan hanteer nie, dus is Hexidecimale waardes eerder gebruik. Let wel: ek het nooit die binêre opmerkings langs die Hex -waardes verander nie; ek het slegs die Hex -waardes verander om by my wêreldkaartbeeld te pas.

Dit was net die tweede keer dat ek Hex sien, en ek was redelik sonder kennis. Ek het die aangehegte Hexidecimal-Binary-omskakelingskaart gevind, wat baie gehelp het. Hierdie grafiek kan gebruik word om die binêre waarde van elke kolom of (Byte) na 'n hekswaarde om te skakel. As u byvoorbeeld na die laaste prentjie in hierdie stap kyk, kan u sien hoe die wêreldkaartbeeld van bo na onder in derdes ingedeel is en elke kolom uit 3 Bytes bestaan, waar wit of af = 0 en Blou of Aan = 1. By onderaan elke kolom is die Byte omgeskakel na 'n Hexidecimale waarde wat wissel tussen 00 & FF, wat gelykstaande is aan 'n desimale waardebereik van 0-255 of 'n binêre reeks 00000000 tot 11111111.

Die aangehegte kode is met die Globe -prent gelaai, maar kan aangepas word vir 'n eie beeld.

Stap 7: Toets

Image
Image
Toets
Toets

Voordat ek voortgaan met die bou van 'n voetstuk en motorhouer, het ek gedink ek sal die kring toets en aanpas. Ek het die tuig eenvoudig in 'n koordlose boor gegooi, alles aangeskakel en die sneller getrek. Ek moes die vertraging aanpas na 1 ms en my eerste poging het Rusland suid van Australië geplaas. Ek het ook geleer dat die beeld na onder wys, van wat ek verwag het, wat maklik was om die hele ring om te draai. Die aangehegte video is van my laaste suksesvolle toets. Nou is dit tyd vir 'n basis met 'n permanente motor en snelheidsbeheerder.

SPEEL LEI GLOBE TOETS

Stap 8: klaarmaak

Voltooi!
Voltooi!
Voltooi!
Voltooi!
Voltooi!
Voltooi!

Ek het die ligskakelaar aangeskakel as 'n ontkoppelaar vir my motor, en dan die waaiersnelheidsbeheerder tussen die ontkoppelaar en die motor. Dit gee my 'n manier om die krag vinnig af te skakel en redelik goeie beheer te hê oor die motorsnelheid. Nou het ek 'n manier nodig om die motor aan die aardbol te koppel. Die as op die motor was 17/64 "en die draad wat ek vir die aardbol gebruik het, is 5/16". 'N Koppeling van 5/16 "was dalk net die truuk, maar ongelukkig het ek net 3/8" koppelaars gehad wat nutteloos was. In plaas daarvan het ek 'n stuk 1/2 "aluminium ronde aftreksel gevind en 'n 2" lang stuk gesny en 'n gat van 17/64 "deur die middel geboor. Hierdie gatgrootte was geskik om 'n 5/16-18 draad halfpad deur die tik te tik Ek het ook 'n klein gaatjie deur die sy geboor en getik om 'n vasgemaakte skroef vir die motoras in te draai, en ek het die bol ingedraai en 'n konfytmoer gebruik om vas te maak. Die Dirt Devil -motor draai vinnig genoeg om die gat uitmekaar te blaas Ek moes die spoed so ver as moontlik aanpas. Teen hierdie spoed sal die motor nie eintlik begin draai nie, wat dit moeilik maak om die tuig te laat loop. spoed totdat die motor aanskakel, dan kan ek die spoed verlaag en die aardbol loslaat. Uiteindelik kan ek met 'n paar fyn fyn versterking 'n uitstekende, stadige draai -effek kry.

SPEEL VIDEO

Aanbeveel: