17 Ocak 2011

Canon makinalarınızı hackleyin / CHDK Kullanımı


Fotoğrafçılık başta olmak üzere çeşitli teknik konularda benden bilgi almak isteyenler oluyor. Her seferinde anlatmak yerine bunları yazmayı planlıyorum. Böylece daha geniş bir okuyucuya ulaşmış olur diye düşünüyorum. Bu yazıda Canon PowerShot fotoğraf makinelerin basit bir hack işlemiyle özelliklerinin arttırılabileceği ile ilgili bir yazıyı okuyabilirsiniz. Bu yazı diğer yazılardan farklı olarak biraz teknik içerikli. Konuyla ilgili olmayanlara çok birşey ifade etmeyebilir.

Fotoğraf makinası, cep telefonu gibi elektronik aletler donanımdan ve firmware denen gömülü yazılımlardan oluşuruz. Algılayıcı, lensler ve düğmelerinin nasıl çalışacağını konrol eden yazılım fabrikadan makinaya yüklü olarak gelir. Firmware yazılımı imalatçı tarafından güncellenir ve kullanıcıların yüklemesi için zaman zaman websitelerine konur. Fotoğraf makinalarında genelde firmware güncellemeleri pek sık yapılmazlar. Fotoğraf makinesinin yazılımsal işlevselliği bu verilen firmware yazılımı ile sınırlanmıştır. Bu yazıda örneğini vereceğim Canon S5 IS modelinin orijinal yazılımı ham (raw) modda fotoğraf çekmeye izin vermez. Aslında bu üzerinde firmware yazılımı tarafından kolaylıkla yapılacak bir özellik olsa bile Canon şirketi tarafından fotoğraf makinasının kullanıcısına açılmamıştır. Bu özelliği arıyorsanız daha profesyonel modeli satın almanız beklenir. Özellik yazılımsal olarak sınırlandırılmıştır. Bu bir arabada sis lambalarının olması ama onları açıp kapatacak bir anahtarın olmaması dolayısıyla normal yollardan kullanılamaması örneğine benzetilebilir.

Canon donanımın izin verdiği ama orijinal firmware yazılımında olmadığı için kullanılamayan özellikler CHDK (Canon Hack Development Kit) yazılımı sayesinde kullanılabilir hale gelebilir. CHDK makinanın mevcut yazılımını bozmadığı için garanti kapsamını bozmaz. iPhone daki jailbreak işleminden farklıdır. CHDK fotograf makinası açıldığında otomatik olarak SD Card dan yüklenir ve mevcut firmware yazılımına ek özellikler kazandırır.

Bu ek yazılım sayesinde elde edilen özellikler ham(raw) modda çekim yapma, deklanşör, ISO, diyafram gibi ayarlanamayan özelliklerin manual olarak ayarlanabilmesi, gelişmiş histogram, fazla ya da az ışığını grafiksel görüntülenmesi gibi ek özellikler kullanılabilir hale gelir. Mesela hareket algılaması sayesinde bir değişimde fotoğraf çekilmesi sağlanabilir. Bunu fotoğraf tuzağı (photo trap) ya da yıldırımların yakalanması gibi özellikler için kullanılabilir.

Benim CHDK içersinde en fazla ilgimi çeken bazı program bloklarının (BASIC scripting) kullanılmasıdır. Bu sayede belli aralıklarla fotoğraf çekilmesinin sağlanması ve zaman bağımlı (Time lapse) fotoğrafçılık için gerekli zamanlıyıca (intervelometer) a gerek yoktur.

Sahip olduğum Canon S5 IS modelinde zamanlamayı sağlayan ve belli aralıkla fotoğraf çekmeyi sağlayan zamanlayıcı (intervelometer) özelliği bulunmamaktadır. Uzun zamandır timelapse tarzında foto-film çekmek istediğimden eldeki imkanlar fotograf makinasını CHDK ile zenginleştirip bu özelliği kazandırıp bir deneme yapmak istedim. Bu yazılanlar sadece Canon marka makinelerde PowerShot serisinde belli sayıda modele uygulabilir. Canon bir fotoğraf makinesi almak için güzel bir neden bu programın kullanılabilir olmasıdır.

Firmware in bulunması:
Fotograf makinası Canon marka S5 IS model. http://mighty-hoernsche.de/ sitesinden CHDK yazılımın indirmek için baktığımda 101a ve 101b olmak üzere 2 yazılım olduğunu görüyorum. Makinenin firmware sürümü öğrenmek için birçok yol var. Ben bu linkten indirebileceğiniz CameraVersion uygulamasınını tercih ettim. Firmware versiyonu tüm çekilen fotoların exif bilgilerine ekleniyor. Benim S5 makinasıyla çekilmiş bir fotoğraf seçildiğinde aşağıdaki gibi bir ekranda benim makinanın versiyonunu 101 B olarak gösteriyor.



Bu program yardımıyla tüm exif verisinede bakmak da mümkün.

CHDK-Firmware extention un indirilmesi: http://mighty-hoernsche.de/ adresinde Canon modellerine ait firmware eklenti dosyaları bulunuyor. S5 için aşağıdaki gibi indirme ekranından gerekli dosyanın tam(full) versiyonu indirilebilir.



SD-Card biçimlendirme ve CHDK yüklenmesi:
Doğru firmware uzantısını zip dosyası olarak indirdikten sonra bunu fotoğraf makinasının SD Kartına kaydetmemiz gerekiyor. Öncelikle  kartı çıkarıp bir SD kart okuyucusuna takmak lazım. Firmware dosyasını karta yüklemeninde birçok yolu var. Çok uğraşmadan CardTricks programını indirip çalıştırmak yeterli. Bu sayfada CHDK nın kart üzerine yüklenmesi adım adım tarif ediliyor.



[1] Programda SD kart resmine basıp kart sürücünüzü seçiyorsunuz. [2] Format as FAT ile kartınızı formatlıyorsunuz. [3] Eğer her seferinde açılışta başlanması isteniyorsa "Make bootable" yapıyoruz. [4] CHDK -> Card a basarak karta yükleyebilirsiniz. Hepsi bu kadar. Kartı okuyucudan çıkartıp kilitli (lock) konumuna getiriliyor. Script SD kart kilitli değilse çalışmıyor. Nedeninini anlamadığım bir şekilde makina kilitli durumda SD karta yazabiliyor. Bir diğer konuda FAT32 formatlamasının 4GB nin üzerindeki kartlara uygulanaması. Yani CHDK nın kullanılması için 4GB ve altı bir SD kart kullanmanız gerekmektedir.


CHDK Çalıştırılması: Makinayı resim izleme (playback) modunda açın. CHDK kısayolu ekranın altında gösterilir. S5 için default tuş <ALT> tuşu.

Programcık (Script) lerin kullanılması: Tekrarlanan işler için küçük programlar yazılabilir ya da hazır yazılanlar kullanılabilir. Burada örnek programlar .bas uzantılı olarak bulunabilir. Interval uygulaması için olan program interval.bas uygulamasında a=toplam çekim b=dakika aralığı c=saniye aralığı olarak belirlenmiştir. Bunlar istenildiği gibi değiştirilir. Script i yüklemek için önce SD kart üzerinde bir [1] CHDK/SCRIPTS klasörü oluşturulur ve script buraya kaydedilir. [2] CHDK ana menüsünden Scripting parameters / load script from file seçilir ve gerekirse parametreler burada belirlenir. [3] Script i çalıştırmak için ALT modunda deklanşör (shutter) e basılır. Tekrar deklanşör e bastığınızda script durur. Script parametreleri ekrandan sağ/sol tuşları ile değiştirilebiliyor.

CHDK Tanıtım ekranı / CHDK ve makinın yazılım versiyonlarını gösteriyor. CHDK Ana ekranı / Makinanın kendi ayarlarının haricinde birçok kısıma buradan müdehale edilebiliyor.
Normal çekilen ekranda CHDK ek bilgiler gösterebiliyor. Mesela makinada normalde bir histogram mevcut değil. Ortadaki değerler alan derinliği ile ilgili bilgiler veriyor. Uzun yolculuklarda canınız sıkıldığında oynayabileceğiniz oyunlar bile CHDK içersine eklenmiş.
CHDK menüsüne girmek için kısayol seçilebiliyor. S5 modeli için default olarak ALT tuşu kullanılıyor. Bence CHDK nın en güçlü tarafı programcıkların (Script) kullanılması. BASIC ile yazılmış scriptleri yüklemek mümkün.
Script ler /SCRIPT klasörün içersinde ve .BAS uzantılı olarak görülebiliyor. Programlara parametreler tanımlanabiliyor.

Bu yazıda Canon PowerShot makinalara ek özellikler kazandırmak için CHDK programının kullanılmasını anlatmaya çalıştım. CHDK konusunda epeyce ingilizce kaynak var.

CHDK o kadar çok özellik kazandırıyor ki sanırım hiçbir yeni Canon makina tüm bu özelliklere sahip değildir. Bence bu CHDK'nın en güçlü tarafı programlama (scripting) özelliğinin olması. CHDK'yı başarılı olarak kurduktan sonra bir time-lapse film oluşturmayı planlıyorum.

En üstte örneğini gördüğünüz timelapse tekniğinde makinanın belli aralıkta fotograf çekmesi gerekmektedir. Bu normalde dışarıdan takılan intervelometre denen bir zamanlayıcıyla sağlanır. Script yüklemeyle yüklenen Ultra Intervalometre programı ile zamanlama herhangi harici bir cihaz kullanmadan sağlanabilir.Intervalometre parametreleri scritp ekranından girilebiliyor.

CHDK kullanarak çok yaratıcı fotoğraf teknikleri oluşturulabilir. Yaratıcı fotoğraf meraklılarının çok ilginç uygulamalar gerçekleştirebileceklerinden eminim. Deneyimlerinizi burada yorum olarak paylaşırsanız sevinirim.

Daha fazla bilgi için:

Sıkca sorulan sorular (FAQ) http://chdk.wikia.com/wiki/FAQ
Timelapse blog Hack Your PowerShot With CHDK
Intervalometer yükleme Install a CHDK Intervalometer on Your PowerShot

1 yorum:

  1. Hocam bendede sx30 var size soracağım soru CHDK yı yükledikten sonra raw olması fotoların kalitesinede etki ediyormu

    YanıtlaSil