Çö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
201
Çö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.
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.

Bu dediklerinizi bazı komponentler ile yapabilirsiniz.

Motor için bir DC motor sürücüye ihtiyacınız var fakat kullanacağınız motora göre değişebilir.

Belirli bir zaman geldiğinde düğmeye basması için ise size Arduino uyumlu 5V'lik röle lazım.

Kodlar konusunda yardımcı olabilirim.
 
Bu dediklerinizi bazı komponentler ile yapabilirsiniz.

Motor için bir DC motor sürücüye ihtiyacınız var fakat kullanacağınız motora göre değişebilir.

Belirli bir zaman geldiğinde düğmeye basması için ise size Arduino uyumlu 5V'lik röle lazım.

Kodlar konusunda yardımcı olabilirim.

Kullanacağım motoru normalde de 5V pil ile kullanıyorum. Direk Arduino'ya bağlasam (sürücüsüz veya rölesiz) olur mu? Çok büyük ve güçlü bir motor değil.

Ve araştırdığım kadarıyla dediğim işlem delay veya timer komutlarıyla yapılıyor. Bu komutları kullanarak kod konusunda yardımcı olabilir misiniz?

motor da bunun aynısı sanırım
 

Dosya Ekleri

  • 31u0eRL0ClL._AC_UF1000,1000_QL80_.jpg
    31u0eRL0ClL._AC_UF1000,1000_QL80_.jpg
    35,8 KB · Görüntüleme: 27
Bir pinden en fazla 5V 40mA çıkış alınabiliyor diye hatırlıyorum. Muhtemelen motoru doğrudan bağlayarak kullanamazsınız. Ayrıca denemenizi tavsiye etmem zira Arduino kartınıza zarar verebilirsiniz.
Evet dediğiniz gibi pek anlamadığım için denemedim direk takmayı.

20 30 liralık sürücüler çok pahalı değil mesela ben şu an çizgi izleyen robotlar için en az 1.5 bin harcamışımdır motor sürücülere tabii bu da pahalı değil de gündelik olarak pahalı.

Şimdi baktım internetten ama uygun fiyatlı bir şey bulamadım. Ucuz olursa iyi olur çünkü gerçekten sadece 50dk çalışıp 10dk dursa yeterli. Hız veya yön ayarı gibi şeyler yapmayacağım. Tavsiye edebileceğiniz ucuz bir ürün var mı acaba?

edit: MX1508 DC Motor Sürücü Modülü (L298 Mini) Uygun Fiyatıyla Satın Al - Direnc.net®
böyle bir şey buldum işimi görür mü uzun vade de?
 
Son düzenleme:
Bir pinden en fazla 5V 40ma çıkış alınabiliyor diye hatırlıyorum. Muhtemelen motoru doğrudan bağlayarak kullanamazsınız. Ayrıca denemenizi tavsiye etmem zira Arduino kartınıza zarar verebilirsiniz.

Arduino'dan maksimum 200mAh güç çekilebiliyor diye hatırlıyorum o yüzden bir motor sürücü alması lazım, L298n önerebilirim.

Kullanımı son derece basit 5V veya 12-30v arası motor sürebiliyorsunuz ben en fazla 24v ile sürdüm.

Ama daha uygun fiyatli 5-10v arası bir motor sürücü vardı, bende var ama modelini hatırlamıyorum bakıp yazacağım hatta link bile verebilirim.

Evet dediğiniz gibi pek anlamadığım için denemedim direk takmayı.

Şimdi baktım internetten ama uygun fiyatlı bir şey bulamadım. Ucuz olursa iyi olur çünkü gerçekten sadece 50dk çalışıp 10dk dursa yeterli. Hız veya yön ayarı gibi şeyler yapmayacağım. Tavsiye edebileceğiniz ucuz bir ürün var mı acaba?

Edit: MX1508 DC Motor Sürücü Modülü (L298 Mini) Uygun Fiyatıyla Satın Al - Direnc.net®
Böyle bir şey buldum işimi görür mü uzun vade de?

Evet işte bahsettiğim sürücü bu, bunu kullanabilirsiniz.

Uzun vadede ısınabilir motorun ne için kullanılacağına bağlı, L298n pasif soğutma ile geliyor ama bende küçük bir fan vardı onu takıp 12v girişine lehim yapmıştım 12v verince fan çalışıp aktif soğutma yapıyor.

Siz direkt 5V bir telefon adaptörü falan kullanacaksanız ısınma yapmayabilir ama dediğim gibi motoru çok zorlarsanız sürücü ısınabilir.

Size kodlar konusunda yardımcı olabilirim hatta devre şeması da verebileceğimi düşünüyorum.

Galiba yapmak istediğiniz şey bir kuluçka makinesi gibi geldi bana.
 
Son düzenleme:
Bu durumda motoru da röle kullanarak çalıştırabilirsiniz isterseniz.

Oldukça mantıklı hocam, robolink üzerinde 5V 1 kanal röle 20TL civarıydı dün 6 tane sipariş verdim ben de. Evi biraz otomatikleştirmek istiyorum. Eğer konu sahibi minimum harcama ile yapmak istiyorsa dediğiniz gibi 5V 1 ya da 2 kanal röle alabilir. Arduino kodu yine aynı olur zaten.

Evet dediğiniz gibi pek anlamadığım için denemedim direk takmayı.

Şimdi baktım internetten ama uygun fiyatlı bir şey bulamadım. Ucuz olursa iyi olur çünkü gerçekten sadece 50dk çalışıp 10dk dursa yeterli. Hız veya yön ayarı gibi şeyler yapmayacağım. Tavsiye edebileceğiniz ucuz bir ürün var mı acaba?

Edit: MX1508 DC Motor Sürücü Modülü (L298 Mini) Uygun Fiyatıyla Satın Al - Direnc.net®
Böyle bir şey buldum işimi görür mü uzun vade de?

IMG_20230813_114248.jpg


O linkteki sürücü ile 15dk çalışıp 7.5dk duracak şekilde yazdım kodu ve harika çalışıyor hocam.
 
Son düzenleme:
Oldukça mantıklı hocam, robolink üzerinde 5V 1 kanal röle 20TL civarıydı dün 6 tane sipariş verdim ben de. Evi biraz otomatikleştirmek istiyorum. Eğer konu sahibi minimum harcama ile yapmak istiyorsa dediğiniz gibi 5V 1 ya da 2 kanal röle alabilir. Arduino kodu yine aynı olur zaten.

Eki Görüntüle 1900801

O linkteki sürücü ile 15dk çalışıp 7.5dk duracak şekilde yazdım kodu ve harika çalışıyor hocam.

Öncelikle motoru 50dk 5V pille çalıştırmayı denedim ama herhangi bir ısınma olmadı. Ve dediğim gibi uzun süreli çalışmalar için röle mi daha iyi olur sürücü mü? Son olarak beslemeyi direk PC ile de yapabilirim ancak eğer oluyorsa, (şimdi fark ettim siz de öyle yapmışsınız zaten :D) powerbank ile besleyebilsem daha iyi olur. Powerbankide solar panel ile şarj etmek istiyorum.

Öncelikle motoru 50dk 5V pille çalıştırmayı denedim ama herhangi bir ısınma olmadı. Ve dediğim gibi uzun süreli çalışmalar için röle mi daha iyi olur sürücü mü? Son olarak beslemeyi direk PC ile de yapabilirim ancak eğer oluyorsa, powerbank ile besleyebilsem daha iyi olur. Powerbankide solar panel ile şarj etmek istiyorum.

Bir de yazmayı unuttum, Arduino'ya PC'den kod attıktan sonra USB kablosu PC'ye takılı kalmak zorunda mı çalışması için?
 

Geri
Yukarı