Turinys:

(POV) „Vision Globe“patvarumas: 8 žingsniai (su nuotraukomis)
(POV) „Vision Globe“patvarumas: 8 žingsniai (su nuotraukomis)

Video: (POV) „Vision Globe“patvarumas: 8 žingsniai (su nuotraukomis)

Video: (POV) „Vision Globe“patvarumas: 8 žingsniai (su nuotraukomis)
Video: Part 6 - The Last of the Mohicans Audiobook by James Fenimore Cooper (Chs 23-26) 2024, Liepa
Anonim
Image
Image
(POV) „Vision Globe“patvarumas
(POV) „Vision Globe“patvarumas
(POV) „Vision Globe“patvarumas
(POV) „Vision Globe“patvarumas

! Atnaujinkite! Pridėjau „Excel“programą, kuri leidžia daug lengviau piešti ir koduoti naujus vaizdus

Paprastas regėjimo rutulio atkaklumas. ŽAISTI VIDEO

Tai projektas, kurį turėjau galvoje jau kurį laiką, o konkursas „Padaryk švytėjimą“buvo tik motyvacija, kurios man reikėjo įkvėpti ištraukti seną 5 LED POV ekraną ir perkelti jį į kitą lygį naudojant „Shift“registrus. Jei jums patinka ši pamoka, apsvarstykite galimybę balsuoti už ją.

Greitas įvadas į POV ar regėjimo patvarumą: bet kokia kintamosios srovės įtampos lemputė iš tikrųjų mirksi ir išjungiama 60 Hz arba 60 kartų per sekundę dažniu. Mūsų smegenys tai suvokia kaip nuolatinę šviesą. Būtent šia koncepcija ir pasinaudosime, kad sukurtume sferinį vaizdą, naudojant vieną šviesos diodų eilę. Šiam projektui nusprendžiau, kad 24 šviesos diodai, sekvenuoti naudojant tris 8 bitų poslinkių registrus, užtikrintų mažiausią raišką, reikalingą Žemės rutuliui.

1 žingsnis: medžiagos

Štai ką aš naudojau.

  • (1) „Arduino Uno“(prototipų kūrimui)
  • (1) „Bareduino“(pasirinktinai nuolatinei plokštei) „VIRTUABOTIX LINK“
  • (3) HC595N poslinkių registrai
  • (24) Mėlyni šviesos diodai
  • (24) 220 omų rezistoriai
  • (1) duonos lenta
  • (1) akumuliatoriaus laikiklis ir baterija
  • (1) 10 colių skersmens žiedas (pakankamai platus, kad tilptų šviesos diodai ir kuo žiebtuvėlis, tuo geriau)
  • (1) su srieginiu strypu (aš naudojau 5/16 ")
  • (1) Variklis (naudojau vieną iš seno „Dirt Devil“)
  • (1) Variklio jungtis
  • (1) 120V atjungimas (šviesos jungiklis)
  • (1) Ventiliatoriaus greičio reguliatorius

2 žingsnis: statykite žiedą

Žiedo kūrimas
Žiedo kūrimas
Žiedo kūrimas
Žiedo kūrimas

Aš naudojau 1/8 colio storio x 1/2 colio pločio aliuminio plokščio strypo gabalėlį savo žiedui ir 5/16 colių visą sriegį centriniam stiebui, nes juos uždėjau, bet manau, kad tai būtų galima padaryti ant 3D spausdintuvas su PCB laikikliais ir yra daug lengvesnis. Aš sukūriau šį žiedą ankstesniam kūrimui, naudodamas 5 šviesos diodus, kurių kiekvienas išjungė atskirą „Arduino“DO.

Žiedo skersmenyje nėra nieko ypatingo. Mano yra maždaug. 10 colių apvalus, vien todėl, kad mano turima plokščia juosta buvo 3 colių ilgio. Aš ją susukau ant 3 iš 1 šlyties/stabdžio/ritinėlio iš „Harbour Freight“, bet taip pat galite suformuoti žiedą aplink diską, supjaustytą iš faneros ir Turiu gerų rezultatų. Šiuo atžvilgiu nematau jokios priežasties, kodėl žiedas negalėjo būti pagamintas iš medžio. Man labiau patinka metalo darbas.

Aš išgręžiau skylutes šviesos diodams maždaug 5/16 "centre. Šis tarpas užpildytas vienoje žiedo pusėje viršuje ir apačioje, išskyrus 1". Norėdami pritvirtinti duonos lentas, žiedo centre turėsite prisukti laikiklį.

3 žingsnis: grandinės sukūrimas

Grandinės sukūrimas
Grandinės sukūrimas
Grandinės sukūrimas
Grandinės sukūrimas
Grandinės sukūrimas
Grandinės sukūrimas

Tai buvo mano pirmasis bandymas naudoti pamainų registrus, todėl pradėjau tyrinėti „Arduino“svetainę ir radau itin naudingą pavyzdį, kurį pakeičiau, kad atitiktų mano poreikius. Pamoką galite rasti „Arduino ShiftOut“. Kaip pagrindinį kodą nusprendžiau „2.3 kodo pavyzdys - dvigubai apibrėžti masyvai“, daugiau apie tai vėliau.

Jei atliksite vadovėlį, sužinosite, kaip po vieną iš eilės siųsti informacijos bitus iš „Arduino“į pamainų registrus. Šis išdėstymas leidžia valdyti visus 24 šio projekto šviesos diodus naudojant tik 3 „Arduino“kaiščius. Mes naudosime 74HC595 serijinės įvesties ir lygiagrečiosios išvesties galimybes įkelti 24 bitų informacijos arba 3 baitus į pamainų registrus ir tada perduoti duomenis lygiagrečiai šviesos diodams.

Kadangi pirmasis įkeliamas duomenų bitas bus baigtas paskutinėje registro vietoje, prie pirmojo poslinkių registro QO prijungsime LED1 arba labiausiai į pietus nukreiptą šviesos diodą. Vykdykite schemą iš „ShiftOut“pavyzdžio ir prijunkite trečiąjį pamainų registrą prie antrojo taip pat, kaip antrasis yra pridedamas prie pirmojo.

Rekomenduoju paleisti pavyzdinį kodą, pirmiausia tik su vienu registru, tada su dviem. Pavyzdinis kodas seka lemputes taip, kad būtų lengva pamatyti, ar kas nors nėra prijungtas. Aš galėjau tiesiog pridėti baitą 3 prie „2.3 kodo pavyzdžio - dvigubai apibrėžti masyvai“ir trečią masyvą, kurį pavadinau mėlyna. Tai galite pamatyti į šį veiksmą įkeltame „ShiftOutArrayByte3R1“kode.

4 žingsnis: sudėkite viską kartu

Viską sujungti
Viską sujungti
Viską sujungti
Viską sujungti

Dabar, kai buvome įsitikinę, kad grandinė veikia, turime viską pritvirtinti prie žiedo. Aš siūlau montuoti „Arduino“/„Bareduino“vienoje pusėje, o „Shift“registro lentą - priešais „Arduino“. Tai padės sušvelninti svorį, tačiau greičiausiai turėsite kažką perkelti, kol pasieksite stabilų sukimąsi. Aš naudoju 9 voltų bateriją toje pusėje, kuriai reikėjo pridėti svorio. Lentas ir akumuliatorių prie centro stiebo pritvirtinau užtrauktukais. Tokiu būdu galėčiau atlikti koregavimus, kad žiedas būtų subalansuotas.

Dabar lituokite visus šviesos diodus. Kadangi mes kontroliuojame teigiamą šviesos diodų įtampą, mes galime prijungti visus katodo laidus kartu su viena neizoliuota viela ir prijungti prie mūsų žemės. Tada turime lituoti rezistorių prie kiekvieno šviesos diodo anodo laido ir tada prijungti laidą iš rezistoriaus prie atitinkamo poslinkio registro išvesties kaiščio. Aš palikau „Blink All“funkciją sąrankos cikle, nes tai yra paprastas būdas pasakyti, ar turite šviesos diodą.

5 žingsnis: Žemės rutulio piešimas

Žemės rutulio piešimas
Žemės rutulio piešimas
Žemės rutulio piešimas
Žemės rutulio piešimas
Žemės rutulio piešimas
Žemės rutulio piešimas

!! Atnaujinti !! Dabar galite piešti naudodami „Excel“programą, kuri jums paverčia vaizdą į šešioliktainį skaičių. Raudonos, mėlynos ir žalios masyvų kodą galima nukopijuoti ir įklijuoti į „Arduino“eskizą. Tiesiog užpildykite 1, kur norite, kad šviesos diodas būtų įjungtas, o langelis automatiškai pasikeis į mėlyną! „Excel“programa įkeliama į šį veiksmą. Dėkojame „Rave Shades“, kurį galite nurodyti paskelbę „Rave Shades Animator“, kuris buvo pakeistas šiam projektui

Gerai. Dabar tapk meniška. Pasirinkau gaublį, nes maniau, kad tai būtų puikus būdas sukurti 360 laipsnių sferinį ekraną naudojant POV, tačiau šiame ir kitame žingsnyje pabandysiu parodyti, kaip galite sukurti bet kokį vaizdą, kurį galite piešti 24x70 taškų raiška.

Pirmiausia radau tinkamą pasaulio žemėlapio vaizdą, kuris bus naudojamas kaip vadovas. Tada „Google Play“radau programą, pavadintą „Mosaic Builder“, kuri puikiai atitiko mano poreikius. Kaip matote paskutinėje šio žingsnio nuotraukoje, savo 24x70 šablone galėjau sukurti mažos raiškos pasaulio žemėlapio paveikslėlio versiją. FYI 24 gaunamas iš 3 baitų duomenų, todėl 24 šviesos diodai yra aukšti, o 70 - padalijant mano žiedo perimetrą iš 5/16 , kad horizontalus atstumas artimai atitiktų vertikalųjį šviesos diodų atstumą. 70 taškų pločio skirsis priklausomai nuo jūsų žiedo dydžio, bet nėra kritinis. Tai nėra ypač svarbu, nes mes nenaudojame jokio tipo jutiklių, pvz., infraraudonųjų spindulių šviesos diodo, kad pajustume visišką sukimąsi ir iš naujo nustatytume kilpą. Tai galiu padaryti apsvarstykite ateityje, tačiau kol mes valdome variklio greitį, jutiklis nereikalingas.

Kai turėsite piešinį, kuriuo esate patenkintas, kitame žingsnyje galite konvertuoti vaizdą į šešioliktainį kodą baitais.

6 žingsnis: Kodas

Kodas
Kodas
Kodas
Kodas
Kodas
Kodas

! Atnaujinkite! Tiesiog pieškite paveikslėlį naudodami 1s, kad pavaizduotumėte ĮJUNGTA, o taškas automatiškai nusidažys mėlyna spalva. Kai jūsų vaizdas bus paruoštas, paspauskite mygtuką „Kopijuoti visus masyvus“ir įklijuokite ant esančių „Arduino“eskizo masyvų! Į šį veiksmą įkėliau naują eskizą

Kaip minėta anksčiau, kaip bazę naudojau „Code Sample 2.3 - Dual Defined Arrays“iš „Arduino ShiftOut“pavyzdžio. Kaip pastebėsite šiame kode, autorius komentuoja, kad nėra tikras, ar „Arduino“gali valdyti tiesiogines dvejetaines reikšmes, todėl vietoj to buvo naudojamos heksadescimalios vertės. Pastaba: aš niekada nekeičiau dvejetainių komentarų šalia Hex reikšmių, aš tik pakeičiau Hex reikšmes, kad jos atitiktų mano pasaulio žemėlapio vaizdą.

Dabar tai buvo tik antras kartas, kai matau Hexą, ir aš buvau gana nesuprantama. Radau pridėtą Hexidecimal-Binary konvertavimo diagramą, kuri labai padėjo. Ši diagrama gali būti naudojama kiekvieno stulpelio arba (baitų) dvejetainei vertei konvertuoti į šešioliktainę vertę. Pavyzdžiui, jei pažvelgsite į paskutinę šio veiksmo nuotrauką, pamatysite, kaip pasaulio žemėlapio vaizdas buvo padalintas į trečdalius iš viršaus į apačią, o kiekvieną stulpelį sudaro 3 baitai, kur balta arba išjungta = 0, o mėlyna arba įjungta = 1. Kiekvieno stulpelio apačioje baitas buvo paverstas į heksadescimalią reikšmę, svyruojančią nuo 00 iki FF, kuri atitinka 0–255 dešimtainę reikšmių sritį arba dvejetainį diapazoną nuo 00000000 iki 11111111.

Pridėtame kode yra „Globe“vaizdas, tačiau jį galima pakeisti savo vaizdui.

7 žingsnis: bandymas

Image
Image
Testavimas
Testavimas

Prieš pradėdamas kurti pagrindą ir variklio laikiklį, maniau, kad išbandysiu ir pataisysiu grandinę. Aš tiesiog įkišiau įrenginį į akumuliatorinį gręžtuvą, viską įjungiau ir patraukiau gaiduką. Turėjau pakoreguoti delsą iki 1 ms, o pirmasis bandymas padėjo Rusiją į pietus nuo Australijos. Iš to, ko tikėjausi, taip pat sužinojau, kad vaizdai rodomi aukštyn žemyn, o tai buvo lengva išspręsti, tiesiog apverčiant visą žiedą. Pridedamas vaizdo įrašas yra mano paskutinis sėkmingas testas. Dabar atėjo laikas bazei su nuolatiniu varikliu ir greičio reguliatoriumi.

ŽAISTI LYGIO GLOBE TESTĄ

8 žingsnis: Užbaikite

Baigimas!
Baigimas!
Baigimas!
Baigimas!
Baigimas!
Baigimas!

Prijungiau šviesos jungiklį kaip variklio atjungiklį, o tada prijungiau ventiliatoriaus greičio reguliatorių tarp atjungimo ir variklio. Tai suteikia man galimybę greitai išjungti maitinimą ir pakankamai gerai valdyti variklio greitį. Dabar man reikėjo būdo prijungti variklį prie Žemės rutulio. Variklio velenas buvo 17/64 ", o visas sriegis, kurį naudojau rutuliui, yra 5/16". 5/16 colių jungtis galėjo būti tik apgaulė, bet, deja, turėjau tik 3/8 colių jungtis, kurios buvo nenaudingos. Vietoj to, aš radau 1/2 colio aliuminio apvalios medžiagos gabalėlį ir išpjoviau 2 colių ilgio gabalą ir išgręžiau 17/64 colių skylę per centrą. Šio dydžio skylė buvo tinkama 5/16-18 sriegiui bakstelėti įpusėjus apvalios atsargos. Aš taip pat išgręžiau ir perbraukiau mažą skylutę per šoną, kad įsuktumėte variklio veleno nustatymo varžtą, tada įsriegiau rutulį ir pritvirtinau veržlę. „Dirt Devil“variklis sukasi pakankamai greitai, kad išpūstų skylę surinkimas, todėl turėjau kiek įmanoma sureguliuoti greitį. Tokiu greičiu variklis iš tikrųjų nepradės suktis, todėl įrenginio valdymas bus šiek tiek sudėtingas. Ką turiu padaryti, tai sulaikyti rutulį nuo sukimosi ir lėtai pakelti greičiu, kol variklis įsijungs, tada galėsiu sumažinti greitį ir atleisti Žemės rutulį.

ŽAISTI VIDEO

Rekomenduojamas: