Arduino
OKUDUĞUNUZ KONU
Arduino Güneş Takip Sistemi Yapımı
57

Arduino Güneş Takip Sistemi Yapımı

Yazar : Eda Baysal19 Aralık 2015
Projeyi Satın Al
Projede kullanılan malzemeleri tek paket halinde satış sayfasıdır."Satın Almak İçin Yukarıda Butona Basınız"

Güneş takip sistemi , enerjiyi verimli kullanmak amacıyla tasarlanmış ve uzun yıllardır çeşitli geliştirmeler yapılarak güncelleniyor.Bu projeyi yabancı bir internet sitesinde gördüm ve çok hoşuma gitti özellikle mekanik bölümü kendileri yapmışlar çokta güzel olmuş.

Proje iki eksenli bir sistem 2 tane servo motor ile kontrol edilmekte , ilk servo motor alt kısımda yatay hareketi sağlarken diğer servo motor üst bölümde dikey hareketi sağlamaktadır.Pan sistemleri gibi çalışmaktadır.Ayrıca üst kısımda ldr için özel hazırlanmış artı şekinde yuva mevcut bu yuva güneş ışığının ayarlanmasını sağlamakta.

Projenin Temel Malzeme Listesi

  • Arduino UNO
  • 9g Servo Motor (2 Tane)
  • LDR (4 Tane)
  • 10K Ohm direnç (4 Tane)
  • Voltmetre Devresi
  • Lipo şarj cihazı ve Batarya (isteğe göre)
  • 3D Parçalar

İlk başta mekanik bölümü kurmanız lazım 3d yazıcı ile hazırladığımız parçaları civata ile birleştirip servo motorları yerleştirin.İşin mekanik kısmı biraz uğraştırıcı olabilir yapım aşamalarını resimlerden uygulayabilirsiniz.

Daha sonra parçaları birleştirmeye başlıyoruz.Farklı boylarda ve ebatlarda civata somun kullanılmış , tam olarak adetlerini bilmiyorum.Genellikle M3 kullanılmış.

Son aşama paneli yerleştireceğimiz 2. ekseni monte etmek burada düz bir şekilde monte ettiğinizde emin olun yoksa kasma yapabilir.

Son aşama elektronik ve panel yerleştirilmesi.Panel üzerinde kablo yoktur sizin lehimlemeniz gerekiyor.

Projenin devre şeması , arduino bağlantıları aşağıdaki gibidir.

gunespanelidevresema

Arduino Kodları

#include <Servo.h> //Servo kütüphanesi

// 180 horizontal MAX
Servo horizontal;
int servoh = 180;

int servohLimitHigh = 180;
int servohLimitLow = 65;
Servo vertical;
int servov = 45;

int servovLimitHigh = 80;
int servovLimitLow = 15;
// LDR pin connections
// name = analogpin;
int ldrlt = 0; //LDR sol üst
int ldrrt = 1; //LDR sağ üst
int ldrld = 2; //LDR sol alt
int ldrrd = 3; //LDR sağ alt

void setup()
{
Serial.begin(9600);
// servo connections
// name.attacht(pin);
horizontal.attach(9);
vertical.attach(10);
horizontal.write(180);
vertical.write(45);
delay(3000);
}

void loop()
{
int lt = analogRead(ldrlt); // sol üst
int rt = analogRead(ldrrt); // sağ üst
int ld = analogRead(ldrld); // sol alt
int rd = analogRead(ldrrd); // sağ alt

// int dtime = analogRead(4)/20;
// int tol = analogRead(5)/4;
int dtime = 10;
int tol = 50;

int avt = (lt + rt) / 2; // average value top
int avd = (ld + rd) / 2; // average value down
int avl = (lt + ld) / 2; // average value left
int avr = (rt + rd) / 2; // average value right

int dvert = avt - avd; // check the diffirence of up and down
int dhoriz = avl - avr;// check the diffirence og left and rigt


Serial.print(avt);
Serial.print(" ");
Serial.print(avd);
Serial.print(" ");
Serial.print(avl);
Serial.print(" ");
Serial.print(avr);
Serial.print(" ");
Serial.print(dtime);
Serial.print(" ");
Serial.print(tol);
Serial.println(" ");


if (-1*tol > dvert || dvert > tol)
{
if (avt > avd)
{
servov = ++servov;
if (servov > servovLimitHigh)
{
servov = servovLimitHigh;
}
}
else if (avt < avd)
{
servov= --servov;
if (servov < servovLimitLow) { servov = servovLimitLow; } } vertical.write(servov); } if (-1*tol > dhoriz || dhoriz > tol)
{
if (avl > avr)
{
servoh = --servoh;
if (servoh < servohLimitLow)
{
servoh = servohLimitLow;
}
}
else if (avl < avr) { servoh = ++servoh; if (servoh > servohLimitHigh)
{
servoh = servohLimitHigh;
}
}
else if (avl = avr)
{
// nothing
}
horizontal.write(servoh);
}
delay(dtime);

}

Kaynak : BrownDogGadgets

SİZCE NASIL OLMUŞ?
Beğendim
65%
İlginç
13%
Eh İşte
3%
Anlamadım
8%
Kötü
2%
Berbat
9%
YAZAR HAKKINDA
Eda Baysal
Bilgisayar mühendisiyim , gömülü sistemler ve IoT üzerinde çalışmalar yapmaktayım.Proje Hocam sitesini uzun zamandır takip ediyordum ve bu oluşumun içerisinde olmak istedim.Bu sitede yazılarımı paylaşıp sizlere yararlı olmak istiyorum
57 YORUMLAR
1 2
  • osman kotaman
    6 Aralık 2018 at 10:27

    iyi gunler

    okulda cocuk proje icin 40w 45×68 gunes panlei aldik ancak bunalrdan biri sabit olacak biri gunese gore hareketli olacak bu hareketli meknaizma icin gerekli malzemeler nelerdir ve nerden nasil satinalabiliriz

  • sezgin ozturk
    1 Ocak 2019 at 18:51

    3 D yazıcı parçalarını nerden bulabilirim ?

    • atakan aydoğan
      10 Nisan 2019 at 18:08

      3 boyutlu parçaları yerine 2 adet karton veya tahta kullanabilirsin

  • aabb
    26 Mart 2019 at 13:56

    baskı olarak alabilirsin

  • YÜSRA
    13 Nisan 2019 at 23:10

    Bordun tam fotoğrafını ekler misiniz lütfen .

  • Samet
    26 Eylül 2019 at 09:23

    Hocam merhabalar. 3d parçaların ölçülerini verirmisiniz acaba.

  • Mehmet Ali
    17 Ekim 2019 at 19:18

    Merhabalar, mekanik kısmını yaparken kullandığınız parçaların ölçülerini verir misiniz?

YORUM YAP