Arduino Lens Controller - Zsynchronizowany zoom / ostrość z kontrolerem Wii Classic: 11 kroków (ze zdjęciami)

Arduino Lens Controller - Zsynchronizowany zoom / ostrość z kontrolerem Wii Classic: 11 kroków (ze zdjęciami)

Spisu treści:

Anonim

Mój aparat Lumix GH2 Micro Four Thirds nie tylko wykonuje fantastyczne filmy w wysokiej rozdzielczości, ale dzięki niedrogim adapterom mogę go używać ze starszymi ręcznymi obiektywami, które są tanie i często bardzo wysokiej jakości. Kręcę wiele filmów z wydajnością dla studia tańca mojej córki i używam obiektywu Nikon 28-85 mm f3,5, ponieważ zapewnia on dobry zakres zoomu i szybki otwór przysłony dla obiektywu zmiennoogniskowego. Problem z tą konfiguracją polega na tym, że muszę ręcznie powiększać i ustawiać ostrość obiektywu, i chociaż staram się minimalizować powiększanie podczas fotografowania, zdarzają się sytuacje, w których jest to niezbędne do utrzymania prawidłowego kadrowania i pokazania umiejętności tancerzy. Udało mi się nauczyć ręcznego powiększania bez wprowadzania nadmiernego drgań kamery (zwykle), ale ponieważ ustawiam ostrość ręcznie, jest to trochę trudne, aby szybko i płynnie wyregulować ostrość po powiększeniu lub pomniejszeniu. Aby przezwyciężyć ten niedostatek, postanowiłem zbudować dla mojego aparatu kontroler zoomu i ostrości (co wiele innych zrobiło), z kluczowym celem, jakim jest automatyczne utrzymanie prawidłowej ostrości, gdy obiektyw płynnie przybliża i oddala. Po wielu miesiącach prototypowania dotarłem do świetnego rozwiązania, które wykorzystuje klon Arduino, który akceptuje dane wejściowe z kontrolera Wii Classic, i który wykorzystuje 2 serwomechanizmy do poruszania obiektywem.Całkowity koszt produktu końcowego wynosi mniej niż 100 USD.

Projekt, który ostatecznie zaimplementowałem, ma wiele zaawansowanych funkcji:

- 2 joysticki zapewniają płynną regulację prędkości obiektywu. Przesuwanie prawego drążka do przodu i do tyłu steruje zsynchronizowanym zoomem i ostrością, a przesuwanie lewego drążka na boki kontroluje tylko ostrość. Wdrożenie kontroli prędkości pomaga również ograniczyć szum serwo do akceptowalnego poziomu.

- Istnieje 6 programowalnych ustawień zoomu / ostrości „goto”, które można zaprogramować w locie z Wii Classic, a które przesuną zoom i ostrość do żądanej pozycji po prostu naciskając przycisk (lewe ramię dla najszerszego zoomu, prawe ramię dla większego zoomu, a, b, x i y dla dowolnej pozycji zoomu / ostrości).

- Maksymalne ustawienia ruchu obiektywu można również zaprogramować w locie, aby serwomechanizmy nie próbowały obracać się poza granice pozycji zoomu i ostrości.

- D-pad zapewnia jednoetapowe ruchy zoomu (pad w górę iw dół) i ostrości (lewy i prawy pad), aby precyzyjnie regulować ostrość / zoom.

Oto demonstracja, jak zsynchronizowany zoom - ostrość działa na moim GH2 z obiektywem Nikon 28 - 85 mm:

W tym podręczniku omówię podstawy budowania własnej wersji tego kontrolera, w tym kod Arduino i instrukcje montażu serwomechanizmów na szynie. Wspomnę o tym, jak zbudowałem moją platformę, ale ponieważ nie jestem z niej zadowolony, nie będę podejmował szczegółowych kroków w tej sprawie i pozostawiam ci rozwiązanie własnego rozwiązania na podstawie zdjęć mojego urządzenia i kilka uwag o tym, jak to zrobiłem.

To była moja pierwsza próba zbudowania czegoś z Arduino, chociaż miałem pewne doświadczenie w programowaniu, więc nie było mi trudno nauczyć się podstaw kodu Arduino. Jeśli jednak chcesz poradzić sobie z tym projektem i nie znasz jeszcze konfiguracji i programowania Arduino, radzę przejść przez samouczki na stronie Arduino, zwłaszcza te dotyczące Servos.

Kieszonkowe dzieci:

Krok 1: Pierwsze kroki: Narzędzia i materiały

Możesz ukończyć elektronikę dla tego projektu za pomocą tylko niektórych ściągaczy izolacji i lutownicy. Aby jednak ramiona mocujące serwomechanizm mogły mieć dostęp do piły taśmowej i wiertarki (choć ostrożna praca wiertarką ręczną może wyeliminować potrzebę tej drugiej). Do cięcia blachy z tworzywa sztucznego i zamontowanego na stole routera z bitowym rdzeniem o średnicy 1/2 cala użyłem też piły stołowej do cięcia rowków w plastiku, aby dopasować je do szyn w moim domowym systemie szynowym.

Oto lista głównych materiałów eksploatacyjnych, których potrzebujesz, aby ukończyć ten projekt, ale przed zakupem proszę przejrzeć całą instrukcję, aby zrozumieć, co należy kupić, aby dopasować się do własnych potrzeb.

- Arduino lub Arduino clone (użyłem Seeeduino, ponieważ był on trochę tańszy niż Arduiino i zapewnia taką samą funkcjonalność).

- Kontroler Wii Classic. Kupiłem kopalnię w serwisie eBay za około 10 dolarów wysłanych.

- Adapter Wiichuck (mała płytka drukowana podłączana do Wii Classic, dzięki czemu nie trzeba przecinać kabla). Dostałem to od FunGizmos za 4 $:

- 2 serwomechanizmy hobby o standardowych rozmiarach z nylonowymi zębatkami i łożyskami kulkowymi. Przekładnie nylonowe są cichsze, a łożyska kulkowe zapewniają lepsze podparcie dla wału podczas przenoszenia obciążenia sztywniejszymi obiektywami zmiennoogniskowymi. Kupiłem kilka nadwyżek serwomechanizmów z lokalnego sklepu RC za 5 dolarów za sztukę, ale zastępuję je serwomechanizmami cyfrowymi 360 stopni, które powinny być jeszcze cichsze i dokładniejsze, a te kosztują 20 dolarów każdy z serwisu eBay.

- 2 koła zębate do mocowania obiektywu na pierścieniach zoomu i ostrości. Użyłem tych elastycznych, które znalazłem w serwisie eBay za 10 USD każdy, i zrobiłem własne pierścienie dystansowe, aby zapewnić lepszą rozdzielczość i nieco większą mechaniczną przewagę serwomechanizmów. Możesz również wydać około dwa razy więcej i uzyskać pierścienie kół zębatych z wbudowanymi przekładkami, które są również dostępne w serwisie eBay. po prostu szukaj „obiektywu podążaj za ogniskiem”.

- 2 koła zębate do montażu na serwach, aby napędzać koła zębate obiektywu. Muszą to być skoki biegów 32p lub mod.8 (co jest standardowym skokiem dla przekładni obiektywu). Stworzyłem własne koła zębate napędowe, montując koła zębate czołowe o wartości 4 dolarów RC do oryginalnych ramion sterujących serwomechanizmów, ale to wymagało trochę pracy na tokarce mini, której nie wszyscy mają. Lepszą opcją byłoby zakupienie przekładni z serwomechanizmem z Servo City za kilka dolarów więcej: http://www.servocity.com/html/32_pitch_hitec_servo_gears.html. Kiedy zamawiasz te, zaoszczędzisz sobie trochę kłopotów, ponieważ kupujesz też parę męskich serwomechanizmów, aby ułatwić podłączenie serwomechanizmów do Arduino i zamienić serwomechanizmy, jeśli zajdzie taka potrzeba.

- blacha z tworzywa sztucznego o grubości 1/2 cala lub aluminium o grubości 3/4 ”do mocowania serwomechanizmów. Użyłem starej plastikowej deski do krojenia, ale jeśli to zrobisz, upewnij się, że jest to twardszy, trudniejszy rodzaj (nie powinno być możliwości wgniecenia powierzchnia w ogóle z twoją miniaturą. Miękki rodzaj to UHMW i nie będzie wystarczająco dobrze obrabiać do tego celu.

- pokrętła i pasujące śruby wózka do mocowania mocowań serwo do szyn.

Krok 2: Wybór narzędzi i serwomechanizmów dla Twoich soczewek

Przed zakupem serwomechanizmów lub kół zębatych musisz zrozumieć kilka rzeczy dotyczących serwonapędów. Serwa mają ograniczony zakres ruchu (zwykle 180), więc jeśli chcesz mieć możliwość kontrolowania obiektywu w całym zakresie powiększenia i ostrości, musisz wykonać małe obliczenia w oparciu o ruch pierścieniowy obiektywu i średnicę obiektywu bieg, który będzie napędzał serwo. Myślę, że najlepiej jest po prostu przejść przez proces, przez który przeszedłem, abyś mógł zastosować to samo podejście do własnych potrzeb systemu.

Pierścienie ostrości i powiększenia mojego obiektywu przesuwają się o 90 stopni od końca do końca, a przy przekładkach i przekładni obiektywu całkowita średnica przekładni napędzanej przez serwomechanizm wynosi 4,25 cala. Użyłem kalkulatora obwodu z tej strony (http://math.about.com/library/blcirclecalculator.htm), aby uzyskać obwód 13,35 cala. Ponieważ 90 stopni wynosi 1/4 z 360, mogę obliczyć, że mój serwonapęd musi zapewnić około 3,4 cala podróży (13,35 / 4). Użyłem standardowych serwomechanizmów 180 stopni, więc wiem, że obwód moich przekładni serwonapędów musiał wynosić co najmniej 6,8 cala (180 stopni to połowa 360 stopni, więc moje serwomechanizmy będą w stanie zapewnić ruch, który jest o połowę mniejszy niż całkowity obwód przekładnie z serwonapędem). Za pomocą kalkulatora obwodu wiem, że potrzebuję kół zębatych o średnicy co najmniej 2,2 cala. Skończyło się na użyciu nieco mniejszego obiektywu, ponieważ nie potrzebuję pełnego zakresu ruchu ogniskowania i chciałem mieć nieco lepszą kontrolę ostrości, ponieważ jest to bardziej krytyczne niż dla mnie powiększenie. Jest to kolejna kwestia, o której należy pamiętać - im bliżej 1: 1 między przekładnią napędową a przekładnią obiektywu, tym mniejsza jest rozdzielczość. Na przykład, w mojej konfiguracji krok serwomechanizmu 1 stopnia = stopień soczewki 1/2 stopnia, ale jeśli średnica mojego napędu była równa przekładni obiektywu, obiektyw poruszyłby się o 1 stopień dla każdego stopnia serwomechanizmu. Potrzebny jest również większy moment obrotowy serwonapędu w stosunku 1: 1 do współczynnika obiektywu, jaki można osiągnąć dla współczynnika napędu 1: 2: obiektyw.

Powinieneś również wiedzieć, że istnieje inna zmienna, którą możesz wprowadzić - obrót serwomechanizmu. Mój kod sterujący serwomechanizmem jest napisany dla standardowych serw, które obracają się o 180 stopni, ale zamówiłem parę cyfrowych serwomechanizmów, które obracają się o 360 stopni, co pozwoli mojemu kontrolerowi obsługiwać obiektywy wymagające więcej podróży. Możesz uzyskać serwa, które obracają się do 3 obrotów, co powinno wystarczyć do obsłużenia większości obiektywów przy zachowaniu niskiego stosunku prędkości jazdy do przełożenia obiektywu. Oczywiście będziesz musiał dokonać kilku drobnych zmian w kodzie, aby poradzić sobie ze zwiększonym zakresem stopni, ale powinien być całkiem prosty. Jeśli chcesz serwonapędy obrotowe lub wieloobrotowe, poszukaj „serwa wyciągarki” w serwisie eBay.

Krok 3: Przygotuj swoje Arduino (lub Clone)

Gdy masz już Arduino (lub jego odpowiednik), swoje złącze Wiichuck, serwomechanizmy i odprowadzenia oraz kontroler Wii Classic, jesteś gotowy, aby rozpocząć łączenie rzeczy i załadować kod do Arduino. Oto zarys: podłącz złącze Wiichuck i przewody serwo, abyś mógł zacząć testować wszystko razem (ten krok wymaga lutowania). Po podłączeniu rzeczy ustaw Arduino IDE na swoim komputerze, podłącz Arduino i zacznij ładować potrzebne biblioteki i przykłady. Wtedy zaczyna się zabawa.

Okablowanie adaptera WiiChuck:

Ta część jest całkiem łatwa, jeśli nie zrobisz tego, co zrobiłem i stracisz mały 4-pinowy nagłówek, który z nią jest. Po prostu lutujesz nagłówek na miejscu, a następnie podłączasz go do Arduino, jak pokazano na obrazku na stronie internetowej FunGizmos. Aby podłączyć kontroler Classic, upewnij się, że wcięcie na wtyczce kontrolera pokrywa się z wcięciem w adapterze Wiichuck.

Okablowanie serwosów:

Pierwotnie kupiłem płytę sterownika silnika, ponieważ po raz pierwszy próbowałem zbudować ten projekt z silnikami krokowymi, a nie z serwomechanizmami (ponieważ uważałem, że będą cichsze, co okazało się dość błędne). Płyta ma 2 złącza serwo do hobby, więc nie musiałem lutować, żeby podłączyć serwonapędy. Proces polega na prostym podłączeniu przewodów: wystarczy podłączyć przewody zasilające obu serwomechanizmów (czarny jest ujemny, czerwony jest dodatni) do masy i VCC płyty głównej. Masz kilka miejsc, z których możesz wybrać. Następnie podłącz jeden z przewodów sygnałowych (żółtego) jednego serwomechanizmu do styku 9, a drugi do styku 10. Są to domyślne styki PWM, które zapewniają domyślne wyjścia modulacji szerokości impulsu, które są wymagane, aby poinformować serwomechanizm, jak daleko ma się skręcić.

Po zakończeniu okablowania można połączyć wszystko razem, podłączyć Arduino do komputera za pomocą kabla USB i rozpocząć ładowanie kodu.

Krok 4: Zaprogramuj swoją tablicę: Pobierz biblioteki, mój kod i zacznij grać

Zanim załadujesz kod, który napisałem dla mojego kontrolera obiektywu, musisz skonfigurować Arduino IDE na swoim komputerze i załadować potrzebne biblioteki. Biblioteka sterowania serwomechanizmami jest dołączona do IDE Arduino, więc nie musisz nic robić. Jednak mój kod wykorzystuje także bibliotekę Wii Classic Controller udostępnioną przez użytkownika, dostępną na placu zabaw Arduino.

Możesz śledzić kroki na stronie, aby dodać to do swojej biblioteki, lub po prostu pobrać plik zip, który załączyłem i rozpakować go do folderu bibliotek Arduino. Mój jest na tej ścieżce:

.. Dokumenty Arduino arduino-1.0 biblioteki

Stworzyłem folder o nazwie MiconoWiiClassic w folderze bibliotek i zapisałem plik „WiiClassic.h” w tym folderze. Możesz po prostu rozpakować plik MiconoWiiClassic.zip, który tutaj umieściłem, do twojego katalogu bibliotek Arduino-1.9.

AKTUALIZACJE:

1) Od pierwszego opublikowania tego Instruktażu, zorientowałem się, jak podwoić rozdzielczość serw, co czyni je bardziej płynnymi i dokładnymi. Zrobiłem to, ulepszając bibliotekę Servos zainstalowaną przez Arduino. Możesz samodzielnie ulepszyć bibliotekę lub pobrać plik Servo.zip i rozpakować plik Servo.cpp do biblioteki.. Arduino Arduino-1.0 Folder serwvo i zastąpić znajdujący się tam plik Servo.cpp. Jeśli chcesz samodzielnie zmodyfikować plik, możesz po prostu otworzyć plik z biblioteki w Notatniku i zastąpić wszystkie wystąpienia „180” „360”. Jeśli pobierałeś mój szkic przed dokonaniem tej aktualizacji, powinieneś ponownie pobrać FocusController_gp.zip i rozpakować go do swojego folderu szkicu. Doda do tego folderu focus_zoom_controller_servo_final_2xresolution.ino.

2) Po rozpakowaniu plików musisz zmienić jedną rzecz w pliku WiiClassic.h, aby biblioteka działała zgodnie z oczekiwaniami z moim kodem. Biblioteka WiiClassic.h zawiera funkcję DEFINE_ON_HOLD, którą należy odkomentować, aby zapewnić, że naciśnięcia przycisków są zgłaszane tylko raz. Aby odkomentować ten plik, musisz otworzyć biblioteki.. aruino-1.0 Plik MiconoWiiClassic WiiClassic.h w Notatniku i zmienić następujący wiersz:

// # zdefiniuj REPORT_ON_HOLD

do

#define REPORT_ON_HOLD

Jeśli tego nie zrobisz, zauważysz, że naciśnięcie przycisku D-pad będzie nadal przesuwać serwomechanizmy podczas przytrzymywania przycisku, podczas gdy serwomechanizm powinien przesuwać serwo o jeden krok na naciśnięcie. Ten błąd może również powodować dziwne zachowanie innych naciśnięć przycisków.

3) Jeśli podłączasz adapter WiiChuck do pinów analogowych 2,3,4 i 5, musisz skonfigurować 2 i 3 jako uziemienie i zasilanie, dodając następujące elementy do sekcji konfiguracji kodu (dzięki Phillipowi Jamesowi za złapanie tej ommision)

„pinMode (16, OUTPUT);” Ustawia cyfrowy 16 pin (analogowy 2) jako pin uziemienia

„digitalWrite (16, LOW);”

„pinMode (17, OUTPUT);” Ustawia cyfrowy pin 17 (analogowy 3) jako pin + 5V

„digitalWrite (17, HIGH);”

Gdy masz już tę bibliotekę, możesz także pobrać mój kod projektu i rozpakować go do głównego folderu Arduino, a następnym razem, gdy uruchomisz Arduino IDE, moje projekty pojawią się w folderze Sketchbook. Mój folder Arduino znajduje się w moim folderze dokumentów:

.. Dokumenty Arduino

Krok 5: Testuj rzeczy: Kontroler Wii Classic

Po podłączeniu części elektronicznych i wprowadzeniu kodu, nadszedł czas, aby rozpocząć testowanie i modyfikowanie kodu, jeśli to konieczne. Zacznij od załadowania szkicu WiiClassicTestValues ​​ze swojego szkicownika (Plik> Szkicownik> WiiClassicTestValues). Przed załadowaniem go na swoją płytę, skompiluj ją, aby upewnić się, że poprawnie zainstalowałeś bibliotekę WiiClassic.h (powinieneś być także w stanie zobaczyć ją na liście bibliotek (Szkic> Importuj bibliotekę). na twoją deskę.

Program przekazuje wartość każdego z twoich kijów na Wii Classic do monitora szeregowego, więc musisz otworzyć Monitor Seryjny (Narzędzia> Monitor szeregowy). Pozwól kontrolerowi pracować z pałeczkami w spoczynku, aby zobaczyć, jakie wartości znajdują się w środkowych pozycjach, a następnie metodycznie pchnij oba drążki do przodu przez kilka sekund, a następnie całą drogę w dół, a następnie całą drogę w lewo, a następnie całą drogę dobrze. Po wykonaniu tej czynności możesz wyłączyć automatyczne przewijanie w oknie monitora i skopiować wyniki do Notatnika i zapisać plik do dalszej analizy. Jesteś teraz gotowy, aby upewnić się, że kod kontrolera jest skalibrowany do kontrolera Wii Classic.

Krok 6: Załaduj kod sterownika obiektywu i dostosuj go do kontrolera Wii

Teraz możesz załadować kod kontrolera i upewnić się, że oczekiwane wartości kontrolera pasują do kontrolera Wii Classic. Zacznij od wczytania szkicu kontrolera z menu Plik> Szkicownik> focus_zoom_controller_final.

Po załadowaniu przewiń do wiersza 101 kodu, aby zobaczyć ustawienia wartości drążka kontrolera, pokazane poniżej:

// prawy drążek ma 1/2 rozdzielczości lewej - te wartości mogą się różnić od jednego

// kontroler do drugiego, więc musisz uruchomić program testowy, aby rozpoznać wartości

// każda pozycja drążka

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;

Sprawdź te wartości względem odczytanego z kontrolera i zmień dowolne wartości, jeśli to konieczne. Upewnij się, że zapisałeś zmiany.

Krok 7:

Czas przetestować kod za pomocą serwomechanizmów. W moim kodzie mam serwo Zoom dołączone do pinu 9 Arduino, a serwo Focus dołączone do pinu 10. Możesz łatwo zmienić to w kodzie zmieniając liczby tutaj:

void setup () {

Serial.begin (9600); // skonfiguruj bibliotekę szeregową na 9600 bps

// podłącz serwomechanizmy i ustaw je w pozycji początkowej, aby zamontować serwomechanizmy na obiektywie

zoomServo.attach (9);

focusServo.attach (10);

Gdy to się skończy i twoje serwery zostaną podłączone, podłącz płytę do portu USB w komputerze i pobierz kod na płytę. Gdy skończy się pobieranie i uruchamianie, serwo Zoom przesunie się do 180 stopni, a serwo Focus zmieni się na 0. Możesz teraz zacząć grać za pomocą palców i przycisków, aby zobaczyć, co się dzieje, i możesz spróbować zaprogramować różne pozycje serwomechanizmu i ostrość stosunek. Niektóre przyciski mają wartości domyślne, ale można zaprogramować dowolny przycisk, naciskając przycisk, HOME, a następnie przycisk i program zapamiętają ustawienie, dopóki płyta nie zostanie zresetowana lub wyłączona.

Po upewnieniu się, że kontroler działa prawidłowo, aby poruszyć serwomechanizmem, możesz chwycić kamerę i obiektyw oraz ocenić, czy kierunek serwomechanizmu dla ruchów drążka jest prawidłowy. Przesunięcie prawego drążka do przodu powinno obrócić serwomechanizm w prawidłowym kierunku, aby powiększyć obiektyw, a pociągnięcie go z powrotem powinno zrobić odwrotnie. W tym samym czasie powinien przesunąć ostrość w kierunku, który jest potrzebny, aby utrzymać ostrość kamery, gdy zoom jest przesuwany. Mam ustawioną tak, że kiedy powiększam (pcham prawy drążek do przodu), muszę przesunąć drążek ostrości w prawo, aby poprawić ostrość, a kiedy pomniejszyć (pociągnąć prawy drążek do tyłu), muszę przesuń drążek ostrości w lewo, aby poprawić ostrość. To wydawało się najbardziej intuicyjnym układem.

Ustawiając serwomechanizmy obok aparatu i obiektywu w sposób, w jaki planujesz zamontować je na aparacie fotograficznym, możesz stwierdzić, czy poruszają się we właściwym kierunku, biorąc pod uwagę ruch obiektywu. Jeśli tego nie zrobią, w kodzie są instrukcje dotyczące zmiany kierunku ruchu serwomechanizmu w stosunku do każdego ruchu drążka. Mam plany na przyszłość włamania się do biblioteki Servo, aby było to łatwiejsze, ale na razie nie jest to tak łatwe, jak przełączanie przełącznika, ale nie jest to zbyt skomplikowane.

Krok 8: Zrób to razem dla prawdziwego testu

Tutaj jest naprawdę fajnie. Po upewnieniu się, że serwomechanizmy poruszają się we właściwym kierunku dla twojego aparatu, nie ma powodu, aby nie montować wszystkiego i zobaczyć, jak działa z aparatem i obiektywem. Możesz tworzyć obudowy i dodawać przełączniki, złącza zasilania i ładne światła, gdy wszystko działa zgodnie z twoją satysfakcją, ale tak naprawdę nie ma sensu tego robić, dopóki nie zobaczysz, czy twoja konfiguracja jest w stanie napędzać obiektyw w pożądany sposób. Zrobiłem to z kilkoma iteracjami mojego projektu, w tym z wersją steppera, która była kompletną katastrofą i spowodowała, że ​​zmieniłem kurs i przełączyłem się na serwomechanizmy. Chodzi o to, aby szybko zawieść, zanim wykonasz zbyt dużo pracy nad produktem końcowym, który wciąż wymaga ulepszeń.

Zacznij od zamontowania przekładni serwonapędu i kół zębatych obiektywu. Wszystko to jest całkiem proste, ale jeśli okaże się, że twój obiektyw się ślizga (tak jak mój), może pomóc wiedzieć, że możesz zwiększyć przyczepność czegokolwiek za pomocą gumowego podkładu, który łatwo odrywa się z tyłu taniego, cienka podkładka pod mysz. Te same rzeczy można również wykorzystać do tłumienia hałasu serwomechanizmów. Wzdłuż tych linii, dodanie pewnego smaru bezpiecznego dla plastiku do przekładni serwo może również pomóc zmniejszyć hałas serwomechanizmu.Użyłem smaru do kołowrotków, który jest oznaczony jako plastikowy i naprawdę wyciszył mój serwo zoomu.

Jeśli nie masz systemu kolejowego, musisz go zaprojektować, podążając za tym, co zrobiłem (pozwolę ci poprowadzić obraz) lub znaleźć jeszcze lepszy projekt w sieci. Mój sprzęt został szybko złożony do celów testowych i planuję zastąpić brukowaną konstrukcję czymś bardziej atrakcyjnym, sztywnym i łatwym do regulacji. Moje szyny są karbonowymi kijkami narciarskimi o średnicy 1/2 średnicy, które zaczepiłam z Goodwill za 4 USD (marka Goode nie jest zwężona, więc działały dobrze). Uchwyt szynowy wykonany jest z twardej plastikowej deski do cięcia o grubości 1/2 cala, którą przetnąłem na pas o szerokości 2-1 / 2 cala i długości 6 cali. Aby utworzyć „otwory” szynowe, poprowadziłem dwa rowki o głębokości 1/4 cala i średnicy 1/2 cala z bitem do skrzynki rdzeniowej zamontowanym w stole routera i prowadzonym przez małe ogrodzenie. Teraz chciałbym, żeby to wszystko było szersze, ale chciałem, żeby było to wąskie, abym mógł dostać się do drzwi baterii, nie zdejmując kamery z szyn. Następnie podcinam kawałek wzdłuż 2, montując na jednym końcu klocek dystansowy ze sklejki brzozowej bałtyckiej za pomocą kilku wkrętów do drewna, a następnie wywierciłem w nim kilka otworów o średnicy 1,4 cala, aby przymocować go do kamery i płytki szybkiego montażu Manfrotto.

Gdy masz już platformę kolejową, możesz zaprojektować kilka bloków montażowych serwomechanizmu, aby pasowały do ​​twoich szyn. Zrobiłem też z jakiegoś twardego plastikowego kawałka deski do krojenia, który poprowadziłem na moim stole routera. Wkręciłem jeden koniec razem z kilkoma małymi wkrętami do płyt kartonowo-gipsowych i wywierciłem całość 1,4 cala po drugiej stronie otworu szyny, aby przytrzymać śrubę karetki. Małe pokrętło pozwala mi zacisnąć blok montażowy, co zapewnia bardzo dobre dopasowanie do szyn. Po upewnieniu się, że wszystko jest w porządku, wywierciłem maleńkie otwory pilotażowe, aby pasowały do ​​śrub montażowych serwomechanizmu dostarczonych wraz z serwomechanizmami, i przymocowałem serwomechanizmy na miejscu. gdzie wywierasz nacisk podczas montażu zespołu serwo i bloku na szynach.

Krok 9: Uruchom test

Gdy kamera jest na swoim miejscu (i zamontowana na solidnym statywie), a serwomechanizmy zamontowane na szynach, nadszedł czas, aby wszystko podłączyć do uruchomienia próbnego. Nie zasilaj Arduino, ale z włączonymi zębatkami. Zamiast tego najpierw odchyl je od przekładni obiektywu, aby serwomechanizmy mogły się obracać bez poruszania obiektywu. Następnie możesz włączyć swoją deskę. Jeśli tego nie zrobisz, może się okazać, że serwo próbuje zmienić obiektyw poza swoje granice, a to nie jest dobre.

Zaprogramuj swój kontroler dla swojego obiektywu (te instrukcje są również w kodzie Arduino)

Po uruchomieniu płyty i zatrzymaniu serwomechanizmów, przesuń pierścień zoomu obiektywu w położenie maksymalne odpowiadające pozycji serwomechanizmu. Kiedy mój kontroler uruchomi się, serwomechanizm zoomu przesunie się do najszerszego położenia zoomu, więc wtedy poruszam obiektywem, zanim włączę serwo zoomu. Po przesunięciu obiektywu obracam serwomechanizm w pozycję, tak aby koło zębate napędzało tylko koło zębate obiektywu (w przypadku zbyt dużego nacisku na soczewkę, możesz spowodować jej przywieranie, a ruch nie będzie tak gładki). Następnie programuję to jako najszersze ustawienie zoomu, naciskając „Home”, a następnie „Left Shoulder” na kontrolerze Wii Classic. Następnie używam prawego drążka do powiększania, aż kamera osiągnie limit powiększenia i użyję padu, aby cofnąć się o stopień lub dwa. Następnie programuję tę maksymalną pozycję zoomu, naciskając „Home”, a następnie „Right Shoulder”, aby zaprogramować maksymalne ustawienie zoomu obiektywu.

Powtarzam podobną procedurę dla serwomechanizmu ogniskowania, ale programuję najbardziej prawe i lewe ustawienia ogniskowania serwomechanizmu za pomocą przycisków „W prawo Z” i „W lewo Z”.

Po ustawieniu tych limitów nadszedł czas, aby włączyć kamerę, wybrać temat i ustawić ostrość na najszersze i najbliższe ustawienia zoomu. Nie ma znaczenia, gdzie zaczynasz, ale zwykle przechodzę na maksymalny zoom (wystarczy nacisnąć prawy przycisk Ramię, aby automatycznie tam przejść). Następnie wykorzystuję lewy drążek i lewy prawy D-Pad, aby ustawić ostrość w prawo, a następnie naciśnij „Home”, a następnie „+”, aby ustawić ostrość dla Max Zoom. Następnie powiększ obiektyw do najszerszego zoomu, a następnie użyj lewego drążka i D-Pad, aby wybrać fokus na obiekcie. Gdy będzie dobrze, naciśnij „Home”, a następnie „-”, aby ustawić ostrość w pozycji Min Zoom (największa zmiana). Za każdym razem, gdy programujesz przyciski „-" lub „+", kod oblicza prawidłowy współczynnik, aby przesunąć ostrość podczas powiększania, aby zachować ostrość obiektu podczas powiększania. Możesz dostosować ostrość w dowolnym momencie, używając lewego drążka lub D-Pad, i dopóki nie przeprogramujesz przycisku „+” lub „-”, ostrość będzie zawsze poruszać się synchronicznie z ruchem zoomu, gdy używasz prawego trzymać się, aby powiększyć obiektyw. To jest magia mojego „urządzenia” (jak nazywa to moja żona).

Możesz także zaprogramować przyciski 4 (x, y, a, b) z dedykowanymi pozycjami Zoom / Focus. Wystarczy przesunąć zoom i ostrość do żądanej pozycji, a następnie nacisnąć „Home”, a następnie jeden z przycisków, aby zaprogramować go dla tej pozycji. Jeśli podczas programowania każdego z tych przycisków przesuniesz tylko serwo ostrości, możesz sprawić, że kontroler będzie działał jak fokus śledzenia z 4 wstępnie ustawionymi pozycjami ostrości, które w ogóle nie poruszają obiektywem zoomu.

Oto film prezentujący ten proces z kontrolerem zamontowanym na mojej kamerze GH2:

Krok 10: Zrób to

Kiedy skończysz grać i uczysz się i usatysfakcjonujesz, że twoja własna wersja mojego kontrolera będzie działać dla ciebie, nadszedł czas, aby wszystko stało się trwałe, ładne i łatwe do zamontowania i zdemontowania. Pozwolę ci obliczyć tę część na własną rękę (ale mam nadzieję, że podzielisz się ze mną swoimi wynikami). Mam kilka usprawnień, które należy wprowadzić w moim kontrolerze, zanim go sfinalizuję, więc pomyślałem, że podzielę się tutaj swoimi planami, abyś myślał w ten sam sposób.

Obudowy i mocowanie serwo

Po prostu nie mam jeszcze odpowiedniej obudowy, więc chętnie skorzystam z sugestii. Prawdopodobnie kupię mniejszy Arduino jak mini, dzięki czemu będę mógł zachować małe rzeczy, co otworzy moje opcje. Zamierzam też zamontować plastikowe mocowania serwomechanizmów z obrobionymi aluminiowymi mocowaniami, ponieważ wiem, jak dobrze to działa. Zamierzam także ulepszyć serwomechanizmy.

Zasilacz

W tej chwili mój kontroler wyłącza zasilanie USB, podłączając kabel USB do ładowarki iPoda. Mam jednak zapasową zewnętrzną baterię DVD o napięciu 9 V, która może być ładowana, gdy dostarcza zasilanie do kontrolera, i podoba mi się pomysł posiadania wyłącznie baterii, więc gdy już znajdę odpowiednią obudowę, podpiszę właściwą złącze do zewnętrznych styków na mojej płycie.

Wskaźniki LED

To byłoby miło (i bardzo łatwo dodać wskaźnik dla „trybu programu”, więc mam kilka diod LED, które zapalą się, gdy kontroler jest w trybie Program lub Run.

Łatwe cofanie serwomechanizmu

Jak już wcześniej wspomniałem, zmiana kierunku serwomechanizmu w stosunku do ruchów drążka jest nieco nudna, więc zacząłem hakować bibliotekę serwo Arduino, aby zaakceptować flagę kierunku serwomechanizmu.

Ustawienia pamięci dla obiektywu

Miło byłoby również nie przeprogramowywać ustawień limitów obiektywu za każdym razem, gdy kontroler przestanie działać, więc planuję dodać pamięć masową opartą na karcie SD dla każdego ustawienia obiektywu.

Krok 11: Opinie i działania następcze

Inny członek. Steve Dray wykonał świetną robotę, budując kilka swoich własnych wersji tego sprzętu i hojnie podzielił się swoimi schematami elektrycznymi i zdjęciami. Mam nadzieję, że to zainspiruje i pomoże innym w tworzeniu tego projektu, zwłaszcza że mam ograniczony czas na udzielanie odpowiedzi na pytania. Steve miał pewne problemy, które zdiagnozował jako słabe źródło zasilania, więc zbudował swój własny, regulowany zasilacz i uwzględnił w tym schemat. Udało mi się poradzić sobie z moją małą ładowarką do kostek ipod.

Dzięki Steve!