Akvaryum için Gün Simülatörü Nasıl Yapabilirim?

Teşekkürler. 3 pcb ayrı ayrı 4 parça olacak. Sabah 1.pcb %1 dimer ke başlayacak

@koryokos Onun yerine hepsini tek led yapalım hepsini yavaş yavaş parlaklığı artıralım. peki kaç saat açık kalsın akşam direk kapansın mı? Saate bir %30 mu artsın? Sorularımı cevaplarsan ona göre kodlamayı ayarlarım.

Gönderdiği grafiğe göre her 1 saatte %20 artacak saat 12 ye kadar 12den sonra her 1 saatte %20 azalacak.

Tamamadır. Dershaneden gelince halederim. Saat 5 gibi dönerim yani.

Zaman çizelgesini resimdeki gibi düşünüyorum. Malzeme ne almalıyım.

1 Beğeni

Malzeme listesini söylersek;

1 Beğeni

Evet kodlamada tamamdır. RTC modülünün CLK_PIN = arduinonun 6. pinine,
DAT_PIN = 7.pine, RST_PIN = 8.pine vcc=vcc pinine ve GND pini arduinonun gnd pinine yerleştiriyoruz.
RTC modülünün kütüphane linki= https://github.com/chrisfryer78/ArduinoRTClibrary
İlk başta RTC modülünün tarih ve saat ayarlarını yapalım. Bu kodları yükleyin tabi kodu yüklemeden önce koddaki tarih ve saati falan güncelleyin ve serial monitörde gözüküp gözükmediğine bakın;

#include <virtuabotixRTC.h>     //Kütüphanemizi ekliyoruz

virtuabotixRTC myRTC(6, 7, 8);   //pin tanımlamaları
void setup()  {      
   Serial.begin(9600);

 //Bu kısımda saat ayarlamasını yapıyoruz
   myRTC.setDS1302Time(00, 53, 18, 4, 14, 1, 2021); //saniye, dakika, saat, haftanın günü, gün, ay, yıl
 }
void loop()  {  
 myRTC.updateTime();
 Serial.print(myRTC.dayofmonth);                                                                         
   Serial.print("/");                                                                                      
   Serial.print(myRTC.month);                                                                              
   Serial.print("/");                                                                                      
   Serial.print(myRTC.year);                                                                               
   Serial.print("  ");                                                                                     
   Serial.print(myRTC.hours);                                                                              
   Serial.print(":");                                                                                      
   Serial.print(myRTC.minutes);                                                                            
   Serial.print(":");                                                                                     
   Serial.println(myRTC.seconds); 
 delay(1000);
 }

Şimdi RTC modülünün tarihini ve saatini güncelledik şimdi şekildeki devreyi yapın. IRFZ44 mosfetine soğutucu bağlamayı unutmayın. RTC modülünü programda bulamadım yukarda hangi pini nereye bağlayacağınızı zaten söyledim. Led bağladığıma bakmayın siz kendi 12V’lik ledinizi bağlayacaksınız;

Şimdide kodları atalım;

#include <virtuabotixRTC.h>     //Kütüphanemizi ekliyoruz
#define ledPin 3
virtuabotixRTC myRTC(6, 7, 8);   //pin tanımlamaları
void setup()  {      
   Serial.begin(9600);
   pinMode(ledPin, OUTPUT);
 }

void loop() {
  myRTC.updateTime();
  int saat = myRTC.hours;
  
  if(saat==06)
  {
    analogWrite(ledPin, 36); // LED %14 acık
  }
  if(saat==7)
  {
    analogWrite(ledPin, 71); // LED %28 acık
  }
  if(saat==8)
  {
    analogWrite(ledPin, 107); // LED %42 acık
  }
  if(saat==9)
  {
    analogWrite(ledPin, 143); // LED %56 acık
  }
  if(saat==10)
  {
    analogWrite(ledPin, 179); // LED %70 acık
  }
  if(saat==11)
  {
    analogWrite(ledPin, 214); // LED %84 acık
  }
  if(saat==12)
  {
    analogWrite(ledPin, 255); // LED %100 acık
  }
  if(saat==13)
  {
    analogWrite(ledPin, 214); // LED %84 acık
  }
  if(saat==14)
  {
    analogWrite(ledPin, 179); // LED %70 acık
  }
  if(saat==15)
  {
    analogWrite(ledPin, 143); // LED %56 acık
  }
  if(saat==16)
  {
    analogWrite(ledPin, 107); // LED %42 acık
  }
  if(saat==17)
  {
    analogWrite(ledPin, 71); // LED %28 acık
  }
  if(saat==18)
  {
    analogWrite(ledPin, 36); // LED %14 acık
  }
  else
  {
    analogWrite(ledPin, 0); // LED %0 acık
  }
}

Kolay gelsin. Projende başarılar. :slightly_smiling_face:

Çok teşekkür ederim misafirlikteyim. Akşam denemeye çalışacağım.

Bu arada 12 v ledin yerine sanırım benim pcb leri bağlayacağım ama onlar 80v civarı.

Tüm ledleri paralel bağlamıyacak mısın? LEDleri 12v diye biliyordum. Kodda bi değişiklik olmayacak ama mosfet aramam lazım ledlerin tüm özelliklerini söylerseniz ona göre mosfet seçeceğim. :slightly_smiling_face:

Ledler seri olarak bağlı, ledlerin çoğu 1w bazıları 3w ayrı ayrı watt değerine ihtiyacınız var mı? Toplam W değerine ihtiyacınız var mı? Kullandığım led driverde 86V Teşekkürler…

Ledleri paralel bağlarsanız daha mantıklı olucaktır. ledlerin tanesi kaç volt?

Çoğu 1 w baZıları 3w paralelde ışık gücü kaybolabilir power led
resim

Tamam bunlar normal 3V’lik ledlerdir. Bence ya hepsini paralel bağla ya da 4 seri bağlayarak 12V led elde et bu 4lü gruplarıda paralel bağla 12v beslersin. Hem 12v adaptör bulunması kolay olur.

Bir deneyeceğim ama ledleri aldığım yer seri bağlamaşısın ve şed driver kullanmalısın demişti. Üst cevapta paylaştığım adaptörüde beraberinde almıştım.

Bu ledler çok ısınır galiba. Uygun olur mu bilmem. Dediğim şekilde 12V gruplar oluşturursan yaptığım devreyi ve kodları uygulayabilirsin.

Evet çok fazla ısınıyorlar. Bu sebepten aleminyum blok ve 3 fan kullanıyorum. Okuduğum forumlarda akım sınırlayıcı kullan diyorlar ama bilgim yok. Sizin dediğiniz gibi paralel gruplarıdeneyeceğim. 12 V değilde daha yüksek V için devre ve kod haxırlanabilir mi? Teşekkürler emeğinize sağlık.

IRFZ44n max 55V mosfete verebiliriz ama mosfetin sınırlarını aşmamamız gerekiyor çünkü ısınır. Aslında mosfetin değerinden daha yüksek gerilimle modülasyona sokmak mümkün ama çok karmaşık devreler gerektiriyor. Onun için 12V ye ledleri ayarlarsanız hem devre karmaşık olmaz hem mosfet sınırlarını aşmaz hem de beslemesi daha kolay olur. :slightly_smiling_face:

Aslında IRF540 da kullanabilirsiniz o 100V ye kadar destekliyor. Şemada bi değişiklik yok. Büyük ihtimalle IRF540 işinizi görebilir 80V için ikisinide alırsın duruma göre ayarlarsın.