Çö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.
Hocam orayı anladım ama dediğiniz gibi röleyi Arduino ile besleyecegiz. Arduinoyuda bu sefer 5V değil 12v ile besleyeceğimiz icin acaba röleyi değiştirmek mi gerek diye düşünmüştüm ama gene yanlış düşündüm herhalde :)

Arduino 5V ile çalışır. Arduino'nun üzerindeki jack girişinden 12v verdiğinizde Arduino üzerindeki voltaj regülatörü 12V'yi 5V'ye düşürür.
 
Arduino 5V ile çalışır. Arduino'nun üzerindeki jack girişinden 12v verdiğinizde Arduino üzerindeki voltaj regülatörü 12V'yi 5V'ye düşürür.

Hocam kusura bakma vallahi bu konu hakkında biraz darladım ama, tam anlamak için soruyorum. 12v adaptör ile Arduino'yu besleyecegiz, Arduino kendisini 5V ile çalıştıracak ve roleye 12v verecek bu vesileyle motorda 12v ile çalışacak doğru muyum? Doğruysa tik falan bile atsanız kâfi.
 
Hocam kusura bakma vallahi bu konu hakkında biraz darladım ama, tam anlamak için soruyorum. 12v adaptör ile Arduino'yu besleyecegiz, Arduino kendisini 5V ile çalıştıracak ve roleye 12v verecek bu vesileyle motorda 12v ile çalışacak doğru muyum? Doğruysa tik falan bile atsanız kâfi.

Arduino'yu 12 volt adaptörle besleyeceksiniz. Arduino bu 12 voltu regülatörleriyle 5 volta düşürecek ve röleye 5 volt verecek. Röle, çalışma prensibi gereği elektrik vermeyecek, anahtarlama yapacak. Bu durumda motoru da adaptör ile besleyeceğine göre röle ile 12 volt anahtarlayacaksınız. Rölenin basit bir çalışma prensibi vardı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.
bu video anlamanıza yardımcı olur.
İnternetten bulduğum bu şemaya benzeyecek sizin projeniz. Sadece 9V pil yerine 12 volt adaptör kullanacaksınız.
 

Dosya Ekleri

  • resim_2023-08-20_212558260.png
    resim_2023-08-20_212558260.png
    265,8 KB · Görüntüleme: 31
Hocam kusura bakma vallahi bu konu hakkında biraz darladım ama, tam anlamak için soruyorum. 12v adaptör ile Arduino'yu besleyecegiz, Arduino kendisini 5V ile çalıştıracak ve roleye 12v verecek bu vesileyle motorda 12v ile çalışacak doğru muyum? Doğruysa tik falan bile atsanız kâfi.

Hayır, Arduino'yu 12v ile besleyeceğiz aynı şekilde motoru da. Motor ve Arduino'ya paralel bağlantı yapacağız fakat motor ile Arduino arasına röle gelecek bu şekilde motoru açıp kapayabileceğiz.

Hatta bir bakayım Fritzing ile tam bir şema yapabiliyor muyum.
 
Arduino'yu 12 volt adaptörle besleyeceksiniz. Arduino bu 12 voltu regülatörleriyle 5 Volta düşürecek ve röleye 5 volt verecek. Röle, çalışma prensibi gereği elektrik vermeyecek, anahtarlama yapacak. Bu durumda motoru da adaptör ile besleyeceğine göre röle ile 12 volt anahtarlayacaksınız. Rölenin basit bir çalışma prensibi vardı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.
bu video anlamanıza yardımcı olur.
İnternetten bulduğum bu şemaya benzeyecek sizin projeniz. Sadece 9V pil yerine 12 volt adaptör kullanacaksınız.


Valla sağ olun Türkçe kaynaklara baktım ama tam olarak cevap bulamadım. Tabii mutlaka vardır Türkçe kaynakta. Yardımcı oldunuz.

Hayır, Arduino'yu 12v ile besleyeceğiz aynı şekilde motoru da. Motor ve Arduino'ya paralel bağlantı yapacağız fakat motor ile Arduino arasına röle gelecek bu şekilde motoru açıp kapayabileceğiz.

Hatta bir bakayım Fritzing ile tam bir şema yapabiliyor muyum.
Anladım hocam. Yarın adaptörü temin etmeye çalışacağım bir kaç yere de sorup, artık yarın hallederiz umarım devre kısmını.
 
Vallahi sağ olun Türkçe kaynaklara baktım ama tam olarak cevap bulamadım. Tabii mutlaka vardır Türkçe kaynakta. Yardımcı oldunuz.

Anladım hocam. Yarın adaptörü temin etmeye çalışacağım birkaç yere de sorup, artık yarın hallederiz umarım devre kısmını.

Arduino_Proje.jpg


Aşağı yukarı böyle bir şey olacak hocam sadece 9V pil yerine 12v adaptör kullanacağız.
 

Technopat Haberler

Geri
Yukarı