Arduino ile güneş takip sistemi yapımı (ldr sensörlü)

👤 Yazar: ozcan 📅 Tarih: 08.05.2026 23:35 👁️ Görüntüleme: 36

Arduino ile güneş takip sistemi yapacağız. Ldrlerin konumları önemli. A0 ve a1 deki ldrler yatay eksen kontrolü için A0 ve A3 de dikey eksen için takip yapmaya kullanılacaktır. Devreyi aşağıda şekilde kurabilirsiniz.

Arduino ile güneş takip sistemi

LDR Yerleşim Mantığı

Yatay Hareket: LDR 1 (Sol) ve LDR 2 (Sağ) arasındaki ışık farkına bakılır.

Dikey Hareket: LDR 1 (Alt-Sol) ve LDR 3 (Üst-Sol) arasındaki ışık farkına bakılır.

Ldrler arasına separatör eklemek hassasiyeti artırır. Kodumuz aşağıdadır.


#include <servo.h>

Servo dikeyServo;  // 1. Servo (270 Derece) - Pin 9
Servo yatayServo;  // 2. Servo (360 Derece) - Pin 10

// LDR Pin Tanımlamaları
const int ldr1 = A0; // Sol Alt (Referans noktan)
const int ldr2 = A1; // Sağ
const int ldr3 = A2; // Üst (LDR 1'in üstünde)

// Ayarlar
int dikeyPos = 45;    // Başlangıç dikey açısı (Türkiye için ideal başlangıç)
int tolerans = 25;    // Gereksiz titremeyi önlemek için hassasiyet eşiği
int hiz360 = 90;      // 360 derece servo durma noktası (Genellikle 90)

void setup() {
  dikeyServo.attach(9);
  yatayServo.attach(10);
  
  // Başlangıç pozisyonu
  dikeyServo.write(dikeyPos);
  yatayServo.write(hiz360); 
  
  Serial.begin(9600);
}

void loop() {
  int v1 = analogRead(ldr1); // Sol Alt
  int v2 = analogRead(ldr2); // Sağ
  int v3 = analogRead(ldr3); // Üst

  // --- YATAY HAREKET (1 ve 2 arasındaki fark) ---
  // Eğer Sağ (v2) daha çok ışık alıyorsa sağa dön
  if (abs(v1 - v2) > tolerans) {
    if (v1 > v2) {
      yatayServo.write(100); // Sola yavaş dönüş
    } else {
      yatayServo.write(80);  // Sağa yavaş dönüş
    }
  } else {
    yatayServo.write(hiz360); // Fark azsa dur
  }

  // --- DİKEY HAREKET (1 ve 3 arasındaki fark) ---
  // Eğer Üst (v3) daha çok ışık alıyorsa yukarı kalk
  if (abs(v1 - v3) > tolerans) {
    if (v3 > v1) {
      if (dikeyPos < 100) dikeyPos++; // Yukarı (Türkiye sınırlarına göre)
    } else {
      if (dikeyPos > 15) dikeyPos--;  // Aşağı
    }
    dikeyServo.write(dikeyPos);
  }

  delay(30); // Okuma stabilitesi için kısa bekleme
}

Mekanik Montaj İçin Kritik Notlar

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
Sayfa Başı
Yenidir CMS V0.1