Pengontrol Lensa Arduino - Zoom / Fokus Tersinkronisasi dengan Pengontrol Klasik Wii: 11 Langkah (dengan Gambar)

Pengontrol Lensa Arduino - Zoom / Fokus Tersinkronisasi dengan Pengontrol Klasik Wii: 11 Langkah (dengan Gambar)

Daftar Isi:

Anonim

Kamera Lumix GH2 Micro Four Thirds saya tidak hanya merekam video definisi tinggi yang fantastis, tetapi dengan adaptor yang murah saya dapat menggunakannya dengan lensa manual lama yang murah dan seringkali berkualitas sangat tinggi. Saya merekam banyak video kinerja untuk studio dansa putri saya, dan saya menggunakan lensa zoom 28-85mm f3.5 Nikon karena menyediakan rentang zoom yang baik dan aperture cepat untuk lensa zoom. Masalah dengan pengaturan ini adalah saya harus memperbesar dan memfokuskan lensa secara manual, dan meskipun saya mencoba untuk meminimalkan zoom saat memotret, ada kalanya sangat penting untuk menjaga pembingkaian yang tepat dan untuk memamerkan keterampilan para penari. Saya telah berhasil belajar melakukan zoom secara manual tanpa memperkenalkan jitter kamera yang berlebihan (biasanya), tetapi karena saya juga fokus secara manual, ini sedikit tugas untuk menyesuaikan fokus dengan cepat dan lancar setelah memperbesar atau memperkecil. Untuk mengatasi kekurangan ini, saya memutuskan untuk membangun zoom daya dan pengontrol fokus untuk kamera saya (yang telah dilakukan banyak orang lain), dengan tujuan kritis untuk dapat secara otomatis mempertahankan fokus yang tepat saat lensa memperbesar dan memperkecil masuk. Setelah berbulan-bulan prototyping saya tiba di solusi hebat yang menggunakan klon Arduino yang menerima input dari pengontrol Wii Classic, dan yang menggunakan 2 servos hobi untuk menggerakkan lensa.Total biaya produk akhir kurang dari $ 100.

Desain yang akhirnya saya implementasikan memiliki sejumlah fitur canggih:

- 2 joystick menyediakan kontrol lensa kecepatan variabel yang terus-menerus. Menggerakkan tongkat kanan ke depan dan ke belakang mengontrol zoom dan fokus yang disinkronkan, dan menggerakkan kendali tongkat kiri ke samping hanya fokus. Penerapan kontrol kecepatan juga membantu menjaga servo noise ke tingkat yang dapat diterima.

- Ada 6 pengaturan zoom / fokus "goto" yang dapat diprogram yang dapat diprogram dengan cepat dari Wii Classic, dan itu akan memindahkan zoom dan fokus ke posisi yang diinginkan hanya dengan menekan tombol (bahu kiri untuk zoom terluas, bahu kanan untuk sebagian besar zoom, dan a, b, x dan y untuk setiap posisi zoom / fokus).

- Pengaturan pergerakan lensa maksimum juga dapat diprogram dengan cepat untuk memastikan bahwa servos tidak mencoba untuk memutar melebihi batas zoom lensa dan posisi fokus.

- D-pad menyediakan gerakan zoom satu tingkat (bantalan atas dan bawah) dan fokus (bantalan kiri dan kanan) untuk membuat penyesuaian yang tepat untuk fokus / zoom kritis.

Berikut ini adalah demonstrasi bagaimana fokus sinkronisasi yang disinkronkan bekerja pada GH2 saya dengan lensa zoom Nikon 28 - 85mm:

Dalam instruksi ini saya akan membahas dasar-dasar cara membangun versi Anda sendiri dari pengontrol ini, termasuk kode Arduino dan instruksi untuk memasang servos ke rig kamera berbasis rel. Saya akan menyebutkan bagaimana saya membangun rig saya, tetapi karena saya tidak benar-benar senang dengan itu, saya tidak akan pergi ke langkah-langkah rinci tentang itu dan akan menyerahkan kepada Anda untuk mencari tahu solusi Anda sendiri berdasarkan gambar rig saya dan beberapa catatan tentang bagaimana saya membuatnya.

Ini adalah upaya pertama saya membangun sesuatu dengan Arduino, meskipun saya sudah memiliki pengalaman pemrograman sehingga tidak terlalu sulit bagi saya untuk mempelajari dasar-dasar kode Arduino. Namun, jika Anda ingin menangani proyek ini dan Anda belum terbiasa dengan pengaturan dan pemrograman Arduino, saya sarankan Anda membaca tutorial di situs Arduino, terutama yang untuk Servos.

Persediaan:

Langkah 1: Memulai: Alat dan Bahan

Anda dapat menyelesaikan elektronik untuk proyek ini hanya dengan beberapa penari telanjang kawat dan besi solder. Tetapi untuk membuat lengan pemasangan servo itu membantu untuk memiliki akses ke gergaji pita dan bor tekan (meskipun kerja hati-hati dengan bor tangan dapat meniadakan kebutuhan untuk yang terakhir). Saya juga menggunakan gergaji mesin untuk memotong lembaran plastik dan router yang dipasang di meja dengan bit inti berdiameter 1/2 untuk memotong alur di plastik agar sesuai dengan rel pada sistem rel kamera buatan saya.

Berikut adalah daftar persediaan utama yang Anda perlukan untuk menyelesaikan proyek ini, tetapi harap membaca seluruh instruksi sebelum membeli apa pun sehingga Anda akan mengerti apa yang harus dibeli untuk memenuhi kebutuhan Anda sendiri.

- Arduino atau klon Arduino (saya menggunakan Seeeduino karena itu sedikit lebih murah daripada Arduiino dan menyediakan fungsionalitas yang sama).

- Kontroler Klasik Wii. Saya membeli barang saya dari eBay dengan harga sekitar $ 10.

- Wiichuck Adapter (papan sirkuit kecil yang dihubungkan ke Wii Classic Anda sehingga Anda tidak perlu memotong kabel). Saya mendapatkan ini dari FunGizmos dengan harga $ 4:

- 2 servos hobi berukuran standar dengan roda gigi nilon dan bantalan bola. Roda gigi nilon lebih tenang dan bantalan bola memberikan dukungan yang lebih baik untuk poros saat menangani beban lensa zoom yang lebih kaku. Saya membeli beberapa surplus servos dari toko RC lokal seharga $ 5 masing-masing, tetapi saya menggantinya dengan 360 derajat servo digital yang seharusnya lebih tenang dan lebih akurat, dan harganya $ 20 masing-masing dari eBay.

- 2 gigi lensa untuk dipasang pada zoom lensa Anda dan cincin fokus. Saya menggunakan yang fleksibel yang saya temukan di eBay seharga $ 10 masing-masing, dan membuat cincin spacer saya sendiri untuk memberikan resolusi yang lebih baik dan sedikit lebih banyak keuntungan mekanis untuk servos. Anda juga dapat menghabiskan sekitar dua kali lipat dan mendapatkan cincin gear lensa yang memiliki spacer bawaan, dan ini juga tersedia di eBay. cukup cari "lensa gigi ikuti fokus".

- 2 Drive gear untuk memasang servos untuk menggerakkan gear lensa. Ini harus berupa pitch gigi 32p atau mod.8 (yang merupakan pitch standar untuk roda gigi lensa). Saya membuat sendiri drive hard disk saya dengan memasang $ 4 RC memacu gear ke lengan kendali servo yang asli, tetapi itu membutuhkan beberapa pekerjaan pada mesin bubut mini yang tidak semua orang miliki. Opsi yang lebih baik adalah membeli gigi yang dapat dipasang servo dari Servo City hanya dengan beberapa dolar lagi: http://www.servocity.com/html/32_pitch_hitec_servo_gears.html. Saat Anda memesannya, Anda akan menghemat beberapa masalah karena Anda juga membeli sepasang servo lead pria untuk memudahkan menghubungkan servos Anda ke Arduino dan menukar servos jika diperlukan.

- Plastik lembaran tebal 1/2 inchi atau aluminium tebal 3/4 "untuk membuat servo mount. Saya menggunakan talenan plastik bekas, tetapi jika Anda melakukannya, pastikan itu jenis ridgid yang lebih sulit (Anda seharusnya tidak dapat melekuk permukaan sama sekali dengan thumbnail Anda) Jenis yang lebih lembut adalah UHMW dan tidak akan cukup mesin untuk tujuan ini.

- kenop dan baut carriage yang cocok untuk menjepit dudukan servo ke rel.

Langkah 2: Memilih Gear dan Servos untuk Lensa Anda

Sebelum Anda membeli servos atau gir, Anda perlu memahami beberapa hal tentang servos. Servo memiliki jangkauan gerak terbatas (biasanya 180), jadi jika Anda ingin dapat mengontrol lensa Anda di seluruh zoom dan rentang fokusnya, Anda perlu melakukan sedikit perhitungan berdasarkan pergerakan cincin lensa dan diameter lensa. gigi yang akan dikendarai oleh servo. Saya pikir yang terbaik adalah melalui proses yang saya lalui, sehingga Anda dapat mengikuti pendekatan yang sama untuk kebutuhan sistem Anda sendiri.

Fokus dan cincin zoom lensa saya bergerak sekitar 90 derajat dari ujung ke ujung, dan dengan spacer dan lensa, diameter total gigi yang digerakkan oleh servo adalah 4,25 inci. Saya menggunakan kalkulator keliling dari situs web ini (http://math.about.com/library/blcirclecalculator.htm) untuk mendapatkan keliling 13,35 inci. Karena 90 derajat adalah 1/4 dari 360, saya dapat menghitung bahwa servo saya perlu menyediakan sekitar 3,4 inci perjalanan (13,35 / 4). Saya menggunakan servos standar 180 derajat, jadi saya tahu bahwa keliling roda gigi servo saya harus minimal 6,8 inci (180 derajat adalah setengah dari 360, jadi servos saya hanya akan dapat memberikan gerakan yang setengah dari total lingkar drive servo drive). Menggunakan kalkulator keliling lagi, saya tahu bahwa saya membutuhkan roda gigi yang berdiameter setidaknya 2,2 inci. Saya benar-benar menggunakan gigi lensa yang sedikit lebih kecil karena saya tidak memerlukan gerakan fokus penuh dan saya ingin memiliki kontrol fokus yang sedikit lebih baik karena itu lebih penting daripada zoom untuk saya. Ini adalah pertimbangan lain yang perlu diingat - semakin dekat Anda dengan 1: 1 antara drive gear dan gear lensa, semakin sedikit resolusi yang Anda miliki. Misalnya, dalam pengaturan saya langkah servo 1 derajat = langkah lensa 1/2 derajat, tetapi jika diameter gigi drive saya sama dengan gigi lensa, lensa akan bergerak 1 derajat untuk setiap derajat servo. Anda juga memerlukan lebih banyak torsi servo untuk drive 1: 1: rasio lensa yang Anda lakukan untuk drive 1: 2 rasio lensa.

Anda juga harus tahu bahwa ada variabel lain yang dapat Anda perkenalkan - rotasi servo. Kode kontrol servo saya ditulis untuk servos standar yang berputar 180 derajat, tetapi saya telah memesan sepasang servos digital yang berputar 360 derajat dan itu akan memungkinkan pengontrol saya untuk menangani lensa yang membutuhkan lebih banyak perjalanan. Anda bisa mendapatkan servo yang berputar hingga 3 putaran, yang seharusnya cukup untuk menangani sebagian besar lensa sambil mempertahankan rasio drive ke lensa yang rendah. Tentu saja Anda harus membuat beberapa perubahan kecil pada kode untuk menangani rentang derajat yang meningkat, tetapi harus cukup mudah. Jika Anda ingin putaran penuh atau multi-putaran servos, cari "winch servo" di eBay.

Langkah 3: Persiapkan Arduino Anda (atau Klon)

Setelah Anda memiliki Arduino Anda (atau yang setara), konektor Wiichuck Anda, servos dan lead Anda, dan pengontrol Wii Classic Anda, Anda siap untuk mulai menyusun berbagai hal dan memuat kode ke Arduino Anda. Inilah garis besarnya: kabel konektor Wiichuck dan servo lead sehingga Anda dapat mulai menguji semuanya bersama-sama (langkah itu membutuhkan penyolderan). Setelah Anda terhubung, atur Arduino IDE di komputer Anda, pasang Arduino Anda, dan mulai memuat perpustakaan dan contoh yang Anda butuhkan. Kemudian kesenangan dimulai.

Memasang Adaptor WiiChuck:

Bagian ini cukup mudah, jika Anda tidak melakukan apa yang saya lakukan dan kehilangan header 4 pin kecil yang menyertainya. Anda cukup menyolder tajuk di tempatnya, lalu tancapkan ke Arduino seperti yang diilustrasikan pada gambar di situs web FunGizmos. Untuk menyambungkan pengontrol Klasik Anda, pastikan lekukan pada steker pengontrol sejajar dengan "nc" pada adaptor Wiichuck.

Wiring the Servos:

Saya awalnya membeli papan pengontrol motor karena saya pertama kali mencoba membangun proyek ini dengan motor stepper daripada servos (karena saya pikir mereka akan menjadi lebih tenang, yang ternyata menjadi salah arah). Papan memiliki 2 konektor hobi servo, jadi saya tidak perlu melakukan solder untuk menghubungkan servos saya. Tetapi prosesnya adalah untuk menghubungkan mereka secara langsung: Anda cukup menghubungkan kabel listrik kedua servos (hitam negatif, merah positif) ke ground dan VCC papan Anda. Anda memiliki beberapa lokasi yang dapat Anda pilih. Kemudian sambungkan salah satu kabel sinyal (kuning) dari satu servo ke pin 9, dan yang lainnya ke pin 10. Ini adalah pin PWM default yang memberikan output modulasi lebar pulsa default yang diperlukan untuk memberi tahu servo seberapa jauh untuk mengubah.

Setelah selesai dengan kabel, Anda dapat menghubungkan semuanya bersama, menghubungkan Arduino ke komputer Anda melalui kabel USB, dan mulai memuat kode.

Langkah 4: Programkan Papan Anda: Dapatkan Perpustakaan dan Kode Saya dan Mulai Bermain

Sebelum Anda memuat kode yang saya tulis untuk pengontrol lensa saya, Anda perlu mengatur IDE Arduino di komputer Anda dan memuat perpustakaan yang Anda butuhkan. Pustaka kontrol Servo disertakan dengan Arduino IDE, jadi Anda tidak perlu melakukan apa pun untuk itu. Namun, kode saya juga menggunakan pustaka Wii Classic Controller yang disediakan pengguna yang tersedia di taman bermain Arduino.

Anda dapat mengikuti langkah-langkah pada halaman untuk menambahkan ini ke perpustakaan Anda, atau cukup unduh file zip yang telah saya lampirkan dan unzip ke folder perpustakaan Arduino Anda. Milik saya ada di jalur ini:

.. Documents Arduino arduino-1.0 libraries

Saya membuat folder bernama MiconoWiiClassic di folder libararies, dan menyimpan file "WiiClassic.h" di folder itu. Anda cukup mengekstrak file MiconoWiiClassic.zip yang telah saya sertakan di sini ke folder Arduino-1.9 libraries Anda.

PEMBARUAN:

1) Sejak pertama kali memposting Instruksi ini, saya telah menemukan cara menggandakan resolusi servos, yang membuatnya lebih halus dan lebih akurat. Saya melakukan ini dengan mengutak-atik perpustakaan Servos yang diinstal oleh Arduino. Anda dapat men-tweak perpustakaan sendiri, atau Anda dapat mengunduh file Servo.zip dan mengekstrak file Servo.cpp ke dalam.. Arduino arduino-1.0 libraries folder Servo dan menimpa file Servo.cpp yang ada di sana. Jika Anda ingin men-tweak file sendiri, Anda bisa membuka file dari library Anda di Notepad, dan ganti semua instance "180" dengan "360". Jika Anda mengunduh sketsa saya sebelum membuat pembaruan ini, Anda harus mengunduh ulang FocusController_gp.zip dan mengekstraknya ke folder sketsa Anda. Ini akan menambahkan focus_zoom_controller_servo_final_2xresolution.ino ke folder itu.

2) Setelah Anda unzip file, Anda perlu mengubah satu hal dalam file WiiClassic.h untuk membuat perpustakaan bekerja seperti yang diharapkan dengan kode saya. Perpustakaan WiiClassic.h berisi fitur DEFINE_ON_HOLD yang harus dibatalkan komentar untuk memastikan bahwa penekanan tombol dilaporkan hanya sekali. Untuk membatalkan komentar ini, Anda harus membuka file.. arduino-1.0 libraries MiconoWiiClassic WiiClassic.h di Notepad dan ubah baris berikut:

// # define REPORT_ON_HOLD

untuk

#define REPORT_ON_HOLD

Jika Anda tidak melakukan ini, Anda akan melihat bahwa menekan tombol D-pad akan terus menggerakkan servos saat Anda menahan tombol, sedangkan itu hanya akan menggerakkan servo satu langkah per pers. Kesalahan ini juga dapat menyebabkan perilaku aneh dari penekanan tombol lainnya.

3) Jika Anda mencolokkan adaptor WiiChuck ke pin Analog 2,3,4 dan 5, Anda harus mengonfigurasi 2 dan 3 sebagai ground dan power, dengan menambahkan yang berikut ke bagian pengaturan kode Anda (terima kasih kepada Phillip James untuk menangkap ommision ini)

"pinMode (16, OUTPUT);" Tetapkan digital 16 pin (alias Analog 2) sebagai pin ground

"digitalWrite (16, LOW);"

"pinMode (17, OUTPUT);" Set digital 17 pin (alias Analog 3) sebagai pin + 5V

"digitalWrite (17, HIGH);"

Setelah Anda memiliki perpustakaan itu di tempat, Anda juga dapat mengunduh kode proyek saya dan unzip ke folder Arduino utama Anda, dan saat berikutnya Anda meluncurkan Arduino IDE, proyek saya akan muncul di folder Sketchbook Anda. Folder Arduino saya ada di folder dokumen saya, seperti ini:

.. Dokumen Arduino

Langkah 5: Uji Hal-hal: Kontroler Wii Klasik

Dengan komponen elektronik yang terhubung dan kode Anda di tempat, sekarang saatnya untuk mulai menguji berbagai hal dan mengubah kode, jika perlu. Mulailah dengan memuat sketsa WiiClassicTestValues ​​dari Sketchbook Anda (File> Sketchbook> WiiClassicTestValues). Sebelum memuatnya ke papan Anda, kompilasi untuk memastikan bahwa Anda telah menginstal perpustakaan WiiClassic.h dengan benar (Anda juga harus dapat melihatnya di daftar perpustakaan Anda (Sketsa> Impor Perpustakaan). Jika itu mengkompilasi dengan benar, muatlah ke papan Anda.

Program ini mengeluarkan nilai setiap tongkat Anda pada Wii Classic ke Serial Monitor, jadi Anda harus membuka Serial Monitor (Alat> Serial Monitor). Biarkan pengontrol berjalan dengan tongkat diam untuk melihat apa nilainya di posisi tengah, kemudian dorong kedua tongkat secara maju secara maju selama beberapa detik, lalu ke bawah, kemudian ke kiri, kemudian ke kiri kanan. Setelah selesai, Anda dapat mematikan Autoscrolling di jendela monitor dan menyalin hasilnya ke Notepad dan menyimpan file untuk ditinjau lebih lanjut. Anda sekarang siap untuk memastikan bahwa kode pengontrol dikalibrasi ke Pengontrol Wii Klasik Anda.

Langkah 6: Muat Kode Pengontrol Lensa dan Sesuaikan untuk Pengontrol Wii Anda

Sekarang Anda dapat memuat kode pengontrol dan memastikan bahwa nilai pengontrol yang diharapkan cocok dengan Pengontrol Wii Klasik Anda. Mulai dengan memuat sketsa pengontrol dari File> Sketchbook> focus_zoom_controller_final.

Setelah dimuat, gulir ke baris 101 dari kode untuk melihat pengaturan untuk nilai tongkat pengontrol, yang ditunjukkan di bawah ini:

// tongkat kanan memiliki 1/2 resolusi kiri - nilai-nilai ini dapat bervariasi dari satu

// controller ke yang lain, jadi Anda harus menjalankan program uji untuk melihat nilai-nilai

// setiap posisi tongkat

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;

Periksa nilai-nilai ini terhadap pembacaan dari controller Anda, dan ubah nilai apa pun yang diperlukan. Pastikan Anda menyimpan perubahan Anda.

Langkah 7:

Sudah waktunya untuk menguji kode dengan servos Anda. Dalam kode saya, saya memiliki servo Zoom terpasang ke pin 9 dari Arduino, dan servo fokus terpasang ke pin 10. Anda dapat dengan mudah mengubah itu dalam kode dengan mengubah angka di sini:

pengaturan batal () {

Serial.begin (9600); // mengatur perpustakaan Serial pada 9600 bps

// pasang servos dan atur ke posisi awal untuk memasang servos ke lensa

zoomServo.attach (9);

focusServo.attach (10);

Setelah selesai dan servos Anda terhubung, colokkan papan Anda ke port USB di komputer Anda dan unduh kode ke papan Anda. Setelah selesai mengunduh dan mem-boot, servo Zoom akan bergerak ke 180 derajat dan fokus Servo akan bergerak ke 0. Anda sekarang dapat mulai bermain dengan tongkat dan tombol untuk melihat apa yang terjadi, dan dapat mencoba memprogram berbagai posisi servo dan fokus perbandingan. Beberapa tombol memiliki nilai default, tetapi Anda dapat memprogram tombol apa saja dengan menekan, HOME, lalu tombol dan program akan mengingat pengaturan sampai papan disetel ulang atau dimatikan.

Setelah Anda puas bahwa pengontrol bekerja dengan benar untuk menggerakkan servos, Anda dapat mengambil kamera dan lensa Anda dan menilai apakah arah servo untuk gerakan tongkat benar. Mendorong tongkat kanan ke depan harus memutar servo ke arah yang benar untuk memperbesar lensa, dan menariknya kembali harus melakukan yang sebaliknya. Pada saat yang sama, kamera harus memindahkan fokus ke arah yang diperlukan untuk menjaga kamera tetap fokus saat zoom digerakkan. Saya telah memasang tambang sehingga ketika saya memperbesar (mendorong tongkat kanan ke depan), saya harus memindahkan tongkat fokus ke kanan untuk memperbaiki fokus, dan ketika saya memperkecil (menarik tongkat kanan kembali), saya harus pindahkan tongkat fokus ke kiri untuk memperbaiki fokus. Ini sepertinya pengaturan yang paling intuitif.

Dengan mengatur servos di sebelah kamera dan lensa sesuai rencana Anda untuk memasangnya di rig kamera, Anda dapat mengetahui apakah mereka bergerak ke arah yang benar mengingat cara pergerakan lensa Anda. Jika tidak, ada instruksi dalam kode tentang cara mengubah arah gerakan servo relatif terhadap setiap gerakan stick. Saya memiliki rencana di masa depan untuk meretas pustaka Servo agar lebih mudah, tetapi untuk saat ini tidak semudah membalik saklar, tetapi juga tidak terlalu rumit.

Langkah 8: Menyatukannya untuk Uji Nyata

Di sinilah itu benar-benar menyenangkan. Setelah Anda puas dengan servos yang bergerak ke arah yang benar untuk kamera Anda, benar-benar tidak ada alasan untuk tidak me-mount segala sesuatu dan melihat cara kerjanya dengan kamera dan lensa Anda. Anda dapat membuat penutup dan menambahkan sakelar, konektor daya, dan lampu cantik setelah semuanya bekerja untuk kepuasan Anda, tetapi tidak ada gunanya melakukan hal itu sampai Anda melihat apakah pengaturan Anda dapat menggerakkan lensa Anda seperti yang Anda inginkan. Saya melakukan ini dengan beberapa iterasi proyek saya, termasuk versi berbasis stepper yang merupakan bencana total dan menyebabkan saya mengubah arah dan beralih ke servos. Idenya adalah gagal dengan cepat, sebelum Anda melakukan terlalu banyak pekerjaan pada produk akhir yang masih perlu diubah.

Mulailah dengan memasang roda gigi servo drive dan roda gigi lensa. Ini semua sangat mudah, tetapi jika Anda menemukan bahwa gear lensa Anda tergelincir sama sekali (seperti milik saya), mungkin membantu untuk mengetahui bahwa Anda dapat meningkatkan cengkeraman apa pun dengan penahan karet yang mudah dikupas di belakang yang murah, mousepad tipis. Hal yang sama juga dapat digunakan untuk mematikan kebisingan dari servos. Sejalan dengan itu, menambahkan minyak yang aman dari plastik ke gearbox servo juga dapat membantu mengurangi kebisingan servo.Saya menggunakan grease reel memancing yang ditunjuk sebagai brankas plastik, dan benar-benar menenangkan servo zoom saya.

Jika Anda tidak memiliki sistem kereta api, Anda harus membuatnya dengan mengikuti apa yang saya lakukan (saya akan membiarkan gambar memandu Anda) atau menemukan desain yang lebih baik di web. Rig saya disatukan dengan cepat untuk tujuan pengujian, dan saya berencana untuk mengganti desain berbatu dengan sesuatu yang lebih menarik, kaku, dan mudah disesuaikan. Rel saya adalah tiang ski karbon berdiameter 1/2 yang saya ambil dari Goodwill sebesar $ 4 (merek Goode tidak meruncing, jadi mereka bekerja dengan baik untuk ini). Dudukan rel terbuat dari talenan plastik keras setebal 1/2 "yang saya gergaji menjadi lebar 2-1 / 2 inci dengan strip panjang 6". Untuk membuat "lubang" rel, saya menyalurkan dua alur berdiameter 1/4 "sedalam 1/2" dengan bit kotak inti yang dipasang di meja router dan dipandu oleh pagar kecil. Saya sekarang berharap saya telah membuat semuanya ini lebih luas, tetapi saya ingin membuatnya tetap sempit sehingga saya masih bisa sampai ke pintu baterai saya tanpa menurunkan kamera dari pagar. Saya kemudian memotong potongan menjadi 2 memanjang, memasang blok spacer kayu lapis birch baltik ke satu ujung dengan beberapa sekrup kayu, dan kemudian mengebor beberapa lubang 1,4 "di dalamnya untuk memasangnya ke kamera dan pelat rilis cepat Manfrotto.

Setelah Anda memiliki rig rel, Anda dapat membuat beberapa blok pemasangan servo agar sesuai dengan rails Anda. Saya juga membuat tambang dari beberapa potongan talenan plastik keras yang saya arahkan di atas meja router saya. Saya mengencangkan salah satu ujungnya bersama beberapa sekrup gipsum kecil, dan mengebor seluruh 1,4 "di sisi lain lubang rel untuk menahan baut kereta. Sebuah kenop kecil memungkinkan saya untuk mengencangkan blok mouting agar pas dengan pas di rel. Setelah saya yakin semuanya pas OK, saya mengebor lubang pilot kecil agar sesuai dengan sekrup pemasangan servo yang datang dengan servos saya, dan mengikat servos di tempatnya. Perhatikan bahwa dengan pengaturan ini servo hanya diikat di tepi depan, jadi hati-hati di mana Anda memberikan tekanan saat memasang servo dan memblokir perakitan pada rel.

Langkah 9: Lakukan Uji Coba

Dengan kamera terpasang (dan terpasang pada tripod yang kokoh) dan servos terpasang ke rel, sekarang saatnya untuk menghubungkan semuanya untuk uji coba. Jangan memberi daya pada Arduino dengan roda gigi yang digerakkan. Sebagai gantinya, pertama-tama ayunkan mereka dari roda lensa sehingga servo dapat berputar tanpa menggerakkan lensa. Anda kemudian dapat menyalakan papan Anda. Jika Anda tidak melakukan ini, Anda mungkin menemukan bahwa servo Anda mencoba mengubah lensa melampaui batasnya, dan itu tidak baik.

Program pengontrol Anda untuk lensa Anda (instruksi ini juga ada dalam kode Arduino)

Setelah papan Anda dinyalakan dan servo berhenti bergerak, gerakkan gelang zoom lensa ke posisi maksimum yang sesuai dengan posisi servo. Ketika pengontrol saya memulai servo zoom saya bergerak ke posisi zoom terluas, jadi di situlah saya memindahkan lensa sebelum saya menggunakan servo zoom. Setelah saya menggerakkan lensa, saya mengayunkan servo ke posisi sehingga drive gear hanya menggunakan gear lensa (jika terlalu banyak menekan lensa, Anda dapat menyebabkannya lengket dan Anda tidak akan mendapatkan gerakan yang mulus). Saya kemudian memprogram ini sebagai pengaturan zoom terluas dengan menekan "Home", lalu "Left Shoulder" pada Wii Classic Controller. Saya kemudian menggunakan stik yang tepat untuk memperbesar hingga kamera mencapai batas zoom-nya, dan menggunakan pad untuk mundur satu atau dua derajat. Saya kemudian memprogram posisi zoom maks ini dengan menekan "Rumah", lalu "Bahu Kanan" untuk memprogram pengaturan zoom maksimum lensa.

Saya ulangi prosedur serupa untuk servo fokus, tetapi memprogram pengaturan servo paling kanan dan paling kiri menggunakan tombol "Z kanan" dan "Z kiri".

Setelah batas-batas ini ditetapkan, saatnya untuk menyalakan kamera Anda, memilih subjek dan mengatur fokus untuk pengaturan zoom terluas dan terdekat. Tidak masalah dari mana Anda memulai, tetapi saya biasanya pergi zoom maks (cukup tekan tombol Bahu kanan untuk secara otomatis pergi ke sana). Saya kemudian menggunakan tongkat kiri dan D-Pad kiri-kanan untuk mendapatkan fokus yang benar, lalu tekan "Rumah" lalu "+" untuk mengatur fokus untuk Zoom Maks. Selanjutnya zoom lensa Anda sepenuhnya ke zoom terluas dan sekali lagi, gunakan tongkat kiri dan D-Pad untuk memanggil focu pada subjek Anda. Setelah baik, tekan "Rumah" lalu "-" untuk mengatur fokus pada posisi Min Zoom (zoom terluas). Setiap kali Anda memprogram tombol "-" atau "+", kode menghitung rasio yang benar untuk memindahkan fokus sambil memperbesar untuk menjaga subjek Anda dalam fokus saat Anda memperbesar. Anda dapat mengubah fokus kapan saja dengan menggunakan tongkat kiri atau D-Pad, dan hingga Anda memprogram ulang tombol "+" atau "-" fokus akan selalu bergerak dalam sinkronisasi dengan gerakan zoom saat Anda menggunakan kanan menempel untuk memperbesar lensa Anda. Di sinilah keajaiban "alat" saya (sebagaimana istri saya menyebutnya).

Anda juga dapat memprogram 4 tombol (x, y, a, b) dengan posisi Zoom / Fokus khusus. Cukup gerakkan zoom dan fokus ke posisi yang diinginkan, lalu tekan "Rumah", dan kemudian salah satu tombol untuk memprogramnya untuk posisi itu. Jika Anda hanya menggerakkan servo fokus saat memprogram masing-masing tombol ini, Anda dapat membuat pengontrol Anda berfungsi seperti tindak fokus dengan 4 posisi fokus prasetel yang sama sekali tidak menggerakkan lensa zoom.

Berikut adalah video yang menunjukkan proses ini dengan pengontrol yang terpasang pada kamera GH2 saya:

Langkah 10: Bungkus Ini

Ketika Anda selesai bermain dan bermain dan merasa puas bahwa versi Anda sendiri dari pengontrol saya akan bekerja untuk Anda, sekarang saatnya untuk menjadikan semuanya permanen, cantik, dan mudah dipasang dan dilepas. Saya akan membiarkan Anda mengetahui bagian itu sendiri (tetapi mudah-mudahan Anda akan membagikan hasil Anda dengan saya). Saya memiliki sejumlah penyesuaian untuk dilakukan pada pengontrol saya sebelum menyelesaikannya, jadi saya pikir saya akan membagikan rencana saya di sini untuk membuat Anda berpikir sepanjang jalur yang sama.

Kandang dan Mount Servo Lebih Baik

Saya hanya belum menemukan kandang yang tepat, jadi saya akan menyambut saran di sini. Saya mungkin akan membeli Arduino yang lebih kecil seperti mini sehingga saya bisa menjaga hal-hal kecil dan itu akan membuka opsi saya. Saya juga akan mengganti mount servo plastik dengan mount aluminium mesin sekarang saya tahu seberapa baik hal ini bekerja. Saya juga akan meng-upgrade servos sendiri.

Sumber Daya listrik

Saat ini pengontrol saya menjalankan daya USB dengan menghubungkan kabel USB saya ke pengisi daya iPod. Namun, saya memiliki baterai eksternal 9 volt DVD cadangan yang dapat diisi sementara itu memasok daya oleh controller, dan saya suka gagasan memiliki baterai hanya pilihan jadi setelah saya menemukan kandang yang cocok saya akan mentransfer yang tepat konektor ke pin poer eksternal di papan saya.

Indikator LED

Saya t akan lebih baik (dan sangat mudah untuk menambahkan indikator untuk "mode program", jadi saya memiliki beberapa LED yang akan menyala ketika controller dalam mode Program atau Run.

Pembalikan Servo Mudah

Seperti yang saya sebutkan sebelumnya, agak membosankan untuk mengubah arah servo relatif terhadap gerakan tongkat, jadi saya mulai bekerja meretas perpustakaan servo Arduino untuk menerima bendera arah servo.

Memori untuk Pengaturan Lensa

Akan lebih baik jika tidak harus memprogram ulang pengaturan batas lensa setiap kali kontrol tidak aktif, jadi saya berencana untuk menambahkan penyimpanan berbasis kartu SD untuk setiap pengaturan lensa.

Langkah 11: Umpan Balik dan Tindak Lanjut

Anggota lain. Steve Dray, telah melakukan pekerjaan luar biasa dalam membangun beberapa versinya sendiri dari rig ini, dan telah dengan murah hati membagikan diagram dan gambar kabelnya. Saya harap ini menginspirasi dan membantu orang lain yang mencoba membangun proyek ini, terutama karena saya punya waktu terbatas untuk menjawab pertanyaan. Steve mengalami beberapa masalah yang dia diagnosa sebagai catu daya yang buruk, jadi dia membangun suplai sendiri yang diatur, dan termasuk skema untuk itu juga. Saya sudah berhasil bertahan dengan charger ipod cube kecil saya.

Steve terima kasih!