Bir cümlelik özet
Bir robot; kontrol birimi, sensörler, aktüatörler, güç kaynağı, mekanik yapı ve yazılımın birlikte çalışmasıyla oluşur ve bu parçalar çevreyi algılayıp karar verip hareket etmesini sağlar.
Neden önemli?
Önceki modüllerde parçaları tek tek gördük. Arduino ile kod yazdık, sensörlerle mesafe ölçtük, LED yaktık. Ama bunlar ayrı ayrı çalışan denemelerdi. Bir robotu robot yapan şey, bu parçaların tek bir sistem olarak birbirine bağlanmasıdır.
Bir robotun içini "kutu içinde kablolar" gibi görmek yerine, her parçanın belli bir görevi olan bir takım gibi düşünmek işini kolaylaştırır. Bir parça bozulduğunda ya da robot beklenmedik davrandığında, hangi bölümü kontrol edeceğini bilirsin. Bu ders, sonraki tüm robotik derslerinin ortak haritasıdır.
Kısa tanım: Robot, çevresini algılayan, bir mantığa göre karar veren ve fiziksel dünyada hareket eden parçaların bir bütün olarak çalıştığı sistemdir.
Altı temel parça
Farklı robotlar farklı görünür; bir kol robotu ile paletli bir keşif robotu birbirine hiç benzemez. Fakat neredeyse hepsinde şu altı parça bulunur.
1. Kontrol birimi (beyin)
Kontrol birimi robotun beynidir. Sensörlerden gelen bilgiyi okur, yazılımdaki mantığa göre karar verir ve motorlara komut gönderir. Bizim derslerimizde bu beyin çoğunlukla bir Arduino kartıdır (micro:bit de olabilir).
Günlük örnek: Kontrol birimi, bir maçtaki hakem gibidir. Sahayı izler (sensörler), kurallara göre karar verir (yazılım) ve düdükle oyunculara ne yapacaklarını söyler (motorlara komut).
2. Sensörler (duyular)
Sensörler robotun duyularıdır. Sıcaklığı, mesafeyi, ışığı, çizgiyi veya eğimi ölçer ve bunları kontrol birimine sayısal bilgi olarak iletir. Robot dış dünyayı yalnızca sensörleri sayesinde "hisseder".
Günlük örnek: Karanlık bir odaya girdiğinde elini duvarda gezdirerek priz ararsın. Elin bir sensör gibi çalışır; topladığı bilgiyi beynine gönderir.
3. Aktüatörler ve motorlar (kaslar)
Aktüatör, elektrik enerjisini harekete çeviren parçadır. En çok kullanılanı motorlardır: tekerlekleri döndürür, bir kolu kaldırır ya da bir kapağı açar. Servo motorlar belli bir açıya döner; DC motorlar sürekli döner. Motorlar robotun kaslarıdır.
Günlük örnek: Beynin "kolumu kaldır" kararını verir; ama kaldırma işini kasların yapar. Motor da robotun kararını gerçek harekete dönüştürür.
4. Güç kaynağı (enerji)
Hiçbir parça enerjisiz çalışmaz. Güç kaynağı genellikle bir pil paketidir. Burada önemli bir kural var: motorlar, Arduino'nun tek başına verebileceğinden çok daha fazla akım çeker. Bu yüzden motorları doğrudan Arduino'nun pinine bağlamayız.
Bunun yerine bir motor sürücü (motor driver) kartı ve ayrı bir pil paketi kullanırız. Arduino sürücüye "ne kadar hızlı, hangi yöne" diye komut verir; sürücü ise gücü ayrı pilden alıp motora aktarır. İki güç kaynağının ortak toprağı (GND) birleştirilir ki aynı dili konuşabilsinler.
Günlük örnek: Bir vinç operatörü küçük bir kumandayla dev bir yükü kaldırır. Kumandanın kendi gücü azdır; ağır işi ayrı ve güçlü bir motor yapar. Arduino kumanda, motor sürücü + pil ise güçlü motordur.
5. Mekanik yapı (iskelet)
Mekanik yapı, tüm parçaları bir arada tutan gövdedir: şasi, tekerlekler, dişliler ve bağlantı elemanları. İyi bir iskelet olmadan en akıllı yazılım bile işe yaramaz; motor dönse de robot düzgün ilerlemez.
Burada iki kavram önemlidir:
- Tork: Bir motorun döndürme gücüdür. Yokuş çıkan ya da ağır yük taşıyan bir robot yüksek tork ister.
- Dişli oranı: Dişliler hızı ve torku değiştirir. Küçük dişliden büyük dişliye geçince robot yavaşlar ama güçlenir — tıpkı bisiklette dik yokuşta küçük vitese geçmek gibi.
Günlük örnek: Aynı motoru pürüzsüz bir tekerleğe takarsan zeminde kayar. Lastikli ve doğru dişlili bir tekerleğe takarsan tırmanır. Fark yazılımda değil, mekanik yapıdadır.
6. Yazılım (kişilik)
Yazılım, kontrol birimine ne yapacağını söyleyen koddur. Sensör verisini okur, karar mantığını çalıştırır ve motorlara komut yazar. Aynı donanım, farklı yazılımla bambaşka bir robot olur: aynı araca "çizgi izle" ya da "engelden kaç" yazılımı yükleyebilirsin.
Günlük örnek: İki kişiye aynı bisikleti versen biri yarışır, biri gezer. Bisiklet (donanım) aynıdır; davranışı belirleyen karardır (yazılım).
Parçalar birbirine nasıl bağlanır?
Bütün bu parçalar rastgele bağlanmaz. Bilgi belli bir yönde akar. Buna algıla–karar ver–hareket et döngüsü diyoruz ve bir sonraki dersin tamamı buna ayrılmış durumda.
Aşağıdaki metin blok şeması bilgi akışını gösterir:
[Güç kaynağı / Pil]
| |
v v
[Motor sürücü] [Arduino: Kontrol birimi]
^ ^ |
| | |
(güç) (veri) (komut)
| | |
| [Sensörler]|
| v
+----------> [Motorlar / Aktüatörler]
|
v
[Mekanik yapı: tekerlek, dişli, şasi]
Şemayı sözle özetleyelim:
- Güç kaynağı hem Arduino'yu hem motor sürücüyü besler (ortak GND).
- Sensörler ölçtüğü bilgiyi Arduino'ya veri olarak gönderir.
- Arduino, içindeki yazılıma göre karar verir.
- Arduino, motor sürücüye düşük güçlü komut yollar.
- Sürücü, pilden aldığı gücü motorlara aktarır.
- Motorlar mekanik yapıyı hareket ettirir; robot ilerler.
Örnek: Engelden kaçan robot (sözde kod)
Diyelim önünde mesafe sensörü olan tekerlekli bir robot var. Mantık şöyle işler:
Sürekli tekrarla:
mesafe = ön sensörü oku
Eğer mesafe < 15 santimetre ise
motorları durdur
sağ tekerleği kısa süre geri döndür (dön)
Değilse
iki motoru ileri çalıştır
Bu mantıkta her parçanın rolü görünüyor: sensör okur, yazılım karar verir, motorlar hareket eder.
Örnek: Aynı mantık Arduino (C++) ile
Aşağıdaki kısa kod, yukarıdaki sözde kodun basitleştirilmiş bir Arduino karşılığıdır. Motorlar bir sürücü kartına bağlıdır; kod yalnızca "yön" komutu verir.
void loop() {
int mesafe = mesafeOku(); // sensörden cm olarak oku
if (mesafe < 15) { // engel yakın mı?
dur(); // önce dur
saga_don(); // sonra yön değiştir
} else {
ileri(); // yol açıksa ilerle
}
}
Kodun biçimi değişse de mantık, sözde koddaki ile birebir aynıdır: algıla, karar ver, hareket et.
Mini uygulama
Bu uygulamada lehim veya güç gerekmez; amaç parçaları tanımaktır.
- Evdeki ya da sınıftaki oyuncak bir aracı (uzaktan kumandalı araba, robot süpürge, oyuncak vinç) seç.
- Bir kâğıda altı sütun çiz: kontrol birimi, sensör, aktüatör/motor, güç kaynağı, mekanik yapı, yazılım.
- Aracı incele ve her sütuna o parçanın karşılığını yaz. Göremediğin parça için tahmin yürüt ve "göremedim ama sanırım burada" diye not düş.
- Son olarak, kendi blok şemanı çiz: hangi parça hangi parçaya bilgi ya da güç gönderiyor? Okları çizerek göster.
Yanında bir yetişkin varsa, robot süpürgenin çarpınca neden geri döndüğünü birlikte konuşun: hangi sensör, hangi karar, hangi motor?
Sık yapılan hatalar
Motoru doğrudan Arduino pinine bağlamak
Motorlar yüksek akım çeker ve kontrol kartını bozabilir. Her zaman bir motor sürücü ve ayrı pil kullan.
Ortak toprağı (GND) unutmak
İki ayrı güç kaynağı kullanınca GND uçlarını birleştirmezsen sistem düzensiz çalışır ya da hiç çalışmaz. Ortak GND şarttır.
Mekanik yapıyı önemsememek
"Kod doğru ama robot ilerlemiyor" durumlarının çoğu yazılım değil mekanik kaynaklıdır: gevşek tekerlek, yanlış dişli, aşırı ağır şasi ya da yetersiz tork.
Sensör ile aktüatörü karıştırmak
Sensör bilgi toplar (giriş), aktüatör harekete çevirir (çıkış). Bir parçanın hangisi olduğunu, dünyayı mı okuduğuna yoksa dünyayı mı değiştirdiğine bakarak anlarsın.
Güvenlik notu
Hareket eden bir robot; sıkıştırabilir, düşebilir ya da bir şeye çarpabilir. Bu yüzden şu kurallara uy:
- Test için açık ve güvenli bir alan hazırla; masadan düşmeyi önlemek için kenarlardan uzak dur.
- Parmaklarını, saçını ve kabloları tekerleklerden ve dişlilerden uzak tut; dönen dişliler saç ve giysiyi kolayca kapar.
- Robotu ilk kez çalıştırırken düşük hızda dene, sonra hızı yavaşça artır.
- Her zaman motor sürücü ve ayrı, düşük gerilimli pil kullan; ortak GND'yi bağla.
- Asla şebeke (priz) elektriği kullanma. Motor, pil ve araç uygulamalarında bir yetişkin gözetimi olsun.
- Kesici alet, lehim veya sıcak yüzey gerektiren adımlar için mutlaka yetişkinden yardım iste.
Ders özeti
- Bir robot altı temel parçadan oluşur: kontrol birimi, sensörler, aktüatörler/motorlar, güç kaynağı, mekanik yapı ve yazılım.
- Kontrol birimi (Arduino) sensörleri okur, yazılıma göre karar verir ve motorlara komut gönderir.
- Motorlar yüksek akım çektiği için motor sürücü ve ayrı pil kullanılır; iki güç kaynağının ortak GND'si birleştirilir.
- Mekanik yapı; tork ve dişli oranı sayesinde robotun gerçekten ilerleyip yük taşımasını belirler.
- Aynı donanım, farklı yazılımla tamamen farklı bir robota dönüşebilir; bilgi algıla–karar ver–hareket et yönünde akar.
Kontrol soruları
- Bir robotun "beyni" hangi parçadır ve görevi nedir?
- Sensör ile aktüatör arasındaki temel fark nedir?
- Motorları neden doğrudan Arduino pinine bağlamayız? Bunun yerine ne kullanırız?
- İki ayrı güç kaynağı kullanırken neden ortak GND gerekir?
- Dişli oranını değiştirip küçük dişliden büyük dişliye geçtiğimizde robotun hızı ve gücü nasıl değişir?
Cevaplar
- Kontrol birimidir (bizim derslerde Arduino). Sensörlerden gelen bilgiyi okur, yazılıma göre karar verir ve motorlara komut gönderir.
- Sensör dünyadan bilgi toplar (giriş); aktüatör/motor ise kararı fiziksel harekete çevirir (çıkış).
- Motorlar yüksek akım çeker ve kontrol kartını bozabilir. Bunun yerine bir motor sürücü kartı ve ayrı pil paketi kullanırız.
- Ortak GND, iki güç kaynağının aynı referans noktasını paylaşmasını sağlar; olmazsa sinyaller güvenilir olmaz ve sistem düzgün çalışmaz.
- Robot yavaşlar ama güçlenir (tork artar) — dik yokuşta bisikletin küçük vitesine geçmek gibi.
Kaynak ve doğrulama notu
“Robotun Temel Parçaları” dersi için doğrulama odağı Altı temel parça ile 2. Sensörler (duyular) arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Robot davranışı yalnız kodla açıklanamaz; mekanik yapı, güç sistemi, sensör konumu ve zemin koşulları birlikte değerlendirilmelidir. Test sonuçları aynı parkurda birkaç tekrar yapılarak kaydedilmelidir.
Sonraki ders
Algılama–Karar–Hareket Döngüsü: Bu derste tanıdığımız parçaların bilgiyi nasıl bir döngü hâlinde işleyip robotu davranışa kavuşturduğunu adım adım kuracağız.