🚀 Robotik Projeler ve Yapım Rehberleri 📅 16 Ekim 2026

Işık Takip Eden Robot Yapımı ve Çalışma Mantığı

Arduino ve LDR ışık sensörleri ile ışık takip eden robot nasıl yapılır? Fototropizma mantığı, devre şeması, analog eşik değerleri ve C++ kodları.

Işık Takip Eden Robot Yapımı ve Çalışma Mantığı

Doğadaki pek çok canlı (örneğin ayçiçekleri veya güveler), yaşamlarını sürdürebilmek için ışık kaynağına doğru yönelirler. Biyolojide **"Fototropizma" (Işığa Yönelim)** olarak adlandırılan bu doğa harikası refleks, robotik dünyasında **Işık Takip Eden Robot (Light Follower Robot)** olarak modellenir. Bu robotlar, karanlık bir odada elinize aldığınız bir fenerin ışığını takip ederek peşinizden gelir; tıpkı uysal bir evcil hayvan gibi ışık nereye giderse oraya yönelir.

Bu kapsamlı rehberde; LDR (Foto Direnç) sensörlerinin analog çalışma prensibini, ışığın açısını tespit eden differansiyel bölücü mantığını, devre şemasını ve çalışan Arduino kodlarını adım adım inceliyoruz.

---

1. Sistemin Çalışma Mantığı: Işık Farkını Algılama

Robotun ön yüzüne, aralarında ışık geçirmeyen dikey küçük bir siperlik (örneğin siyah bir karton parça) bulunan **iki adet LDR sensörü (Sol LDR ve Sağ LDR)** yerleştirilir:

  • Işık kaynağı tam karşıdan geliyorsa: Her iki sensör de eşit miktarda aydınlanır. Robot düz ileri gider.
  • Feneri sol tarafa tuttuğunuzda: Dikey siperlik sağdaki sensörün üzerine gölge düşürür. Sol LDR yüksek ışık okurken sağ LDR düşük ışık okur.
  • Arduino bu iki analog okuma arasındaki matematiksel farkı hesaplar (`fark = solDeger - sagDeger`):
  • Sol sensör daha aydınlıksa robot sola döner.
  • Sağ sensör daha aydınlıksa robot sağa döner.
  • Ortam tamamen karanlıksa robot enerji tasarrufu için durur.
  • ---

    2. Gerekli Malzemeler Listesi

    | Malzeme | Adet | Açıklama |

    |---|---|---|

    | **Arduino Uno veya Nano** | 1 | Kontrol kartı |

    | **2WD Robot Şasisi ve 2 DC Motor** | 1 | Hareket mekanizması |

    | **L298N Motor Sürücü Modülü** | 1 | Motorları yöneten sürücü |

    | **2 Adet LDR (Foto Direnç)** | 2 | Işık şiddetini algılayan sensörler |

    | **2 Adet 10kΩ Direnç** | 2 | Gerilim bölücü devresi kurmak için |

    | **2x 18650 Li-ion Pil ve Yuvası** | 1 | 7.4V motor beslemesi |

    | **Breadboard ve Jumper Kablolar** | 1 | Devre kurulumu için |

    ---

    3. LDR Gerilim Bölücü Devre Şeması

    LDR tek başına bir dirençtir; voltaj üretmez. Arduino'nun analog pininin voltaj okuyabilmesi için her LDR'ye seri olarak bir **10kΩ direnç** bağlanarak gerilim bölücü (voltage divider) oluşturulur:

  • **5V Hattı:** LDR'nin bir bacağına bağlanır.
  • **A0 Pini (Sol):** Sol LDR ile 10k direncin birleştiği orta noktaya bağlanır.
  • **A1 Pini (Sağ):** Sağ LDR ile 10k direncin birleştiği orta noktaya bağlanır.
  • **10k Dirençlerin Diğer Bacakları:** Arduino GND hattına bağlanır.
  • ---

    4. Tam ve Çalışan Arduino C++ Kodları

    /*
     * RobotKodla.com - Biyomimetik Robotik
     * Proje: Işık Takip Eden Robot
     */
    
    const int solLdrPin = A0;
    const int sagLdrPin = A1;
    
    const int solIleri = 5;
    const int solGeri  = 6;
    const int sagIleri = 9;
    const int sagGeri  = 10;
    
    // Hassasiyet eşik değeri (İki sensör arasındaki tolere edilen fark)
    const int tolerans = 50; 
    const int karanlikSiniri = 200; // Ortam çok karanlıksa dur
    
    void setup() {
      pinMode(solIleri, OUTPUT);
      pinMode(solGeri,  OUTPUT);
      pinMode(sagIleri, OUTPUT);
      pinMode(sagGeri,  OUTPUT);
    
      Serial.begin(9600);
    }
    
    void loop() {
      int solIsik = analogRead(solLdrPin);
      int sagIsik = analogRead(sagLdrPin);
    
      // Ortam tamamen karanlıksa dur
      if (solIsik < karanlikSiniri && sagIsik < karanlikSiniri) {
        dur();
        return;
      }
    
      int fark = solIsik - sagIsik;
    
      if (abs(fark) <= tolerans) {
        // Işık iki sensörde de neredeyse eşit -> İLERİ GİT
        ileri();
      } else if (solIsik > sagIsik) {
        // Sol taraf daha parlak -> SOLA DÖN
        solaDon();
      } else {
        // Sağ taraf daha parlak -> SAĞA DÖN
        sagaDon();
      }
    
      delay(50);
    }
    
    void ileri() {
      digitalWrite(solIleri, HIGH);
      digitalWrite(solGeri, LOW);
      digitalWrite(sagIleri, HIGH);
      digitalWrite(sagGeri, LOW);
    }
    
    void solaDon() {
      digitalWrite(solIleri, LOW);
      digitalWrite(solGeri, HIGH);
      digitalWrite(sagIleri, HIGH);
      digitalWrite(sagGeri, LOW);
    }
    
    void sagaDon() {
      digitalWrite(solIleri, HIGH);
      digitalWrite(solGeri, LOW);
      digitalWrite(sagIleri, LOW);
      digitalWrite(sagGeri, HIGH);
    }
    
    void dur() {
      digitalWrite(solIleri, LOW);
      digitalWrite(solGeri, LOW);
      digitalWrite(sagIleri, LOW);
      digitalWrite(sagGeri, LOW);
    }

    ---

    5. Optik Siperlik İpucu: Neden Siperlik Şarttır?

    Eğer iki LDR'yi robotun üstüne yan yana açıkta koyarsanız, oda ışığı her iki sensörü de aynı anda aydınlatır ve robot fenerin nereden geldiğini ayırt edemez.

  • İki sensörün arasına 2-3 cm boyunda siyah opak bir plastik veya karton parça koyun.
  • Sensörlerin etrafına makaron (ısı ile daralan boru) takarak sensörlerin sadece ileriye odaklanmasını sağlayın. Bu sayede yön hassasiyeti %300 artacaktır!
  • ---

    6. Kapsamlı Sıkça Sorulan Sorular (SSS)

    Bu robotu tersine çevirip "Işıktan Kaçan Robot" yapabilir miyiz?

    Evet! Kodda sadece yön fonksiyonlarını tersine çevirerek (`solIsik > sagIsik` olduğunda sağa dön komutu vererek) robotu hamamböcekleri gibi ışıktan kaçıp karanlık köşelere saklanan bir robota dönüştürebilirsiniz.

    Güneş takip eden güneş panelleriyle aynı mantıkta mıdır?

    Birebir aynı mantıktır! Güneş takip eden panellerde (Solar Tracker) robot araba yerine paneli döndüren 2 adet servo motor kullanılır ve sistem güneş ışığının en dik geldiği açıyı bu diferansiyel LDR algoritmasıyla bulur.

    ---

    ---

    7. Biyomimetik Robotik: Ayçiçeklerinden Uzay Araçlarına

    Işık takip mekanizması (Fototropizma), sadece bir oyuncak robot projesi değil, çağımızın en kritik uzay ve enerji teknolojilerinin ilham kaynağıdır:

    1. **Güneş Enerjisi Santralleri (Solar Tracking):** Düz sabit güneş panelleri gün boyu güneşi dik açıyla alamaz. Bu diferansiyel ışık takip sistemiyle donatılmış 2 eksenli güneş takip kuleleri, güneşin gökyüzündeki rotasını milimetrik izleyerek %35 ila %45 arasında daha fazla elektrik enerjisi üretir.

    2. **Mars Keşif Araçları (Rovers):** Mars yüzeyindeki fırtınalarda tozlanan güneş panellerini güneşe doğru çevirerek hayatta kalma enerjisi toplamak için benzer fotodiyot algoritmaları kullanılır.

    3. **Kendi Kendini Şarj Eden Ev Robotları:** Robot süpürgelerin veya bahçe robotlarının pilleri bittiğinde odadaki şarj istasyonunun yaydığı ışık veya kızılötesi işaretçiyi takip ederek yuvalarına yanaşması bu temel mantıkla kodlanır.

    ---

    8. LDR Sensörlü Robotlarda Kalibrasyon ve Ortam Dengesi

  • Her odanın gün ışığı ve aydınlatma seviyesi farklıdır. Sisteminize bir potansiyometre ekleyerek kodda tanımlanan `tolerans` ve `karanlikSiniri` değerlerini odanın ışığına göre tornavidayla anında ayarlayabilirsiniz.
  • Sensörlerin önüne şeffaf renkli filtreler (örneğin sadece kırmızı veya yeşil jelatin) koyarak robotun sadece belirli renkteki ışık fenerlerini takip etmesini de sağlayabilirsiniz.
  • ---

    ---

    10. Işık Takip Eden Robotu Güneş Enerjisiyle Çalıştırma ve Ekoloji

    Robotun şasisi üzerine küçük bir **5V Güneş Paneli** yerleştirerek hibrit bir enerji sistemi kurabilirsiniz:

  • Robot fener ışığına veya pencereden gelen güneşe doğru hareket ettikçe güneş paneli daha dik ışık alır ve üzerindeki lityum pili şarj eder.
  • Bu sayede kendi enerjisini güneşi arayarak toplayan harika bir otonom ekolojik robot prototipi elde edebilirsiniz.
  • Proje, öğrencilere biyolojideki fototropizma kavramı ile mühendislikteki yenilenebilir enerji entegrasyonunu kusursuz bir şekilde öğretir.
  • ---

    Sonuç

    Işık takip eden robot, doğadaki biyolojik reflekslerin robotik kodlama ile nasıl taklit edilebileceğini gösteren harika bir eğitim projesidir. Diğer sensörlü otonom projeler için sitemizin [Projeler](/projeler) bölümünü ziyaret edin!