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?
- Sonsuz bir döngü başlat: Robotun sürekli olarak çevresini kontrol etmesi gerekir.
while True:komutu bunun için harikadır. - 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(). - Karar ver: Bir
if/elseyapısı kullan.- Eğer
zemin_rengisiyah 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.
- Eğer
Gördüğünüz gibi, temel blokları birleştirerek robotunuza akıllı görevler yaptırmak tamamen size kalmış!

Leave a Reply