Arduino Lens Denetleyici - Wii Classic Denetleyici ile Senkronize Zum / Odak: 11 Adım (Resimlerle)

Arduino Lens Denetleyici - Wii Classic Denetleyici ile Senkronize Zum / Odak: 11 Adım (Resimlerle)

İçindekiler:

Anonim

Lumix GH2 Micro Four Thirds kamera sadece harika yüksek çözünürlüklü videolar çekmekle kalmıyor, aynı zamanda ucuz adaptörlerle bile ucuz ve genellikle çok kaliteli eski manuel lenslerle kullanabiliyorum. Kızımın dans stüdyosu için birçok performans videosu çekiyorum ve f3.5 Nikon 28-85mm zoom lens kullanıyorum çünkü iyi bir zoom aralığı ve zoom lens için hızlı bir diyafram açıklığı sağlıyor. Bu kurulumdaki sorun lensi manuel olarak yakınlaştırıp odaklamak zorunda kalmam ve çekim yaparken yakınlaştırmayı en aza indirmeye çalışmama rağmen, uygun çerçeveyi korumak ve dansçıların becerilerini göstermek için gerekli olan zamanlar var. Aşırı kamera titremesi olmadan (genellikle) manuel olarak yakınlaştırmayı öğrenmeyi başardım, ancak aynı zamanda manuel olarak da odaklandığım için, yakınlaştırdıktan veya uzaklaştırdıktan sonra odağı hızlı ve düzgün bir şekilde ayarlamak biraz zor oldu. Bu yetersizliğin üstesinden gelmek için, objektif düzgün bir şekilde yakınlaştırıp uzaklaştırırken, uygun odağı otomatik olarak koruyabilmenin kritik hedefi olan, fotoğraf makinem için (birçoğunun yaptığı) güçlü bir zoom ve odak denetleyicisi oluşturmaya karar verdim. Aylarca prototiplemeden sonra, bir Wii Classic kontrol cihazından girdi kabul eden ve lensi hareket ettirmek için 2 hobi servosu kullanan bir Arduino klonu kullanan harika bir çözüme ulaştım.Nihai ürünün toplam maliyeti 100 doların altındadır.

Sonunda uyguladığım tasarımın birçok gelişmiş özelliği var:

- 2 joystick sürekli değişken hızlı lens kontrolü sağlar. Sağ çubuğu ileri ve geri hareket ettirmek senkronize zoom ve odaklamayı kontrol eder ve sol çubuğu yana kontroller sadece odaklamayı hareket ettirir. Hız kontrolünün uygulanması ayrıca servo gürültüsünü kabul edilebilir seviyelere düşürmeye yardımcı olur.

- Wii Classic'ten anında programlanabilen, programlanabilir "zoom" odak / odak ayarları vardır ve sadece bir düğmeye basarak yakınlaştırmayı hareket ettirir ve odağı istenen konuma getirir (en geniş zoom için sağ omuz, sağ omuz) çoğu zoom için ve herhangi bir zoom / netleme konumu için a, b, x ve y).

- Servoların lensin yakınlaştırma ve odaklama konumlarının sınırlarını aşmaya çalışmadığından emin olmak için maksimum lens hareketi ayarları da programlanabilir.

- D-pad, kritik netleme / zoom için hassas ayarlamalar yapmak üzere tek dereceli zoom (yukarı ve aşağı ped) ve netleme (sol ve sağ ped) hareketleri sağlar.

İşte senkronize zum odağımın GH2'mde Nikon 28 - 85mm zum mercekle nasıl çalıştığını gösteren bir gösteri:

Bu ders belgesinde, Arduino kodu ve servoları ray tabanlı kamera donanımına monte etme talimatları da dahil olmak üzere, bu kontrol cihazının kendi versiyonunu nasıl oluşturacağınıza dair temel bilgileri anlatacağım. Teçhizatımı nasıl inşa ettiğimi söyleyeceğim, ancak bundan gerçekten memnun olmadığım için, bununla ilgili ayrıntılı adımlara girmeyeceğim ve teçhizatımın resimlerine dayanarak kendi çözümünüzü bulmanız için size bırakacağım. ve nasıl yaptığımla ilgili bazı notlar.

Bu benim Arduino ile bir şeyler yapmayı ilk denememdi, ancak bazı programlama deneyimim vardı, bu yüzden Arduino kodunun temellerini öğrenmek çok zor değildi. Bununla birlikte, bu projeyle mücadele etmek istiyorsanız ve bir Arduino kurma ve programlama konusunda henüz bilgi sahibi değilseniz, Arduino sitesinde, özellikle de Servo'dakiler için dersleri gözden geçirmenizi öneririm.

Gereçler:

Adım 1: Başlarken: Araçlar ve Malzemeler

Bu projenin elektronik parçalarını sadece bir miktar kablo sıyırıcı ve bir havya ile tamamlayabilirsiniz. Ancak servo montaj kollarını yapmak için, bir şerit testere ve bir matkap presine erişime yardımcı olur (bir el matkabı ile dikkatli bir şekilde çalışmak ikinciye duyulan ihtiyacı ortadan kaldırabilir). Ayrıca, plastik levhaları kesmek için bir tableaw ve ev yapımı kamera ray sistemimdeki rayları eşleştirmek için plastikteki olukları kesmek için 1/2 çaplı çekirdek kutu ucu ile masaya monte edilmiş bir yönlendirici kullandım.

İşte bu projeyi tamamlamak için ihtiyaç duyacağınız temel malzemelerin bir listesi, ancak lütfen bir şeyi satın almadan önce tüm talimatlardan yararlanın; böylece kendi ihtiyaçlarınızı karşılamak için ne satın alacağınızı anlayabilirsiniz.

- Arduino veya Arduino klonu (bir Seeeduino kullandım çünkü Arduiino'dan biraz daha ucuzdu ve aynı işlevselliği sağlıyordu).

- Wii Klasik Denetleyici. Benimki eBay'den 10 dolarlık bir kargo için aldım.

- Wiichuck Adapter (Wii Classic'inize takılan küçük bir devre kartı, böylece kabloyu kesmeniz gerekmez). Bunu FunGizmos'tan 4 dolara aldım:

- Naylon dişli ve bilyalı yataklı 2 standart büyüklükte hobi servosu. Naylon dişliler daha sessizdir ve bilyeli rulmanlar, daha sert zoom lenslerinin yükünü tutarken şaft için daha iyi destek sağlar. Yerel bir RC mağazasından 5 dolarlık bir miktar fazla servo aldım, ancak onları daha sessiz ve daha doğru olması gereken 360 derece dijital servolarla değiştiriyorum ve bunlar bana eBay'den 20 dolara mal oldu.

- Lensinizin zumuna ve odak halkalarına monte etmek için 2 adet lens dişlisi. EBay'de bulduğum esnek olanları her biri için 10 dolar kullandım ve daha iyi çözünürlük ve servolar için biraz daha mekanik avantaj sağlamak için kendi ara halkalarımı kullandım. Ayrıca iki katı kadar harcayabilir ve dahili ara parçaları olan lens dişli halkalarını elde edebilirsiniz ve bunlar eBay'de de mevcuttur. sadece "objektif dişlisinin odağı takip et" ifadesini arayın.

- 2 Objektif dişlilerini sürmek için servolara monte etmek üzere dişlileri sürün. Bunların 32p veya mod8 dişli dişlisi olması gerekir (bu lens dişlileri için standart aralıktır). Orijinal servo kumanda kollarına 4 dolarlık RC mahmuz dişlisi takıp kendi tahrik dişlilerimi şekillendirdim, ancak bu, herkesin sahip olmadığı bir mini torna üzerinde biraz çalışma gerektiriyordu. Servo monteli dişlileri Servo City'den birkaç dolar daha satın almak daha iyi bir seçenek olacaktır: http://www.servocity.com/html/32_pitch_hitec_servo_gears.html. Bunları sipariş ederken, bazı problemlerden tasarruf edersiniz; ayrıca, servolarınızı Arduino'nuza bağlamayı ve ihtiyaç duyulduğunda servoları değiştirmeyi kolaylaştırmak için bir çift erkek servo kablosu satın alırsınız.

- 1/2 inç kalın sac plastik veya 3/4 "kalın alüminyum servo montajları yapmak için. Eski bir plastik kesme tahtası kullandım, ancak yaparsanız, bunun daha sert ridgid cinsi olduğundan emin olun (diş açamamanız gerekir) Küçük resim ile hiç yüzey)) Yumuşak tür UHMW ve bu amaç için yeterince iyi makine olmayacak.

- Servo rakorları raylara sabitlemek için topuzlar ve uygun taşıma cıvataları.

Adım 2: Lensleriniz için Gears'ı ve Servoları Seçme

Servolarınızı veya dişlilerinizi satın almadan önce, servolar hakkında bazı şeyleri anlamanız gerekir. Servolar sınırlı bir hareket aralığına sahiptir (tipik olarak 180), bu nedenle lensinizi tüm zoom ve odaklama aralığı boyunca kontrol edebilmek istiyorsanız, lensinizin halka hareketine ve lensin çapına göre küçük bir hesaplama yapmanız gerekir. servonun kullanacağını ayarlayın. İçinde bulunduğum süreçten geçmenin en iyisi olduğunu düşünüyorum, böylece kendi sisteminizin ihtiyaçları için aynı yaklaşımı takip edebilirsiniz.

Lensimin odak ve zum halkaları uçtan uca yaklaşık 90 derece hareket etmekte ve ara parçalar ve mercek dişli ile servo tarafından tahrik edilen dişlinin toplam çapı 4.25 inçtir. Bu web sitesinden bir çevre hesap makinesi kullandım (http://math.about.com/library/blcirclecalculator.htm) 13.35 inçlik bir çevre elde etmek için kullandım. 90 derece 360 ​​derece 1/4 olduğundan, servomun yaklaşık 3.4 inçlik bir seyahat sağlaması gerektiğini hesaplayabilirim (13.35 / 4). Standart 180 derece servo kullandım, bu yüzden servo tahrik dişlilerimin çevresinin en az 6,8 inç olması gerektiğini biliyorum (180 derece 360'ın yarısıdır, bu yüzden servolarım sadece toplam çevrenin yarısı kadar olan bir hareket sağlayabilir.) servo sürücü dişliler). Çevre hesap makinesini tekrar kullanarak, en az 2,2 inç çapında dişlilere ihtiyacım olduğunu biliyorum. Aslında biraz daha küçük bir lens dişli kullandım, çünkü tam odaklama hareketine ihtiyacım yok ve odaklama konusunda daha hassas bir kontrol elde etmek istedim, çünkü bu benim için zoom yapmaktan daha önemli. Bu, akılda tutulması gereken bir başka husustur - sürüş dişli ve mercek dişli arasında 1: 1'e ne kadar yakınsanız, çözünürlük o kadar az olur. Örneğin, kurulumumda 1 derecelik bir servo adımı = 1/2 derece lens adımı, ancak tahrik dişi çapım lens dişlisine eşitse lens her servo derecesi için 1 derece hareket eder. Ayrıca 1: 2 sürücü: lens oranı için yaptığınız 1: 1 sürücü: lens oranı için daha fazla servo torkuna ihtiyacınız var.

Servo döndürme - Ayrıca tanıtabileceğiniz başka bir değişken olduğunu da bilmelisiniz. Servo kontrol kodum 180 derece dönen standart servolar için yazılmıştır, ancak 360 derece dönen ve kumanda cihazımın daha fazla hareket gerektiren lensleri kullanmasını sağlayacak bir çift dijital servo sipariş ettim. Düşük sürüş / mercek dişli oranlarını korurken çoğu merceğin işlenmesi için yeterli olması gereken 3 dönüşe kadar dönen servoları alabilirsiniz. Elbette, artan derece aralığını işlemek için kodda bazı küçük değişiklikler yapmanız gerekecek, ancak oldukça basit olmalı. Tam veya çok turlu servolar istiyorsanız, eBay'de "vinç servosu" aratın.

Adım 3: Arduino'nuzu hazırlayın (veya Klonlayın)

Arduino'nuz (veya eşdeğeri), Wiichuck konektörünüz, servolarınız ve potansiyel müşterileriniz ve Wii Classic denetleyiciniz olduğunda, bir şeyler bir araya getirmeye başlayıp kodu Arduino'nuza yüklemeye hazırsınız. Ana hat: Wiichuck konektörünü ve servo uçlarını bağlayın, böylece her şeyi birlikte test etmeye başlayabilirsiniz (bu adım biraz lehimleme gerektirir). Bir şeyleri bağladıktan sonra, Arduino IDE'yi bilgisayarınıza kurun, Arduino'nuzu takın ve ihtiyacınız olan kütüphaneleri ve örnekleri yüklemeye başlayın. Sonra eğlence başlıyor.

WiiChuck Adaptörünü Kablolama:

Yaptığımı yapmazsanız ve beraberindeki küçük 4 pin başlığını kaybederseniz, bu kısım oldukça kolaydır. Başlığı yerine sadece lehimleyin, ardından FunGizmos web sitesindeki resimde gösterildiği gibi Arduino'ya takın. Klasik denetleyicinizi bağlamak için, denetleyici fişindeki girintinin Wiichuck adaptöründeki "nc" ile aynı hizada olduğundan emin olun.

Servoların Kablolanması:

İlk başta bir motor kontrol panosu satın aldım çünkü bu projeyi ilk önce servolar yerine step motorlarla yapmaya çalıştım (çünkü onların daha yanlış anlaşıldıkları sanki daha sessiz olacağını düşündüm). Kart 2 hobi servo konektörüne sahipti, bu yüzden servolarımı bağlamak için herhangi bir lehim yapmak zorunda değildim. Ancak bu işlem onları basit bir şekilde kablolamak içindir: sadece her iki servo güç kablosunu (siyah negatif, kırmızı pozitif) bordunuzun topraklamasına ve VCC'sine bağlamanız yeterlidir. Seçebileceğiniz birkaç konumunuz var. Ardından bir servonun sinyal (sarı) tellerinden birini pim 9'a, diğeri pim 10'a bağlayın. Bunlar, servoya ne kadar uzağa döneceğini söylemek için gereken varsayılan pals genişliği modülasyonu çıkışlarını sağlayan varsayılan PWM pimleridir.

Kablolamayı tamamladığınızda, her şeyi birlikte bağlayabilir, Arduino'nuzu bilgisayarınıza USB kablosu ile bağlayabilir ve kod yüklemeye başlayabilirsiniz.

Adım 4: Tahtanızı Programlayın: Kütüphaneleri ve Kodumu Alın ve Oynamaya Başlayın

Objektif kontrolörüm için yazdığım kodu yüklemeden önce, Arduino IDE'yi bilgisayarınıza kurmanız ve ihtiyacınız olan kütüphaneleri yüklemeniz gerekir. Servo kontrol kütüphanesi Arduino IDE'ye eklenmiştir, dolayısıyla bunun için hiçbir şey yapmanıza gerek yoktur. Ancak, kodum Arduino oyun alanında bulunan ve kullanıcı tarafından sağlanan bir Wii Classic Denetleyici kitaplığı da kullanıyor.

Bunu kitaplığınıza eklemek için sayfadaki adımları uygulayabilir ya da eklediğim zip dosyasını indirebilir ve Arduino kitaplıkları klasörünüze açabilirsiniz. Benimki bu yolda:

.. Belgeler Arduino Arduino-1.0 kütüphaneleri

Libararies klasöründe MiconoWiiClassic adlı bir klasör oluşturdum ve "WiiClassic.h" dosyasını o klasöre kaydettim. Burada eklediğim MiconoWiiClassic.zip dosyasını Arduino-1.9 libraries klasörünüze açabilirsiniz.

GÜNCEL:

1) Bu Eğitilebilir bildirimi ilk kez yayınlamasından bu yana, servoların çözünürlüğünün nasıl iki katına çıkarılacağını belirledim; Bunu Arduino'nun kurduğu Servos kütüphanesini değiştirerek yaptım. Kütüphaneyi kendiniz ayarlayabilir veya Servo.zip dosyasını indirebilir ve Servo.cpp dosyasını.. Arduino arduino-1.0 libraries Servo klasörünüze çıkarabilir ve oradaki Servo.cpp dosyasının üzerine yazabilirsiniz. Dosyayı kendiniz düzeltmek istiyorsanız, dosyayı kitaplığınızdan Not Defteri'nde açabilir ve "180" in tüm örneklerini "360" ile değiştirebilirsiniz. Çizimimi bu güncellemeyi yapmadan önce indirdiyseniz, FocusController_gp.zip dosyasını tekrar indirmeli ve taslak klasörünüze çıkartmalısınız. Bu klasöre focus_zoom_controller_servo_final_2xresolution.ino ekleyecektir.

2) Dosyaları açtıktan sonra, kütüphanemin kodumla beklendiği gibi çalışabilmesi için WiiClassic.h dosyasındaki bir şeyi değiştirmeniz gerekir. WiiClassic.h kütüphanesi, kodunun sağlanması için uncomented olması gereken bir DEFINE_ON_HOLD özelliği içeriyor düğmeye basıldığında yalnızca bir kez rapor edilir. Bunu yorumlamak için.. arduino-1.0 libraries MiconoWiiClassic WiiClassic.h dosyasını Not Defteri'nde açmalı ve aşağıdaki satırı değiştirmelisiniz:

// # REPORT_ON_HOLD tanımla

için

#define REPORT_ON_HOLD

Bunu yapmazsanız, D-pad düğmesine basılmasının, düğmeyi tutarken servoları hareket ettirmeye devam edeceğini fark edeceksiniz, oysa servoyu yalnızca baskı başına bir adım hareket ettirmesi gerekir. Bu hata, diğer düğmeye basıldığında garip davranışlara da neden olabilir.

3) WiiChuck adaptörünü 2,3,4 ve 5 Analog pinlerine takıyorsanız, kodunuzun kurulum bölümüne aşağıdakileri ekleyerek 2 ve 3'ü toprak ve güç olarak yapılandırmanız gerekir (Phillip James sayesinde) bu umudunu yakalamak için)

"pinMode (16, ÇIKIŞ);" Dijital 16 pin'i (aka Analog 2) topraklama pimi olarak ayarlar

"digitalWrite (16, DÜŞÜK);"

"pinMode (17, OUTPUT);" Dijital 17 pin (Analog 3) + 5V pin olarak ayarlanır

"digitalWrite (17, HIGH);"

Bu kütüphaneyi yerleştirdikten sonra, proje kodumu indirebilir ve ana Arduino klasörünüze açabilirsiniz; Arduino IDE'yi bir sonraki başlatışınızda projelerim Sketchbook klasörünüzde gösterilecektir. Arduino klasörüm şu şekilde belgeler klasörümde:

.. Belgeler Arduino

Adım 5: Her şeyi Test Edin: Wii Classic Controller

Elektronik parçalar bağlı ve kodunuz açıkken, bir şeyleri test etmeye başlamanız ve gerekirse kodu düzeltmenin zamanı geldi. Sketchbook'unuzdan WiiClassicTestValues ​​taslağını yükleyerek başlayın (Dosya> Sketchbook> WiiClassicTestValues). Panonuza yüklemeden önce, WiiClassic.h kütüphanesini doğru yüklediğinizden emin olmak için derleyin (kütüphaneler listenizde de görebilmelisiniz (Sketch> Import Library). tahtanıza.

Program, Wii Classic'teki çubuklarınızın her birinin değerini Seri Monitöre çıkarır; bu nedenle Seri Monitör'ü (Araçlar> Seri Monitör) açmanız gerekir. Değerlerin merkezdeki pozisyonlarda ne olduğunu görmek için kontrolörün çubuklarla çalışmasını sağlayın, daha sonra sistematik olarak her iki çubuğu birkaç saniye boyunca ileri, sonra tamamen aşağı, sonra tamamen sola, ardından tamamen itin sağ. Bunu yaptıktan sonra, Autoscrolling'i monitör penceresinden kapatabilir ve sonuçları Not Defteri'ne kopyalayabilir ve dosyayı daha sonra incelenmek üzere saklayabilirsiniz. Artık denetleyici kodunun Wii Classic Denetleyicinize ayarlanmış olduğundan emin olmaya hazırsınız.

Adım 6: Lens Denetleyici Kodunu yükleyin ve Wii Denetleyiciniz için Ayarlayın

Artık denetleyici kodunu yükleyebilir ve beklenen denetleyici değerlerinin Wii Klasik Denetleyicinize uygun olduğundan emin olabilirsiniz. Denetleyici taslağımı File> Sketchbook> focus_zoom_controller_final konumundan yükleyerek başlayın.

Yüklendikten sonra, aşağıda gösterilen denetleyici çubuğu değerlerinin ayarlarını görmek için kodun 101. satırına gidin:

// sağ çubuk 1/2 solda çözünürlüğe sahiptir - bu değerler birden farklı olabilir

// denetleyiciden diğerine, bu nedenle, değerlerini ayırt etmek için bir test programı çalıştırmanız gerekir.

// her bir çubuk pozisyonu

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;

Bu değerleri kontrol cihazınızdan okunan değerlere karşı kontrol edin ve gereken değerleri değiştirin. Değişikliklerinizi kaydettiğinizden emin olun.

7. Adım:

Kodu servolarınızla test etmenin zamanı geldi. Kodumda Arduino'nun 9 numaralı iğneye Zoom servosu ve 10 numaralı iğneye Odak servosu var. Buradaki sayıları değiştirerek kodu kolayca değiştirebilirsiniz:

geçersiz kurulum () {

Serial.begin (9600); // 9600 b / s'de Seri kitaplığı ayarla

// servoları takın ve servoları lense monte etmek için başlangıç ​​konumlarına ayarlayın

zoomServo.attach (9);

focusServo.attach (10);

Bu yapıldıktan ve servolarınız bağlandıktan sonra, kartınızı bilgisayarınızın USB portuna takın ve kodu kartınıza indirin. İndirme ve önyükleme işlemi tamamlandığında, Yakınlaştırma servosu 180 dereceye, Odak servosu 0'a geçecektir. Artık ne olduğunu görmek için çubuk ve düğmelerle oynamaya başlayabilir ve çeşitli servo pozisyonlarını ve odağı programlamayı deneyebilirsiniz oranı. Düğmelerin bazıları varsayılan değerlere sahiptir, ancak, HOME düğmesine basarak herhangi bir düğmeyi programlayabilirsiniz, ardından düğme ve program, kart sıfırlanana veya kapanana kadar ayarı hatırlar.

Kumandaların servoları hareket ettirmek için doğru çalıştığından emin olduktan sonra, kameranızı ve merceğinizi yakalayabilir ve çubuk hareketleri için servo yönlerinin doğru olup olmadığını değerlendirebilirsiniz. Sağ çubuğu ileri doğru itmek, merceği yakınlaştırmak için servoyu doğru yöne döndürmeli ve geri çekerek tersini yapmalıdır. Aynı zamanda, zoom hareket ettirildiğinde fotoğraf makinesinin odak noktasını korumak için odağı gereken yönde hareket ettirmesi gerekir. Yakınlaştırdığımda (sağdaki çubuğu ileri itin), odağı düzeltmek için odaklama çubuğunu sağa doğru hareket ettirmek zorunda kaldım ve uzaklaştığımda (sağdaki çubuğu geri çekerek), odağı düzeltmek için odak çubuğunu sola doğru hareket ettirin. Bu en sezgisel düzenleme gibi görünüyordu.

Kameranızın ve merceğin yan tarafındaki servoları, kamera donanımına monte etmeyi planladığınız şekilde ayarlayarak, merceğinizin nasıl hareket ettiği göz önüne alındığında doğru yönde hareket edip etmediklerini söyleyebilirsiniz. Olmazlarsa, kodda her bir çubuk hareketine göre servo hareket yönünün nasıl değiştirileceğine ilişkin talimatlar vardır. Bunu kolaylaştırmak için Servo kütüphanesini kırmak için gelecekteki planlarım var, ancak şu an için bir anahtar çevirmek kadar kolay değil, aynı zamanda aşırı derecede karmaşık değil.

Adım 8: Gerçek Bir Test İçin Bir Araya Getirin

Burası gerçekten eğlenceli hale geliyor. Servoların kameranız için doğru yönde hareket ettiğinden memnun olduğunuzda, her şeyi kameranız ve mercekle nasıl çalıştığını görmek için monte etmemeniz için hiçbir neden yoktur. Her şey sizin memnuniyetinize göre çalıştığında muhafazalar yapabilir ve anahtarlar, güç konektörleri ve güzel ışıklar ekleyebilirsiniz, ancak kurulumunuzun merceğinizi istediğiniz gibi kullanıp kullanamayacağını görene kadar bunu yapmanın hiçbir anlamı yoktur. Bunu, tam bir felaket olan ve rotayı değiştirmeme ve servolara geçmeme neden olan adım tabanlı bir sürüm de dahil olmak üzere, projemin birkaç yinelemesinde yaptım. Fikir, hızlı bir şekilde başarısız olmaktır, ancak hala ince ayarlanması gereken son bir ürün üzerinde çok fazla çalışmadan önce.

Servo tahrik dişlilerini ve mercek dişlilerini monte ederek başlayın. Bunların hepsi oldukça basittir, ancak objektif dişlinizin hiç kaymadığını tespit ederseniz (madende olduğu gibi), kolayca arkasından kolayca sıyrılan kauçuk desteğe sahip herhangi bir şeyin tutuşunu artırabileceğinizi bilmek yardımcı olabilir, ince fare altlığı. Aynı şeyler, servolardan gelen gürültüyü azaltmak için de kullanılabilir. Bu hatlar boyunca, servo şanzımana plastik emniyetli yağ eklenmesi de servo gürültüsünü azaltmaya yardımcı olabilir.Plastik kasa olarak adlandırılan olta gres yağı kullandım ve zoom servo'umu gerçekten susturdu.

Eğer bir raylı sisteminiz yoksa, ne yaptığımı izleyerek (resmin sizi yönlendirmesine izin vereceğim) ya da web'de daha iyi bir tasarım bularak birini şekillendirmeniz gerekir. Teçhizatım test amacıyla hızlı bir şekilde bir araya getirildi ve Arnavut kaldırımlı tasarımını daha çekici, sert ve ayarlaması kolay bir şeyle değiştirmeyi planlıyorum. Raylarım, Goodwill'den 4 $ 'a oturttuğum 1/2 çaplı karbon kayak direkleri (Goode markası konik değil, bu yüzden iyi çalıştılar). Ray tutucusu, 6 "uzun şerit ile 2-1 / 2 inç genişliğinde kesilen 1/2" kalınlıkta sert plastik bir kesme tahtasından yapılmıştır. Ray "delikleri" oluşturmak için, yönlendirici tablasına monte edilmiş ve küçük bir çit tarafından yönlendirilen bir çekirdek kutu ucu ile 1/2 inç çapındaki iki adet 1/4 "derin oluk yönlendirdim. Keşke bu şeyi daha da büyütebilseydim, ama kamerayı raylardan sökmeden hala pil kapamaya ulaşabilmek için dar tutmak istedim. Daha sonra parçayı uzunlamasına 2 kesip, bazı ahşap vidalarla bir ucuna baltık huş kontrplakından bir ara parça bloğu monte ettim ve daha sonra kameraya ve Manfrotto hızlı çıkarma plakasına takmak için birkaç 1.4 "delik açtım.

Bir demiryolu teçhizatınız olduğunda, raylarınıza uyacak şekilde bazı servo montaj blokları düzenleyebilirsiniz. Ayrıca, benim yönlendirici masamda yönlendirdiğim bazı sert plastik kesme tahtası hurdalarından benimki yaptım. Bir ucunu bazı küçük alçıpan vidaları ile birlikte vidaladım ve bir taşıyıcı cıvata tutması için ray deliğinin diğer tarafına 1.4 "çapında bir delik açtım. Küçük bir topuz, mouting bloğunu raylara oldukça sıkı oturması için sıkmamı sağlıyor. Her şeyin yoluna girdiğinden emin olduktan sonra, servolarım ile birlikte verilen servo montaj vidalarını yerleştirmek için küçük pilot delikler açtım ve servoları yerlerine sabitledim.. Bu düzenleme ile servonun yalnızca ön kenara tutturulduğunu unutmayın, bu yüzden dikkatli olun. Servo ve blok grubunu rayların üzerine monte ederken basınç uygularsınız.

Adım 9: Test Çalıştırması Verin

Kamera yerinde (ve sağlam bir tripod üzerine monte edilmiş) ve raylara monte edilmiş servolarla, bir deneme çalışması için her şeyi bağlama zamanı. Arduino'yu vitesler takılıyken çalıştırmayın. Bunun yerine, ilk önce onları mercek dişliden uzağa çevirin, böylece servolar merceği hareket ettirmeden döndürebilir. Daha sonra tahtanızı açabilirsiniz. Bunu yapmazsanız, servonuzun lensi sınırlarının ötesine çevirmeye çalıştığını fark edebilirsiniz ve bu iyi değildir.

Denetleyicinizi lensiniz için programlayın (bu talimatlar ayrıca Arduino kodundadır)

Tahtanız açıldığında ve servoların hareketi durduktan sonra, objektif zum halkasını servo konumuna karşılık gelen maksimum ayarda olacak şekilde hareket ettirin. Kumanda cihazım başladığında zoom servo'm en geniş zoom konumuna hareket ediyor, bu yüzden zoom servosunu kullanmadan önce lensi hareket ettiriyorum. Merceği hareket ettirdikten sonra, servoyu pozisyonuna çeviriyorum, böylece tahrik dişlisi sadece mercek dişlisine geçiyor (mercek üzerine çok fazla baskı uygularsanız, yapışmasına neden olabilir ve hareketin pürüzsüzlüğünü alamazsınız). Daha sonra Wii Classic Controller'da "Home" ve ardından "Left Shoulder" tuşlarına basarak en geniş yakınlaştırma ayarı olarak programlarım. Daha sonra kamera yakınlaştırma sınırına ulaşana kadar yakınlaştırmak için sağ çubuğu kullanıyorum ve bir ya da iki derece geri gitmek için yastığı kullanın. Daha sonra lensin maksimum zoom ayarını programlamak için "Home" ve ardından "Right Shoulder" tuşlarına basarak bu maksimum zoom konumunu programlarım.

Odak servosu için benzer bir işlemi tekrar ediyorum, ancak "Sağ Z" ve "Sol Z" düğmelerini kullanarak en fazla ve en solda odak servo ayarlarını programladım.

Bu sınırlar belirlendikten sonra, kameranızı açma, konu seçme ve odağı en geniş ve en yakın zoom ayarları için ayarlama zamanı. Nereden başladığınız önemli değil, ancak genelde maksimum yakınlaştırmaya gidiyorum (otomatik olarak oraya gitmek için sadece sağ Omuz düğmesine basın). Daha sonra odağı sağa getirmek için sol çubuğu ve sol-sağ D-Pad'i kullanın, sonra odağı Max Zoom için ayarlamak için "Giriş" sonra "+" düğmesine basın. Bir sonraki adımda objektifinizi en geniş yakınlaştırmaya kadar uzaklaştırın ve konuya odaklanmak için sol çubuğu ve D-Pad'i kullanın. Odağı Min Zum (en geniş zum) konumuna getirmek için, bir kez iyi olduğunda, önce "Ev", ardından "-" tuşlarına basın. "-" veya "+" tuşlarını her programladığınızda, kod, konuyu yakınlaştırdıkça odakta tutmak için odağı hareket ettirmek için doğru oranı hesaplar. Sol çubuğu veya D-Pad'i kullanarak istediğiniz zaman odağı ince ayar yapabilirsiniz ve "+" veya "-" tuşunu yeniden programlayana kadar odak, sağı kullanırken her zaman yakınlaştırma hareketi ile senkronize hareket eder lensinizi yakınlaştırmak için Burası benim “kibirimin” sihrinin (karımın dediği gibi) olduğu yer.

Ayrıca, 4 (x, y, a, b) düğmelerini ayrı Zoom / Odak konumlarıyla programlayabilirsiniz. Yakınlaştırmayı hareket ettirin ve netleme yapmak istediğiniz konuma getirin, ardından "Giriş" e ve ardından bu konum için programlamak için düğmelerden birine basın. Bu düğmelerin her birini programlarken yalnızca odak servosunu hareket ettirirseniz, denetleyicinizin zoom lensini hiç hareket ettirmeyen 4 önceden ayarlanmış netleme konumu ile takip odağı gibi çalışmasını sağlayabilirsiniz.

İşte GH2 kamerama monte edilmiş kontrolörle bu işlemi gösteren bir video:

Adım 10: Sarın

Oyun oynamayı ve söylemeyi bırakıp kontrol cihazınızın kendi sürümünün sizin için çalışacağını kabul ettiğinizde, hepsini kalıcı, güzel ve montajı ve sökmesi kolay hale getirme zamanı. Bu kısmı kendi başınıza çözmenize izin vereceğim (ancak umarım sonuçlarınızı benimle paylaşırsınız). Sonlandırmadan önce kontrol cihazımda yapmam gereken birkaç adım var, bu yüzden sizi aynı çizgide düşünmeniz için planlarını burada paylaşacağımı düşündüm.

Muhafaza ve Daha İyi Servo Bağlantıları

Henüz doğru kasayı bulamadım, bu yüzden burada önerilerinizi memnuniyetle karşılarım. Muhtemelen bir mini gibi daha küçük bir Arduino alacağım, böylece işleri küçük tutabilirim ve bu da seçeneklerimi açacaktır. Ben de bu şeyin ne kadar iyi çalıştığını bildiğim için plastik servo montajlarını işlenmiş alüminyum montaj parçaları ile birleştireceğim. Ayrıca servoların kendilerini de yükselteceğim.

Güç kaynağı

Şu anda denetleyicim, USB kablosunu bir iPod şarj cihazına takarak USB gücünü kapatıyor. Ancak, denetleyiciye güç sağlarken şarj edilebilen yedek bir 9 voltluk harici DVD pilim var ve pilin yalnızca bir seçenek olması fikrini seviyorum, bu yüzden uygun bir kasa bulduğumda benim tahta üzerindeki dış poer pimleri konnektörü.

LED Göstergeleri

O iyi olurdu (ve "program modu" için bir gösterge eklemek çok kolay, bu nedenle kontrolör Program veya Çalıştırma modundayken yanacak bazı LED'ler var.

Kolay Servo Ters Çevirme

Daha önce de belirttiğim gibi, servo yönünü çubuk hareketlerine göre değiştirmek biraz can sıkıcıydı, bu yüzden Arduino servo kütüphanesini bir servo yön bayrağını kabul etmek için kırmaya çalıştım.

Lens Ayarları için Bellek

Ayrıca, kontrol düğmesi her kapatıldığında objektif sınır ayarlarının yeniden programlanmasının gerekmemesi de iyi olurdu, bu yüzden her bir objektif ayarı için SD kart tabanlı depolama eklemeyi planlıyorum.

Adım 11: Geribildirim ve Takip

Başka bir üye. Steve Dray, bu teçhizatın birkaç versiyonunu inşa etmek için harika bir iş çıkarmış ve kablo şemalarını ve resimlerini cömertçe paylaşmıştır. Umarım bu, özellikle soruları cevaplamak için sınırlı zamanım olduğundan, bu projeyi inşa etmeye çalışırken başkalarına ilham verir ve yardımcı olur. Steve, zayıf bir güç kaynağı olarak tanıdığı bazı problemler yaşıyordu, bu yüzden kendi düzenlenmiş tedarikini kurdu ve bunun için şemayı da dahil etti. Küçük küp ipod şarj cihazımla geçinmeyi başardım.

Steve teşekkürler!