"Enter"a basıp içeriğe geçin

Raspberry Pi ile Stop Motion

Bu yazıda “Pi kullanarak nasıl stop-motion yöntemi ile bir gif hazırlarız” sorunuza cevap vermeye çalışacağız. Ama önce Stop Motion kavramına bir değinelim.

Stop Motion Nedir?

Stop motion, durağan 3 boyutlu objeleri hareket edermiş gibi gösteren bir animasyon türüdür. Kuklalar veya oyun hamuru ile yapılmış modeller kullanılır. Stop motion tekniği; kamerayı objeye karşı ayarlayıp tek kare çekip sonra objeyi biraz hareket ettirip yeni bir kare çekmek ve bunu tekrarlayarak animasyonu tamamlamaktır. Çekilen tek kare resimleri ardı ardına dizip (her saniye için 15-24 kare) oynatılması ile hareket elde edilir. Sahneler montajlanarak film tamamlanır. Bu işlemlerin çoğu çizgi film tekniği ile aynıdır (diyor wikipedi).

Çeşitli Örnekler

Sanırım en bilindik örnekler 2000 yapımı Chicken Run dizisi ve 2014 yapımı Lego Filmi. Bunun dışında aşağıda ki gif örnekleri de stop motion yöntemi ile hayat bulmuş.

Neler Gerekiyor?

  • Raspberry Pi Kamerası
  • Erkek/Dişi Jumper Kablo
  • Push Button

Devre Kurulumu

Açıkçası bu işlem için fritzing devresi çizmeye gerek olmadığını düşünüyorum. Kameramızı Pi cihazımıza bağladıktan sonra Jumper kablolar aracılığı ile Push butonumuzun bir ayağını 6 numaralı GND pinine, bir ayağını ise 11 numaralı GPIO17 pinine bağlıyoruz. Hepsi bu.

Programlama Aşaması

Bir Python dosyası oluşturup ev dizinine sm.py ismi ile kaydedelim ve içerisine aşağıda ki kodları yazıp kaydedelim.

from picamera import PiCamera # Kameramızı kullanabilmek için gerekli modül.
from gpiozero import Button # Butonu algılamak için gerekli modül.

button = Button(17) # GPIO17 numaralı portu kullandığımız için 17 yazıyoruz.
camera = PiCamera() # Kamer modülünü kullanabilmek için bir değişkene atıyoruz.
#camera.rotation = 180 # Kamera açısını belirlemek için kullanıyoruz.

camera.start_preview() # Kamerayı başlatıyoruz.
frame = 1 # Resim dosyalarına sıralı isim vermek için kullanıyoruz.
while True:
    try:
        button.wait_for_press() # Butona basılıncaya kadar bekliyoruz.
        camera.capture('/home/pi/animation/img%03d.jpg' % frame) # Fotoğrafı çekip kaydediyoruz.
        print(frame, "Ok!")
        frame += 1
    except KeyboardInterrupt: # CTRL + C Gelirse...
        camera.stop_preview() # Kamerayı Kapatıp...
        break # Döngüyü bitiriyoruz...

Yukarıda kodları açıkladık, ayrıca açıklamaya gerek duymuyorum. Artık butona her bastığımızda bir görüntü kaydedilecek. Resimler ev dizini altında ki animation klasörüne kaydedildi. Programı durdurmak için CTRL + C diyerek durduruyoruz. Şimdi resimleri birleştirme vakti.

Resimleri birleştirip bir gif haline getirmek için pek çok yol var, ben online çeviricileri kullanmanızı öneririm.

GifMaker: https://gifmaker.me

Çektiğiniz resimleri buraya yükleyerek GIF haline getirebilirsiniz. İşte bu işlem bu kadar basit.

Not: Bunun için ille Pi ye ihtiyaç yok, ama pi ile bu işlemi rahatlıkla yapabilirsiniz. Yine legolar ile basit bir stand oluşturarak güzel bir mini stüdyo bile oluşturabilirsiniz.

Faydalı olması dileklerim ile, iyi çalışmalar.

İlk Yorum Sizden Gelsin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.