Çözüldü Arduino zamanlayıcı olarak kullanma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

YusufYlmz

Hectopat
Katılım
12 Temmuz 2020
Mesajlar
237
Çözümler
1
Merhaba Arduino Leonardo hakkında birkaç sorum olacak. Öncelikle Arduino'ya bir DC motor takmam gerekiyor ve bu motorun gün içinde 50 dakika çalışıp 10 dakika durması gerekiyor. 24 saat boyunca böyle çalışmalı. Bunu nasıl yapabilirim?

Bir diğer sorum, Arduino'yu zaman ayarlı Switch olarak kullanabilir miyim? Yani tek yapması gereken zamanı geldiğinde düğmeye basacak, sonra bırakacak gibi.
 
Son düzenleme:
Çözüm
Vay be ben de son sınıfım elektrik veya bilgisayar istiyorum, kazanacağız inşallah.

Hayırlısı olsun hocam, inşallah.

Hocam, bu sefer kodu gerçekten hallettim galiba içime de sindi.

Kod'u yüklerken kodda değiştirmeniz gereken yerler var, oraları zaten yorum satırıyla belli ettim nereleri değiştirebilir nereleri değiştiremezsiniz kod üzerinde belirteceğim.

Kod saat 4-23 arası çalışıyor saat 00.00 olduğunda röleyi kapatıyor 4-23 arası boyunca 15dk çalışıp 5dk duracak şekilde yazdım fakat siz çalışma ve bekleme süresini ayarlayabileceksiniz.

Hatta çalışma saat aralığını da galiba ayarlanabilir yapabilirim.

Son düzeltmeleri yapayım kodu paylaşacağım.

C++:
#define ROLE 9 // röle pinini ayarlayabilirsiniz.

boolean role_tipi = 1; // eğer devre tersine çalışıyor ise değeri 0 yapın.

byte saat = 13; // saati ayarlayabilirsiniz (09 değil 9 şeklinde girin)

byte dakika = 7; // dakikayı ayarlayabilirsiniz (06 değil 6 şeklinde girin)

byte saniye; // ayarlamanıza gerek yok.

byte calisma = 15; // xdk çalışma süresi (dakika cinsinden yazınız) [MAKS DEĞER 255]
byte bekleme = 5; //xdk bekleme süresi (dakika cinsinden yazınız) [MAKS DEĞER 255]

byte baslangic = 4; // başlangıç saatini ayarlayabilirsiniz.
byte bitis = 24; // bitiş saatini ayarlayabilirsiniz (gece yarısı için 24 yazın)

long cals = (calisma * 60); // xdk çalışma süresi (dk saniye cinsine çevrilir) otomatik değişir.
long bekl = (bekleme * 60); // xdk bekleme süresi (dk saniye cinsine çevrilir) otomatik değişir.

void watch() // saat kodu burayı değiştirmeyin!
{
 saniye++;
 delay(1000);

 if (saniye == 60)
 {
 dakika++;
 saniye = 0;
 }
 else if (dakika == 60)
 {
 saat++;
 dakika = 0;
 saniye = 0;
 }
 else if (saat == 24)
 {
 saat = 0;
 dakika = 0;
 saniye = 0;
 }
}

void setup()
{
 pinMode(ROLE, OUTPUT);

}

void loop()
{
 watch(); // saatin çalıştığı watch fonksiyonunu çağırıyoruz ve saat işlemeye başlıyor.

 if (saat >= baslangic && saat < bitis) // başlangıç saati gelince çalışp bitiş saatinde durduran bunu yaparken 15dk çalışıp 5dk duran kod.
 {
 for (int a = 0; a < cals; a++)
 {
 digitalWrite(ROLE, role_tipi);
 watch();
 if (!(saat >= baslangic && saat < bitis)) // eğer çalışma saatleri dışındaysa döngüden çık.
 break;
 }

 for (int b = 0; b < bekl; b++)
 {
 digitalWrite(ROLE, !(role_tipi));
 watch();
 if (!(saat >= baslangic && saat < bitis)) // eğer çalışma saatleri dışındaysa döngüden çık.
 break;
 }
 }

 else // çalışma saatleri dışında röleyi kapatan kod.
 {
 digitalWrite(ROLE, !(role_tipi));
 }

}

Hocam, kodun üst tarafında "ayarlayabilirsiniz" yazan yerleri ayarlayabilirsiniz.

Kodu birkaç dk denedim ve düzgünce çalıştı kodu deneyip geri dönüş sağlayın.

Kodu yüklemeden önce saat ve dakikayı ayarlayın saniye kısmını ayarlamanıza gerek yok tavsiyem dakikayı 1dk ileri yapın.
Blink komutu Arduino'nun idesinde örnekler kısmında Basic bölümünde vardır. Arduino üzerindeki LED'i 1sny aralıkta yakıp söndürür.
 
Blink komutu Arduino'nun idesinde örnekler kısmında Basic bölümünde vardır. Arduino üzerindeki LED'i 1sny aralıkta yakıp söndürür.

Tamamdır adaptörü değiştirdim Arduino'dan ses gelmiyor (adaptörden aşırı küçük tiz bir ses geliyor ama ona da yapacak bir şey yok sanırım) röle arduino motor bağlantısını yapacağım şimdi kod kısmına gelince de yazarım tekrar.
 
Hocam, kod için gerekli bir bilgi lazım bana rölenin altında ne yazıyor benim aldığım rölelerde Low level trigger relay yazıyor mesela, sizde Low mu high mı yazıyor?
 
Hocam, kod için gerekli bir bilgi lazım bana rölenin altında ne yazıyor benim aldığım rölelerde Low level trigger relay yazıyor mesela, sizde Low mu high mı yazıyor?

Hiç birşey yazmıyor hocam.
 

Dosya Ekleri

  • IMG_20230822_141453.jpg
    IMG_20230822_141453.jpg
    151,2 KB · Görüntüleme: 30
  • IMG_20230822_141440.jpg
    IMG_20230822_141440.jpg
    158,7 KB · Görüntüleme: 53
Altındaki kodu biraz araştırdım, Low level trigger sizinki de. Siz röleyi 13. pine bağlıyorsanız eğer büyük ihtimalle LED sonünce röle çalışıyordur.
 
Altındaki kodu biraz araştırdım, Low level trigger sizinki de. Siz röleyi 13. pine bağlıyorsanız eğer büyük ihtimalle LED sonünce röle çalışıyordur.

Ben 9'a bağlıyorum. Şu an bağlantılar tamam video atılıyorsa atayım. Valla YouTube'dan dersleri izleyerek yapmaya çalışsaydım birkaç hafta sürerdi herhalde sağ olunuz :D

Buradan video atılmıyormuş YouTube yükledim bakabilirsiniz son duruma. Belki yanlış veya eksik bir şey yapmışımdır.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Ben 9'a bağlıyorum. Şu an bağlantılar tamam video atılıyorsa atayım. Vallahi YouTube'dan dersleri izleyerek yapmaya çalışsaydım birkaç hafta sürerdi herhalde sağ olunuz :D

Buradan video atılmıyormuş YouTube yükledim bakabilirsiniz son duruma. Belki yanlış veya eksik bir şey yapmışımdır.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Ben bir sorun göremedim hocam, röle açıldığında motor çalışıyor ve kapandığında duruyor istediğimiz buydu. İkisini de tek bir adaptörden besliyoruz bu da istediğimiz gibi.

Şu an içinde nasıl bir kod yüklü?
 
Son düzenleme:
Ben bir sorun göremedim hocam, röle açıldığında motor çalışıyor ve kapandığında duruyor istediğimiz buydu. İkisini de tek bir adaptörden besliyoruz bu da istediğimiz gibi.

Şu an içine nasıl bir kod yüklü?

Sadece açmaya kapamaya yarayan basit delay komutu var şu an. Resmini de bırakayım. Neyse ki zor olan kısım bitti kod işini çözeriz. Dediğim gibi bu da yeterli aslında ama geçenlerde söylediğim döngüyü örneğin 5 saat ara verdirip tekrar devam ettirme gibi bir şey yapabiliriz. Ve eğer oluyorsa fişi çekmeden istediğimiz zaman sadece motoru durdurma gibi bir şey de lazım olabilir ki o da muhtemelen motor ve kablonun artı bacağı arasına on/off buton koyarak yapılabilir. Ve son olarak rölenin diğer ucu boşta olduğu için, orayı da değerlendirebiliriz daha sonrasında.

Şu anlık durum bundan ibaret ve dediğim gibi önemli kısmı hallettik diğerlerini aceleye getirmeye gerek yok. Müsait olduğunuz zaman da halledebiliriz hocam.
 

Dosya Ekleri

  • IMG_20230822_155706.jpg
    IMG_20230822_155706.jpg
    202,7 KB · Görüntüleme: 40
Sadece açmaya kapamaya yarayan basit delay komutu var şu an. Resmini de bırakayım. Neyse ki zor olan kısım bitti kod işini çözeriz. Dediğim gibi bu da yeterli aslında ama geçenlerde söylediğim döngüyü örneğin 5 saat ara verdirip tekrar devam ettirme gibi bir şey yapabiliriz. Ve eğer oluyorsa fişi çekmeden istediğimiz zaman sadece motoru durdurma gibi bir şey de lazım olabilir ki o da muhtemelen motor ve kablonun artı bacağı arasına on/off buton koyarak yapılabilir. Ve son olarak rölenin diğer ucu boşta olduğu için, orayı da değerlendirebiliriz daha sonrasında.

Şu anlık durum bundan ibaret ve dediğim gibi önemli kısmı hallettik diğerlerini aceleye getirmeye gerek yok. Müsait olduğunuz zaman da halledebiliriz hocam.

Motoru durdurma butonu koda entegre edilebilir.

Şu an bilgisayarda biraz işim var hocam, gün içinde ne kadar çalışıp durmasını istiyorsunuz ona göre yazmaya çalışayım işim bitince.

Rölenin diğer ucu, röle kapalıyken aktif olur röle çalışınca bağlı olan şey durur. Yani diğer ucun tam tersi çalışır.
 
Son düzenleme:
Motoru durdurma butonu koda entegre edilebilir.

Şu an bilgisayarda biraz işim var hocam, gün içinde ne kadar çalışıp durmasını istiyorsunuz ona göre yazmaya çalışayım işim bitince.

Rölenin diğer ucu, röle kapalıyken aktif olur röle çalışınca bağlı olan şey durur. Yani diğer ucun tam tersi çalışır.
Örneğin 00:00 da durup 4:00 da başlayabilir hocam. Bu arada işinizi halledin hatta bugün de bakmak zorunda değilsiniz sonra da olur boş bir zamanda.

Motoru durdurma butonu koda entegre edilebilir.

Şu an bilgisayarda biraz işim var hocam, gün içinde ne kadar çalışıp durmasını istiyorsunuz ona göre yazmaya çalışayım işim bitince.

Rölenin diğer ucu, röle kapalıyken aktif olur röle çalışınca bağlı olan şey durur. Yani diğer ucun tam tersi çalışır.

Röleyle alakalı, evet bu şekilde belki bir LED bağlantısı yapabilirim. Çalışmadığı aralıklarda görsellik katar.
 

Technopat Haberler

Geri
Yukarı