Robotik Projeleriniz İçin Python Kodlama Temelleri

Robotik Projeleriniz İçin Python Kodlama Temelleri

Sürükle-bırak bloklarıyla robotunuza harika hareketler yaptırdınız. Peki ya şimdi? Robotunuzun daha karmaşık görevler yapmasını, çevresine daha akıllı tepkiler vermesini istiyorsanız, bir sonraki adıma hazırsınız demektir: Metin tabanlı kodlama ve onun en popüler dillerinden biri olan Python!

Korkmayın, bu sadece blokları birleştirmek yerine komutları yazmak anlamına geliyor. Hadi, robotik projeleriniz için Python’un temel yapı taşlarını birlikte keşfedelim.

Python Nedir ve Robotikte Neden Önemlidir?

Python, okunması ve yazması kolay, İngilizceye oldukça benzeyen bir programlama dilidir. Blok kodlamada “5 adım ileri git” bloğunu kullanırken, Python’da ileri_git(5) gibi bir komut yazarsınız. Bu geçiş, size çok daha fazla esneklik ve güç kazandırır:

  • Hassas Kontrol: Motorun hızını %87’ye ayarlamak gibi çok daha detaylı komutlar verebilirsiniz.
  • Karmaşık Mantık: “Eğer sensör bir engel görürse ve batarya %20’den azsa, geri dön ve bir ses çıkar” gibi komplike senaryoları kolayca yazabilirsiniz.
  • Geniş Kütüphane Desteği: Python, robotik için yazılmış binlerce hazır kod paketine (kütüphane) sahiptir. Bu sayede bir kamerayı, sensörü veya motoru kontrol etmek çok daha kolay hale gelir.

Python’un Temel Yapı Taşları

Tıpkı LEGO parçaları gibi, Python’un da birleştirerek harika şeyler yapabileceğiniz temel yapıları vardır.

Değişkenler: Robotunuzun Hafızası

Değişkenler, bilgileri sakladığımız etiketli kutular gibidir. Robotunuzun hızını veya bir sensörden gelen veriyi saklamak için kullanılırlar.

# motor_hizi isminde bir değişken oluşturup içine 90 değerini koyalım
motor_hizi = 90

# mesafe isminde bir değişken oluşturup sensörden gelen değeri saklayalım
mesafe = 25 # cm cinsinden

Artık programın herhangi bir yerinde motor_hizi dediğimizde, Python bunun 90 olduğunu bilecektir.

Döngüler: Tekrarlayan Görevler İçin Komutlar

Bir görevi defalarca tekrarlatmak istediğinizde döngüleri kullanırız. Örneğin robotunuzun LED’ini 5 kez yakıp söndürmek için:

import time # Zamanlama komutları için bu kütüphaneyi ekliyoruz

for i in range(5): # Bu bloğun içindeki kodu 5 kez tekrarla
    print("LED yandı")
    # led_yak() # Gerçek bir robotta bu komut LED'i yakar
    time.sleep(1) # 1 saniye bekle
    print("LED söndü")
    # led_sondur() # Bu komut LED'i söndürür
    time.sleep(1) # 1 saniye bekle

Koşullu İfadeler: Karar Verme Zamanı

Robotunuzun çevresine göre karar vermesini sağlayan yapılardır. if (eğer), elif (değilse eğer) ve else (değilse) komutlarını kullanırız. Örneğin, robotun önünde bir engel olup olmadığını kontrol edelim:

mesafe = 15 # Sensörden 15 cm değeri geldiğini varsayalım

if mesafe < 20: # Eğer mesafe 20'den küçükse...
    print("Engel algılandı! Sağa dönülüyor.")
    # saga_don()
else: # Değilse (yani mesafe 20'den büyük veya eşitse)...
    print("Yol açık, ileri devam.")
    # ileri_git()

Fonksiyonlar: Kendi Komut Bloklarınızı Oluşturun

Fonksiyonlar, kendi özel komut bloklarınızı oluşturmak gibidir. Sürekli tekrar ettiğiniz bir kod parçasını bir fonksiyon içine alıp ona bir isim verebilirsiniz. Örneğin, robotunuza özel bir “dans” hareketi yaptıralım.

def dans_et(): # 'dans_et' isminde bir fonksiyon oluşturuyoruz
    print("Robot dans ediyor: sağa, sola, öne, arkaya!")
    # saga_don(hizli)
    # sola_don(hizli)
    # ileri_git(kisa)
    # geri_git(kisa)

# Artık robotumuzun dans etmesini istediğimizde tek yapmamız gereken:
dans_et()

# Bunu bir kutlamada 3 kez yapmasını isteyebiliriz!
for i in range(3):
    dans_et()

Basit Bir Robotik Proje Senaryosu: Çizgi İzleyen Robot

Bu temel yapıları birleştirelim. Çizgi izleyen bir robotun mantığını Python ile nasıl yazardık?

  1. Sonsuz bir döngü başlat: Robotun sürekli olarak çevresini kontrol etmesi gerekir. while True: komutu bunun için harikadır.
  2. Renk sensörünü oku: Döngünün içinde, renk sensöründen gelen veriyi bir değişkene kaydet. Mesela: zemin_rengi = renk_sensoru.oku().
  3. Karar ver: Bir if/else yapısı kullan.
    • Eğer zemin_rengi siyah ise, bu çizginin üzerinde olduğumuz anlamına gelir. ileri_git() komutunu çağır.
    • Değilse (yani zemin beyaz ise), çizgiden çıkmışız demektir. Çizgiyi bulmak için sola_don() gibi bir komut çağır.

Gördüğünüz gibi, temel blokları birleştirerek robotunuza akıllı görevler yaptırmak tamamen size kalmış!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *