„Arduino“ objektyvo valdiklis - sinchronizuotas priartinimas / fokusavimas su „Wii Classic“ valdikliu: 11 žingsnių (su nuotraukomis)

„Arduino“ objektyvo valdiklis - sinchronizuotas priartinimas / fokusavimas su „Wii Classic“ valdikliu: 11 žingsnių (su nuotraukomis)

Turinys:

Anonim

Mano „Lumix GH2 Micro Four Thirds“ kamera ne tik fotografuoja fantastiškus didelės raiškos vaizdo įrašus, bet ir nebrangius adapterius galiu naudoti su senesniais rankiniais lęšiais, kurie yra pigūs ir dažnai labai aukštos kokybės. Fotografavau daugybę vaizdo įrašų savo dukters šokių studijai, o aš naudoju „f3.5“ „Nikon“ 28–85 mm priartinimo objektyvą, nes jis užtikrina gerą priartinimo diapazoną ir greitą diafragmos vaizdą. Šios konfigūracijos problema yra ta, kad aš turiu priartinti ir fokusuoti objektyvą rankiniu būdu, ir nors bandau sumažinti fotografavimo metu priartinimą, yra kartų, kai būtina išlaikyti tinkamą rėmimą ir parodyti šokėjų įgūdžius. Man pavyko mokytis priartinti rankiniu būdu, neįvedant pernelyg didelio fotoaparato nervinimo (paprastai), bet kadangi aš taip pat fokusuojame rankiniu būdu, tai šiek tiek truputį, kad greitai ir sklandžiai reguliuotų fokusą po priartinimo ar sumažinimo. Norint įveikti šį trūkumą, nusprendžiau sukurti savo fotoaparato maitinimo priartinimo ir fokusavimo valdiklį (kurį padarė daugelis kitų), o kritinis tikslas - automatiškai išlaikyti tinkamą fokusavimą, kai objektyvas sklandžiai priartina ir sumažina. Po daugelio mėnesių prototipų kūrimo atėjau puikų sprendimą, kuris naudoja „Arduino“ kloną, kuris priima įvestį iš „Wii Classic“ valdiklio ir kuris naudoja 2 hobio servus objektyvui perkelti.Bendra galutinio produkto kaina yra mažesnė nei 100 JAV dolerių.

Galiausiai įgyvendintas dizainas turi keletą papildomų funkcijų:

- 2 vairasvirtės užtikrina nuolatinio kintamo greičio objektyvo valdymą. Perkeliant dešinę juostą į priekį ir atgal, valdoma sinchronizuota priartinimas ir fokusavimas, o kairiojo strypo pusėje esančių valdiklių judėjimas tiesiog fokusuojamas. Greičio kontrolė taip pat padeda išlaikyti servo triukšmą iki priimtino lygio.

- Yra 6 programuojami „goto“ priartinimo / fokusavimo nustatymai, kuriuos galima užprogramuoti iš „Wii Classic“, ir tai perkelia mastelį ir fokusuoja į norimą padėtį tiesiog paspausdami mygtuką (kairysis petys plačiajai priartinimui, dešinysis petys) didžiausią priartinimą ir a, b, x ir y bet kokiam mastelio / fokusavimo padėčiai).

- Didžiausias objektyvo judesio nustatymas taip pat gali būti užprogramuotas skrydžio metu, siekiant užtikrinti, kad servos nesistengtų pasukti už objektyvo priartinimo ir fokusavimo ribų ribų.

- „D-pad“ užtikrina vieno laipsnio mastelio keitimą (aukštyn ir žemyn) ir fokusavimą (kairė ir dešinė padėklai), kad būtų galima tiksliai nustatyti kritinį fokusavimą / priartinimą.

Čia parodoma, kaip sinchronizuotas mastelio fokusavimas veikia mano „GH2“ su „Nikon“ 28–85 mm priartinimo objektyvu:

Šiame nesudėtingame skyriuje apžvelgsiu pagrindus, kaip sukurti savo valdiklio versiją, įskaitant „Arduino“ kodą ir instrukcijas, kaip servos montuoti į geležinkelio fotoaparatą. Aš paminėsiu, kaip aš pastatiau savo platformą, bet nesu juo labai patenkintas, nesileisiu į išsamų žingsnį ir paliksiu jums išsiaiškinti savo sprendimą, remiantis mano platformos nuotraukomis ir keletas pastabų, kaip tai padariau.

Tai buvo pirmasis bandymas pastatyti kažką su „Arduino“, nors turėjau šiek tiek programavimo patirties, todėl man nebuvo pernelyg sunku išmokti „Arduino“ kodo pagrindų. Vis dėlto, jei norite išspręsti šį projektą ir dar nesupratote „Arduino“ kūrimo ir programavimo, rekomenduojame, kad eitumėte per „Arduino“ svetainės, ypač „Servos“, pamokas.

Prekės:

1 žingsnis: Darbo pradžia: įrankiai ir medžiagos

Jūs galite užbaigti šio projekto elektroniką tik su kai kuriais vielos nuėmikliais ir lituokliu. Tačiau norint, kad servo montavimo rankos būtų prieinamos prie juostinio pjūklo ir gręžimo preso (nors atsargus darbas su rankiniu gręžtuvu gali paneigti pastarojo poreikį). Aš taip pat panaudojau stalviršį, kad supjaustytumėte lakštinį plastiką ir stalą sumontavusį maršrutizatorių su 1/2 skersmens šerdies dėžutėmis, kad sumažintumėte plastiko griovelius, kad jie atitiktų mano namų fotoaparato bėgių sistemos bėgius.

Čia pateikiamas pagrindinių tiekimo, kurį turėsite atlikti norėdami užbaigti šį projektą, sąrašas, tačiau prieš perkant viską, kad galėtumėte suprasti, ką įsigyti, kad atitiktų jūsų poreikius, eikite per visą neįvykdytiną.

- Arduino arba Arduino klonas (aš naudoju Seeeduino, nes jis buvo šiek tiek pigesnis nei „Arduiino“ ir suteikia tą patį funkcionalumą).

- „Wii Classic“ valdiklis. Aš nusipirkau kasyklą iš eBay už maždaug 10 JAV dolerių.

- „Wiichuck“ adapteris (maža plokštė, kuri prijungiama prie „Wii Classic“, taigi nereikia pjauti kabelio). Šį iš „FunGizmos“ gavau už $ 4:

- 2 standartinio dydžio hobio servosai su nailono pavaromis ir rutuliniais guoliais. Nailono pavaros yra tylesnės, o rutuliniai guoliai geriau palaiko veleną, kai jie tvarko standesnio priartinimo objektyvų apkrovą. Aš nusipirkau perteklių servos iš vietinės RC parduotuvės už 5 dolerius, bet aš juos pakeisiu 360 laipsnių skaitmeniniais servosais, kurie turėtų būti net tylesni ir tikslesni.

- objektyvo priartinimui ir fokusavimo žiedams montuojami 2 objektyvai. Aš naudoju lankstesnius, kuriuos aš suradau „eBay“ už 10 dolerių. Taip pat galite išleisti apie dvigubai daugiau ir gauti objektyvo žiedus, turinčius įmontuotus tarpiklius. tiesiog ieškokite „objektyvo pavaros sekimo fokusavimo“.

- 2 pavaros pavaros pritvirtinti ant servos, kad būtų galima valdyti objektyvo pavaras. Tai turi būti 32p arba mod. 8 pavarų aukštis (tai yra standartinis objektyvo pavaros žingsnis). Aš sukūriau savo pavaros įrankius, sumontavus kai kuriuos 4 dolerių RC sparnus į originalius servo valdymo ginklus, tačiau tam reikėjo šiek tiek dirbti su mini virpomis, kurių ne visi turi. Geresnis variantas būtų pirkti servo-montuojamus įrankius iš „Servo City“ tik keliems doleriams daugiau: http://www.servocity.com/html/32_pitch_hitec_servo_gears.html. Kai jūs užsakote tuos, jums bus sutaupyti šiek tiek problemų yra tai, kad jūs taip pat perkate vyrų servo pora, kad būtų lengviau prijungti savo servos prie „Arduino“ ir, jei reikia, keisti servosą.

- 1/2 colio storio lakštinio plastiko arba 3/4 colio aliuminio, kad būtų galima sumontuoti servo laikiklius. Naudojau seną plastikinę pjaustymo lentą, tačiau, jei tai padarysite, įsitikinkite, kad tai sunkiau atsipalaiduoti. minkštesnė rūšis yra UHMW ir neužtenka šiam tikslui.

- rankenėlės ir atitinkami vežimėliai, skirti servo laikikliams pritvirtinti prie bėgių.

2 žingsnis: „Gears“ ir „Servos“ pasirinkimas jūsų objektyvams

Prieš pirkdami servosą ar įrankius, reikia suprasti kai kuriuos dalykus apie servosą. Servosai turi ribotą judesių diapazoną (paprastai 180), todėl, jei norite valdyti savo objektyvą per visą priartinimo ir fokusavimo diapazoną, turite atlikti nedidelį skaičiavimą, remiantis objektyvo žiedo judesiu ir objektyvo skersmeniu pavara, kurią servo vairuoja. Manau, kad geriausia tiesiog eiti per procesą, kurį aš perėjau, kad galėtumėte laikytis to paties požiūrio savo sistemos poreikiams.

Mano objektyvo fokusavimas ir priartinimo žiedai judina apie 90 laipsnių nuo galo iki galo, o su tarpikliais ir objektyvo įrankiais bendras servo valdomas pavaros skersmuo yra 4,25 colių. Naudodamas šį tinklalapį (http://math.about.com/library/blcirclecalculator.htm), aš naudoju apskritimo skaičiuoklę, kad gautumėte perimetrą 13,35 colių. Kadangi 90 laipsnių yra 1/4 360, galiu apskaičiuoti, kad mano servo reikia pateikti apie 3,4 colių kelionės (13.35 / 4). Aš naudoju standartinius 180 laipsnių servosus, todėl žinau, kad mano servo pavaros pavarų perimetras turėjo būti ne mažesnis kaip 6,8 colių (180 laipsnių pusė - 360, todėl mano servos tik gali suteikti judėjimą, kuris yra pusė viso apskritimo perimetro). servo pavara). Naudodamiesi apskritimo skaičiuokle, aš žinau, kad man reikia ne mažiau kaip 2,2 colių skersmens pavarų. Aš iš tikrųjų baigiau naudoti šiek tiek mažesnį objektyvo pavarą, nes man nereikia visų fokusavimo judesių ir norėjau turėti šiek tiek smulkesnę fokusavimo kontrolę, nes tai yra kritiškesnė už mastelį man. Tai yra dar vienas dalykas, kurį reikia nepamiršti - kuo arčiau 1: 1 tarp pavaros ir objektyvo pavarų, tuo mažesnė skiriamoji geba. Pavyzdžiui, mano sąranka 1 laipsnio servo žingsnis = 1/2 laipsnio objektyvo žingsnis, bet jei mano pavarų dėžės skersmuo buvo lygus objektyvo pavarui, objektyvas perkelia 1 laipsnį kiekvienam servo laipsniui. Jūs taip pat reikia daugiau servo sukimo momento 1: 1 pavaros: objektyvo santykiui, kurį darote 1: 2 pavaros: objektyvo santykiui.

Taip pat turėtumėte žinoti, kad yra kitas kintamasis, kurį galite įvesti - servo rotacija. Mano servo valdymo kodas yra parašytas standartiniams servozams, kurie sukasi 180 laipsnių kampu, bet užsakiau skaitmeninių serverių porą, kuri sukasi 360 laipsnių kampu ir leis mano valdikliui valdyti objektyvus, kuriems reikia daugiau kelionės. Jūs galite gauti servos, kurios sukasi iki 3 apsisukimų, o tai turėtų pakakti, kad būtų galima valdyti daugelį lęšių, tuo pačiu išlaikant mažą važiavimo prie objektyvo perdavimo skaičių. Žinoma, turėsite atlikti keletą nedidelių kodo pakeitimų, kad galėtumėte valdyti padidėjusio laipsnio diapazoną, tačiau jis turėtų būti gana paprastas. Jei norite pilno posūkio arba kelių posūkių servos, ieškokite „gervės servo“ eBay.

3 žingsnis: Paruoškite „Arduino“ (arba „Klonas“)

Kai turėsite savo „Arduino“ (ar lygiavertį), „Wiichuck“ jungtį, „Servos“ ir „Wii Classic“ valdiklį, būsite pasiruošę pradėti darbus kartu ir įkelti kodą į „Arduino“. Štai kontūras: „Wiichuck“ jungtį ir servo laidus, kad galėtumėte viską testuoti kartu (šis žingsnis reikalauja šiek tiek litavimo). Sujungę „Arduino IDE“ savo kompiuteryje, prijunkite „Arduino“ ir pradėkite įkelti reikalingas bibliotekas ir pavyzdžius. Tada prasideda linksmybė.

WiiChuck adapterio laidavimas:

Ši dalis yra gana paprasta, jei nepadarysite to, ką dariau, ir prarasiu mažą 4 kontaktų antraštę. Jūs tiesiog lituojate antraštę, tada prijunkite jį prie „Arduino“, kaip parodyta paveikslėlyje „FunGizmos“ svetainėje. Jei norite prijungti savo „Classic“ valdiklį, tik įsitikinkite, kad reguliatoriaus kištukas yra su „nichic“ adapterio „nc“.

Servos instaliacija:

Aš iš pradžių nusipirkau variklio valdiklio plokštę, nes pirmą kartą bandžiau sukurti šį projektą su žingsniniais varikliais, o ne servosais (nes maniau, kad jie bus tylesni, o tai pasirodė esąs visiškai neteisingi). Lentoje yra 2 hobio servo jungtys, todėl aš neturėjau jokių litavimo, kad galėčiau prijungti savo servos. Tačiau šis procesas yra paprastas, nes tiesiog prijunkite abiejų serverių maitinimo laidus (juoda yra neigiama, raudona yra teigiama) į jūsų plokštės žemės ir VCC. Turite kelias vietas, iš kurių galite pasirinkti. Tada prijunkite vieną iš vieno servo signalų (geltonųjų) laidų į 9 kištuką, o kitą - į 10 kištuką. Tai yra numatytieji PWM kaiščiai, kuriuose numatyti numatytieji impulsų pločio moduliacijos išėjimai, reikalingi servo pranešimui, kiek toli pasukti.

Kai baigsite laidus, galite viską sujungti, prijungti Arduino prie kompiuterio USB kabeliu ir pradėti pakrauti kodą.

4 žingsnis: Programuokite savo valdybą: gaukite bibliotekas ir mano kodą ir pradėkite žaisti

Prieš įkeldami kodą, kurį parašiau savo objektyvo valdikliui, turite gauti kompiuteryje sukurtą „Arduino IDE“ ir įkelti reikiamas bibliotekas. Servo kontrolės biblioteka yra įtraukta į „Arduino IDE“, todėl jums nereikia nieko daryti. Tačiau, mano kodas taip pat naudoja „Wii Classic“ valdiklio biblioteką, kuri yra prieinama „Arduino“ žaidimų aikštelėje.

Jūs galite sekti šiame puslapyje pateiktus veiksmus, kad pridėtumėte šią informaciją į savo biblioteką, arba tiesiog atsisiųskite pridedamą „zip“ failą ir išpakuokite ją į „Arduino“ bibliotekų aplanką. Kas yra šiame kelyje:

.. Dokumentai Arduino-1.0 bibliotekos

Aplanke aplanką „MiconoWiiClassic“ sukūriau ir į tą aplanką įrašiau „WiiClassic.h“ failą. Jūs galite tiesiog atlaisvinti failą „MiconoWiiClassic.zip“, kurį įtraukiau į savo „Arduino-1.9“ bibliotekų aplanką.

Atnaujinimai:

1) Nuo šio „Instructable“ paskelbimo pirmą kartą supratau, kaip padvigubinti servos skiriamąją gebą, todėl jie tampa lygesni ir tikslesni. Tai padariau keisdamas „Arosino“ įdiegtą „Servos“ biblioteką. Jūs galite patys patobulinti biblioteką arba atsisiųsti „Servo.zip“ failą ir ištraukti „Servo.cpp“ failą į savo „Arduino-1.0“ bibliotekas „Servo“ aplanką ir perrašyti ten esantį „Servo.cpp“ failą. Jei norite patys patikslinti failą, galite tiesiog atidaryti failą iš savo bibliotekos „Notepad“ ir pakeisti visus „180“ atvejus „360“. Jei atsisiuntėte mano eskizą prieš atlikdamas šį naujinimą, turėtumėte iš naujo atsisiųsti „FocusController_gp.zip“ ir ištraukti jį į savo eskizų aplanką. Į šį aplanką bus pridėta focus_zoom_controller_servo_final_2xresolution.ino.

2) Atlaisvindami failus, kuriuos reikia keisti WiiClassic.h faile, kad biblioteka veiktų kaip tikėtasi su mano kodu. „WiiClassic.h“ bibliotekoje yra DEFINE_ON_HOLD funkcija, kuri turi būti nepakeista, kad būtų užtikrinta, jog mygtukai paspaudžiami tik vieną kartą. Jei norite tai panaikinti, turite atverti failą.. aduino-1.0 bibliotekos failą MiconoWiiClassic WiiClassic.h Notepad ir pakeisti šią eilutę:

// # apibrėžti REPORT_ON_HOLD

į

#define REPORT_ON_HOLD

Jei to nepadarysite, pastebėsite, kad mygtuko „D-pad“ mygtukai paspaudžiami toliau, o servo judėjimas bus atliekamas tik vienu žingsniu per spaudą. Ši klaida taip pat gali sukelti keistą elgesį iš kitų mygtukų paspaudimų.

3) Jei prijungiate WiiChuck adapterį į analoginius kaiščius 2,3,4 ir 5, turite sukonfigūruoti 2 ir 3 kaip antžeminius ir maitinimo šaltinius, pridėdami toliau pateiktą kodo sąrankos dalį (dėka „Phillip James“ už šią informaciją

"pinMode (16, OUTPUT);" Nustato skaitmeninį 16 kištuką (dar vadinamą Analog 2) kaip įžeminimo kaištį

"digitalWrite (16, LOW)";

"pinMode (17, OUTPUT)"; Nustato skaitmeninį 17 kontaktų (dar žinomas kaip „Analog 3“) kaip + 5 V kaištį

"digitalWrite (17, HIGH)";

Kai jūs turėsite šią biblioteką, taip pat galite atsisiųsti savo projekto kodą ir išpakuoti jį į pagrindinį „Arduino“ aplanką, o kitą kartą paleidus „Arduino IDE“, mano projektai bus rodomi aplanke „Sketchbook“. Mano aplankas Arduino yra aplanke „Mano dokumentai“:

.. Dokumentai

5 žingsnis: išbandykite dalykus: „Wii Classic“ valdiklis

Sujungus elektronines dalis ir jūsų kodą, atėjo laikas išbandyti ir ištrinti kodą, jei reikia. Pradėkite įkeldami „WiiClassicTestValues“ eskizą iš „Sketchbook“ („File> Sketchbook> WiiClassicTestValues“). Prieš įkeldami ją į lentą, surinkite jį, kad įsitikintumėte, jog tinkamai įdiegėte WiiClassic.h biblioteką (taip pat turėtumėte matyti ją bibliotekų sąraše (eskizas> Importuoti biblioteką). į savo lentą.

Programa išleidžia kiekvieno „Wii Classic“ lazdos vertę į serijinį monitorių, todėl jums reikės atidaryti serijos monitorių (įrankiai> serijinis monitorius). Leiskite valdikliui pasilikti su lazdomis, kad pamatytumėte, kokios vertės yra centrinėje padėtyje, tada metodiškai stumkite abi lazdas kelis sekundes į priekį, tada iki galo, tada iki galo į kairę, tada iki galo teisė. Kai tai padarysite, monitoriaus lange galite išjungti „Autoscrolling“ ir kopijuoti rezultatus į „Notepad“ ir išsaugoti failą tolesniam peržiūrėjimui. Dabar esate pasiruošę užtikrinti, kad valdiklio kodas būtų kalibruotas jūsų „Wii Classic“ valdiklyje.

6 veiksmas: įdėkite objektyvo valdiklio kodą ir nustatykite savo Wii valdiklį

Dabar galite įkelti valdiklio kodą ir užtikrinti, kad laukiamos valdiklio reikšmės atitiktų jūsų „Wii Classic“ valdiklį. Pradėkite įkeldami mano valdiklio eskizą iš „File“> „Sketchbook“> focus_zoom_controller_final.

Kai jis bus įkeltas, pereikite prie kodo 101 eilutės, kad pamatytumėte toliau pateikiamus valdymo pulto parametrų nustatymus:

// dešinėje pusėje yra 1/2 kairiosios raiškos - šios vertės gali skirtis

// valdiklis į kitą, taigi jums reikės paleisti bandymų programą, kad būtų galima atpažinti

// kiekviena lazdos padėtis

int yCenterRight = 15;

int yMinRight = 2;

int yMaxRight = 28;

int xCenterRight = 15;

int xMinRight = 3;

int xMaxRight = 28;

int centerOffsetRight = 3;

int endOffsetRight = 0;

int yCenterLeft = 32;

int yMinLeft = 6;

int yMaxLeft = 55;

int xCenterLeft = 31;

int xMinLeft = 6;

int xMaxLeft = 55;

int centerOffsetLeft = 6;

int endOffsetLeft = 0;

Patikrinkite šias vertes pagal skaitytuvą iš savo valdiklio ir, jei reikia, pakeiskite visas reikšmes. Įsitikinkite, kad išsaugojote pakeitimus.

7 veiksmas:

Atėjo laikas išbandyti kodą su savo servosais. Mano kode aš turiu „Zoom“ servo, prijungtą prie „Arduino“ 9 kišenės, ir „Focus“ servo, prijungto prie kaiščio 10. Tai galite lengvai pakeisti kode, pakeisdami numerius čia:

void setup () {

Serial.begin (9600); // nustatyti serijinę biblioteką 9600 bps

// pridėti servos ir nustatyti pradines pozicijas, skirtas servos montavimui prie objektyvo

zoomServo.attach (9);

focusServo.attach (10);

Kai tai bus padaryta ir jūsų servos yra prijungtos, prijunkite plokštę prie kompiuterio USB prievado ir atsisiųskite kodą į savo lentą. Kai baigsite parsisiuntimą ir paleidimą, „Zoom“ servo veiks iki 180 laipsnių, o „Focus“ servo bus perkelta į 0. Dabar galite pradėti žaisti su lazdomis ir mygtukais, kad pamatytumėte, kas vyksta, ir gali bandyti programuoti įvairias servo pozicijas ir fokusavimą santykis. Kai kuriuose mygtukuose yra numatytosios vertės, tačiau bet kurį mygtuką galite užprogramuoti paspausdami, HOME, tada mygtukas ir programa prisimins nustatymą, kol plokštė bus iš naujo nustatyta arba išjungta.

Kai esate įsitikinę, kad valdiklis veikia tinkamai, kad galėtumėte perkelti serverius, galite patraukti fotoaparatą ir objektyvą ir įvertinti, ar kojos judesių servo kryptys yra teisingos. Paspaudus dešinįjį strypą į priekį, servo reikia nukreipti teisinga kryptimi, kad priartintumėte objektyvą, o traukimas atgal turėtų būti priešingas. Tuo pačiu metu jis turėtų perkelti fokusą ta kryptimi, kuri reikalinga, kad fotoaparatas būtų fokusuotas, kai priartinamas vaizdas. Turiu raktą, kad, kai priartinsiu (stumsiu dešinę juostą į priekį), aš turiu perkelti fokusavimo lazdą į dešinę, kad ištaisytumėte fokusą, o kai priartinsiu (traukite dešinę juostą atgal), turiu nukreipkite fokusavimo lazdą į kairę, kad ištaisytumėte fokusą. Tai atrodė kaip intuityviausias susitarimas.

Nustatydami serverius šalia fotoaparato ir objektyvo taip, kaip planuojate juos pritvirtinti prie fotoaparato platformos, galite pasakyti, ar jie juda teisinga kryptimi, nes jūsų objektyvas juda. Jei ne, kode yra nurodymų, kaip pakeisti servo judėjimo kryptį, palyginti su kiekvienu atramos judesiu. Ateityje planuoju įsilaužti Servo biblioteką, kad tai būtų lengviau, bet dabar tai nėra taip paprasta, kaip keisti jungiklį, bet tai taip pat nėra pernelyg sudėtinga.

8 žingsnis. Įdėkite jį kartu, kad galėtumėte atlikti tikrąjį testą

Štai kur jis tikrai linksmas. Kai tik jūs įsitikinote, kad turite savo fotoaparato servo judėjimą teisinga kryptimi, tikrai nėra jokios priežasties viską pritvirtinti, kaip jis veikia su fotoaparatu ir objektyvu. Jūs galite padaryti gaubtus ir prijungti jungiklius, maitinimo jungtis ir gana šviesius, kai viskas tinka jūsų pasitenkinimui, tačiau tai tikrai nereikia, kol pamatysite, ar jūsų sąranka gali vairuoti jūsų objektyvą taip, kaip norite. Aš tai padariau su keliais mano projekto kartojimais, įskaitant „Stepper“ versiją, kuri buvo visa nelaimė ir privertė mane pakeisti kursą ir pereiti prie servos. Idėja yra nesėkminga, prieš pradėdami per daug dirbti su galutiniu produktu, kuriam dar reikia keisti.

Pradėkite montuojant servo pavaras ir objektyvo pavaras. Visa tai gana paprasta, bet jei pastebėsite, kad jūsų objektyvo pavara visai neslysta (kaip mano kasykla), tai gali padėti žinoti, kad galite padidinti bet kokio sukibimo gumą, nes guma yra lengvai nuplėšiama iš pigios, plonas pelės kilimėlis. Tos pačios medžiagos taip pat gali būti naudojamos triukšmui iš servos. Kartu su šiomis linijomis servo triukšmas taip pat gali padėti pridėti šiek tiek plastikinio tepalo į servo pavarų dėžę.Aš naudoju žiedinį ritės tepalą, kuris yra pažymėtas kaip saugus plastikui, ir jis tikrai nutildė mano priartinimo servo.

Jei neturite geležinkelių sistemos, jums reikės modeliuoti pagal tai, ką aš padariau (leisiu jums nukreipti nuotrauką) arba rasti dar geresnį dizainą internete. Mano įrenginys buvo greitai sujungtas bandymų tikslais, ir aš planuoju pakeisti briaunuotą brūkšninį dizainą su kažkuo patrauklesniu, standžiu ir lengva reguliuoti. Mano bėgiai yra 1/2 skersmens anglies slidinėjimo stulpai, kuriuos aš nuvažiavau iš „Goodwill“ už $ 4 („Goode“ prekės ženklas nėra mažesnis, todėl jie gerai dirbo). Bėgio laikiklis yra pagamintas iš 1/2 "storio kietos plastiko pjaustymo lentos, kurią aš pjaustiau į 2-1 / 2 colių pločio 6 colių juostą. Norėdami sukurti bėgių "skyles", aš nukreipiau du 1/4 "gilius 1/2" skersmens griovelius su pagrindinio dėžutės bitais, sumontuotais maršrutizatoriaus lentelėje ir vadovaujant mažai tvorai. Dabar norėčiau, kad aš padariau visą tą platesnį, bet norėjau išlaikyti jį siaurą, kad galėčiau vis tiek patekti į savo baterijos dureles, neišmontuodamas fotoaparato nuo bėgių. Tada aš pjaustysiu gabalėlį išilgai 2, sumontavau baltų beržo faneros tarpinį bloką į vieną galą su kai kuriais mediniais varžtais, tada įdėjau porą 1,4 colių skylių, skirtų pritvirtinti jį prie fotoaparato ir „Manfrotto“ greito atleidimo plokštės.

Kai turėsite geležinkelio stotį, galite modeliuoti kai kuriuos servo montavimo blokus, kad jie atitiktų jūsų bėgius. Aš taip pat padariau kasyklą iš kai kurių kietų plastikinių pjaustymo lentos laužų, kuriuos nukreipiau į savo maršrutizatorių lentelę. Aš prisukau vieną galą kartu su kai kuriais mažais gipso varžtais, ir išgręžiau 1,4 colio visumą kitoje bėgio skylės pusėje, kad laikytumėte važiuoklės varžtą. Maža rankenėlė leidžia man sugriežtinti mouting bloką, kad tilptų bėgiai. Kai tik buvau įsitikinęs, kad viskas tinka gerai, aš išgręžiau mažas piloto skyles, kad tilptų servo tvirtinimo varžtus, kurie buvo su mano servosais, ir užfiksavo servos į vietą. Atkreipkite dėmesį, kad šiuo atveju servo yra tvirtinama tik priekiniame krašte, todėl būkite atsargūs kai spaudžiate montuodami servo ir blokų sąranką ant bėgių.

9 žingsnis: duokite jai testo paleidimą

Kai fotoaparatas yra (tvirtinamas prie tvirtos trikojo) ir servos, pritvirtintos prie bėgių, atėjo laikas pakabinti viską iki bandymo. Negalima valdyti „Arduino“ su pavaromis, kurios buvo sujungtos. Vietoj to, pirmiausia nuvalykite juos nuo objektyvo pavaros, kad servos galėtų pasukti be objektyvo judėjimo. Tada galite įjungti savo lentą. Jei to nepadarysite, galite pastebėti, kad jūsų servo bando objektyvą pasukti už jos ribų ir tai nėra gera.

Programuokite savo objektyvo valdiklį (šios instrukcijos taip pat yra Arduino kode)

Po to, kai plokštė įsijungia ir servos nustos judėti, perkelkite objektyvo priartinimo žiedą prie maksimalaus nustatymo, kuris atitinka servo padėtį. Kai mano valdiklis paleidžiamas, mano priartinimo tarnyba pereina į plačiausią priartinimo padėtį, taigi aš perkeliu objektyvą prieš prijungiant priartinimo tarnybą. Perkėlęs objektyvą, aš pasuku servo į padėtį, kad pavaros pavara tiesiog įsijungtų į objektyvo pavarą (jei į objektyvą pernelyg didelis spaudimas, galite jį prilipti, ir jūs negalėsite tapti lygiu judesiu). Tada tai programuoju kaip plačiausią mastelio nustatymą, paspausdami „Home“, tada „Left Shoulder“, esantį Wii Classic Controller. Tada naudoju dešinįjį klavišą, kad priartintumėte, kol fotoaparatas nepasiekia savo mastelio ribos, ir naudokite padėklą grįžti nuo laipsnio ar dviejų. Tuomet šią maksimalaus priartinimo poziciją užprogramuokite paspaudus „Pradžia“, tada „dešinysis petys“, kad nustatytumėte maksimalų objektyvo mastelio nustatymą.

Pakartoju panašią procedūrą su fokusavimo servo, tačiau programuokite reikiamus ir kairiuosius fokusavimo servo nustatymus, naudodami mygtukus „Dešinysis Z“ ir „Kairysis Z“.

Nustatę šias ribas, atėjo laikas įjungti fotoaparatą, pasirinkti objektą ir nustatyti fokusą plačiausiems ir artimiausiems mastelio nustatymams. Nesvarbu, kur jūs pradėsite, bet dažniausiai einu maksimaliu masteliu (tiesiog paspauskite dešinįjį peties mygtuką, kad automatiškai eitumėte ten). Tada naudoju kairįjį pelės klavišą ir kairįjį dešinįjį D-Pad, kad gautumėte fokusą, tada paspauskite „Pradžia“, tada „+“, kad nustatytumėte maksimalaus mastelio fokusavimą. Toliau priartinkite objektyvą iki pat didžiausio priartinimo ir vėl naudokite kairįjį pelės klavišą ir D-Pad, kad surastumėte objektą. Gerai paspaudę „Home“, tada „-“, kad nustatytumėte fokusą „Min Zoom“ (didžiausio mastelio) padėtyje. Kiekvieną kartą, kai programuojate „-“ arba „+“ mygtukus, kodas apskaičiuoja teisingą santykį, kad padidintų fokusavimą, kai priartinate vaizdą, kad jūsų objektas būtų fokusuotas, kai priartinate vaizdą. Galite bet kuriuo metu keisti fokusą naudodami kairiąją juostelę arba „D-Pad“, o tol, kol iš naujo programuosite „+“ arba „-“ klavišą, fokusavimas visada bus sinchronizuojamas su priartinimo judesiu, kai naudojate teisę priartinkite, kad priartintumėte objektyvą. Tai yra mano „kontrakcijos“ magija (kaip mano žmona ją vadina).

Taip pat galite užprogramuoti 4 (x, y, a, b) mygtukus su specialiomis „Zoom / Focus“ padėtimis. Tiesiog perkelkite priartinimą ir fokusuokite į norimą padėtį, tada paspauskite „Pradžia“ ir tada vieną iš mygtukų, kad užprogramuotumėte tą padėtį. Jei perkelsite tik fokusavimo servo programuojant kiekvieną iš šių mygtukų, galite nustatyti, kad valdiklis veiktų kaip sekantis fokusas su 4 iš anksto nustatytomis fokusavimo pozicijomis, kurios apskritai neperkelia priartinimo objektyvo.

Čia pateikiamas vaizdo įrašas, rodantis šį procesą su mano GH2 fotoaparate sumontuotu valdikliu:

10 žingsnis: apvyniokite jį

Kai baigsite žaisti ir puoselėti ir pasitenkinti, kad jūsų valdytojo versija jums teks dirbti, atėjo laikas padaryti jį nuolatinį, gražų ir lengvai montuojamą ir išmontuotą. Leiskite jums išsiaiškinti, kad tai dalis jūsų (bet tikiuosi, kad su manimi dalinsitės savo rezultatais). Aš turiu daugybę patarimų, kad galėčiau padaryti savo valdiklį, kol aš jį baigsiu, todėl maniau, kad pasidalinsiu savo planais, kad galėčiau jus galvoti tuo pačiu būdu.

Korpusas ir geresnis servo laikiklis

Aš dar nepadariau tinkamo korpuso, todėl aš džiaugiuosi čia. Aš tikriausiai nusipirksiu mažesnį „Arduino“, kaip mini, kad galėčiau išlaikyti nedidelius dalykus ir atversiu savo galimybes. Aš taip pat ruošiuosi plastikiniais servo laikikliais su apdirbtais aliuminio laikikliais dabar, kai žinau, kaip gerai tai veikia. Aš taip pat ketinu patobulinti servosas.

Maitinimo šaltinis

Dabar mano valdiklis išjungia USB maitinimą, prijungdamas USB laidą prie „iPod“ įkroviklio. Tačiau turiu atsarginį išorinį 9 voltų DVD akumuliatorių, kuris gali būti kraunamas, kai jis tiekia maitinimą valdikliui, ir man patinka idėja turėti tik akumuliatoriaus pasirinkimą, todėl kai aš suradau tinkamą korpusą, eisiu tinkamas prijunkite prie išorinių kaiščių, esančių mano laive.

LED indikatoriai

Tai būtų malonu (ir labai lengva pridėti indikatorių „programos režimui“, todėl turiu kai kuriuos LED, kurie įsižiebs, kai valdiklis yra režime „Program“ arba „Run“.

Lengvas servo poslinkis

Kaip minėjau anksčiau, tai šiek tiek varginantis keisti servo kryptį, palyginti su lazdos judesiais, todėl pradėjau įsilaužti „Arduino“ servo biblioteką, kad galėčiau priimti servo krypties vėliavą.

Atmintis objektyvo nustatymams

Taip pat būtų malonu, kad nereikėtų perprogramuoti objektyvo ribų nustatymų kiekvieną kartą, kai išjungiamas valdymo įtaisas, todėl aš planuoju pridėti SD kortelės saugyklą kiekvienam objektyvo nustatymui.

11 veiksmas: atsiliepimai ir tolesni veiksmai

Kitas narys. Steve Drayas padarė puikų darbą, sukurdamas keletą savo šios versijos versijų, ir dosniai dalinosi savo laidų schemomis ir nuotraukomis. Tikiuosi, kad tai įkvepia ir padeda kitiems bandyti kurti šį projektą, ypač todėl, kad turėjau ribotą laiką atsakyti į klausimus. Steve turėjo tam tikrų problemų, kurias jis nustatė kaip prastą maitinimo šaltinį, todėl pastatė savo reguliuojamą tiekimą ir taip pat įtraukė schemą. Man pavyko gauti su savo mažu kubo iPod įkrovikliu.

Ačiū Steve!