Artık robotu kodla kontrol etmeyi öğreniyorsun! Sensörden motora, if-else'ten döngüye — her şey bir satır kodla başlar.
Robot düğmeyle kontrol edilemez — her koşulda bağımsız karar vermesi için programa ihtiyaç duyar.
"Robot engel görünce dursun" — akılda bir hedef.
if(mesafe<30) dur else ilerle — mantıksal adımlar.
Arduino / Python ile algoritma gerçek koda dönüşür.
Kod makine diline çevrilir (0 ve 1'lere).
Mikrodenetleyici kodu saniyede milyonlarca kez çalıştırır.
Her hareketi insan tuşlara basarak yönetir. Robot bağımsız karar veremez. Tehlikeli ortamlarda veya hız gerektiren durumlarda yetersizdir.
Robot kendi sensörlerini okur, algoritmasına göre karar verir ve harekete geçer. İnsan müdahalesine gerek kalmaz. Gerçek yapay zeka bu temelden başlar.
Her platform için farklı bir dil, ama hepsi aynı mantıkla çalışır.
Gömülü sistemlerin temel dili. Düşük bellek tüketimi, doğrudan donanım erişimi. Arduino IDE ile başlangıç için en popüler seçimdir. 8-bit ve 32-bit mikrodenetleyicilerde çalışır.
Raspberry Pi ve ROS (Robot Operating System) için ideal. Okunabilir sözdizimi, zengin kütüphaneler. Makine öğrenmesi ve görüntü işleme için tercih edilir.
FIRST Robotics Competition'ın resmi dilidir. Nesne yönelimli yapısı karmaşık robot yazılımlarını organize etmeyi kolaylaştırır. WPILib kütüphanesiyle kullanılır.
Blok tabanlı görsel programlama. Kod yazmaya başlamadan önce algoritma mantığını öğrenmek için harika. mBlock, MIT App Inventor ile robotları kontrol edebilirsin.
Endüstriyel robot sistemleri ve kontrol mühendisliğinde kullanılır. PID kontrolcü tasarımı, fizik simülasyonu ve veri analizi için güçlü araçlar sunar.
En düşük seviye programlama. Doğrudan CPU komutları veya FPGA üzerinde donanım tanımlaması. Ultra hızlı ve küçük bellek. Uzman geliştiriciler için.
Arduino, başlangıç için en uygun platformdur. USB ile bilgisayara bağlanır, C++ tabanlı kolay sözdizimi ile saniyeler içinde çalışır.
Program açıldığında yalnızca bir kez çalışır. Pin modlarını, seri haberleşmeyi ve başlangıç değerlerini burada ayarlarsın.
Program çalıştığı sürece sürekli tekrar eder. Sensör okuma, karar verme ve motor kontrolü hep burada gerçekleşir.
Sadece iki değer alır: HIGH (5V) veya LOW (0V). LED yakmak, motor yönü, buton okumak için kullanılır.
0–1023 arası değer okur (10-bit ADC). Potansiyometre, ışık sensörü, sıcaklık sensörü için kullanılır.
0–255 arası değer yazar. Motor hız kontrolü, LED parlaklığı, servo açısı için kullanılır.
Kodu değiştir, robotu simüle et, sonuçları anlık gör.
Bir pine tıkla → fonksiyonunu değiştir → setup() kodu otomatik oluşsun.
Serial.println() ile robot ne gönderir? Simüle et.
| Platform | Dil | Zorluk | Maliyet | Hız | Bellek | İdeal Kullanım |
|---|---|---|---|---|---|---|
| ⚡ Arduino Uno | C/C++ | Başlangıç | ~15$ | 16 MHz | 32 KB | Sensör, motor, LED projeleri |
| 🚀 Arduino Mega | C/C++ | Başlangıç | ~40$ | 16 MHz | 256 KB | Çok pinli büyük projeler |
| 🐍 Raspberry Pi 4 | Python/C | Orta | ~60$ | 1.5 GHz | 1-8 GB RAM | Görüntü işleme, ROS, AI |
| 🔷 ESP32 | C/MicroPython | Başlangıç | ~10$ | 240 MHz | 4 MB | WiFi/BT, IoT robot projeleri |
| 🧩 STM32 | C/C++ (HAL) | İleri | ~15$ | 72-480 MHz | 512KB-2MB | Endüstriyel, yüksek hızlı |
Lidar verisini Python ile işler, yol planı üretir, CAN-bus üzerinden motor kontrolü yapar.
Kinematik hesaplamalar C++ ile, PID kontrolcü MATLAB/Simulink'te tasarlanır, gerçek zamanlı çalışır.
Uçuş kontrolcüsü C ile yazılmış ArduPilot firmware üzerinde çalışır, 400 Hz döngüyle IMU okur.
Her bacak için ayrı yürüyüş algoritması, ROS2 topic'leriyle koordinasyon, 1kHz kontrol döngüsü.
Fabrika içi otonom taşıma. Java tabanlı planlama yazılımı + PLC ile gerçek zamanlı motor kontrolü.
Tıbbi mikro robotlar saniyede milyarlarca işlem yapan assembly kodu ile nanometre hassasiyette hareket eder.
Kodlama ve mikrodenetleyici temellerini ne kadar anladın?
1. Arduino'da setup() fonksiyonu ne zaman çalışır?
2. analogWrite(9, 255) komutu ne anlama gelir?
3. Arduino'da analog pin okumak için hangi fonksiyon kullanılır ve ne aralığında değer döndürür?
4. Görüntü işleme ve yapay zeka destekli robot projeleri için hangi platform daha uygundur?
5. delay(1000) komutu ne işe yarar?
6. Aşağıdaki Arduino kodu ne yapar?