Çö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.
Ö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?

Röle uzun kullanım için daha iyi olur zaten hız veya yön kontrolü yapmayacaksınız. Hayır Arduino kodunu attıktan sonra Arduino'yu Power bank ya da şarj cihazı gibi bir kaynak ile beslemeniz yeterlidir.

Adetini projenize göre sizin ayarlamanız lazım.
 
Son düzenleme:
Röle uzun kullanım için daha iyi olur zaten hız veya yön kontrolü yapmayacaksınız. Hayır Arduino kodunu attıktan sonra Arduino'yu Power bank ya da şarj cihazı gibi bir kaynak ile beslemeniz yeterlidir.

Adetini projenize göre sizin ayarlamanız lazım.

Anladım, son bir şey soracağım biraz uğraştırdım ama :) altta resmini attığım motora sahibim pili USB girişinden şarj ediliyor alttaki düğme ile çalışıyor. Arduino'yu sadece o düğmeymiş gibi kullanabilir miyim, yani anlatmak istediğim attığım sistem bana yeterli sadece bir süre çalışıp bir süre çalışmaması gerekiyor. Bunu motoru sistemden sökmemek için soruyorum, sizin anlattığınız yöntem ile motoru sökmem gerekir sanırım, şu anki haliyle yapabilirsem beni büyük zahmetten kurtarmış olursunuz :D
 

Dosya Ekleri

  • motor.jpg
    motor.jpg
    108,9 KB · Görüntüleme: 26
Anladım, son bir şey soracağım biraz uğraştırdım ama :) altta resmini attığım motora sahibim pili USB girişinden şarj ediliyor alttaki düğme ile çalışıyor. Arduino'yu sadece o düğmeymiş gibi kullanabilir miyim, yani anlatmak istediğim attığım sistem bana yeterli sadece bir süre çalışıp bir süre çalışmaması gerekiyor. Bunu motoru sistemden sökmemek için soruyorum, sizin anlattığınız yöntem ile motoru sökmem gerekir sanırım, şu anki haliyle yapabilirsem beni büyük zahmetten kurtarmış olursunuz :D

Bu mümkün. Fakat birkaç ölçüm yapmak gerekiyor. Eğer attığım linkteki röleden alıp (fotoğrafa göre konuşuyorum) düğmenin sağ ve sol taraftaki bacaklarına lehimlerseniz Arduino zerinden kontrol edebilirsiniz, herhangi bir ölçüm yapmanız da gerekmez.
 
Bu mümkün. Fakat birkaç ölçüm yapmak gerekiyor. Eğer attığım linkteki röleden alıp (fotoğrafa göre konuşuyorum) düğmenin sağ ve sol taraftaki bacaklarına lehimlerseniz Arduino zerinden kontrol edebilirsiniz, herhangi bir ölçüm yapmanız da gerekmez.

Tamamdır çok teşekkürler. Birazdan elektrikçiye gidip soracağım, varsa alırım. Ve proje (eğer başarılı olursa) son halini sizinle paylaşacağım :).
 
Hocam, Arduino uyumlu bulamayabilirsiniz attığım linkten alabilirsiniz ama.

Açık elektrikçi bulamadım, yarın bakacağım. İnternetten almama sebebim, 15 TL'lik ürün kargo ile 60TL oluyor. Yarın attığınızın aynısından bulamazsam mecbur alacağım, umarım buralarda vardır.

Bu arada ürünün incelemelerini okudum da yön sorunundan bahsetmişler. Benim için yön değiştirmeye gerek yok ama sürekli sola dönmesi lazım. Kabloların yerini değiştirerek bu sağlanabilir sanırım.
 
Aynı zamanda röle kullanırken isterseniz sinyal verdiğinizde devreyi tamamlamasını isterseniz de sinyal vermediğinizde devreyi tamamlamasını ayarlayabilirsiniz. Motorun kapalıdan çok açık olacağı bir kullanımda 2. Yöntem daha mantıklı olacaktır.
 
Aynı zamanda röle kullanırken isterseniz sinyal verdiğinizde devreyi tamamlamasını isterseniz de sinyal vermediğinizde devreyi tamamlamasını ayarlayabilirsiniz. Motorun kapalıdan çok açık olacağı bir kullanımda 2. Yöntem daha mantıklı olacaktır.

Dediğiniz yöntem de sinyal verme işini kart otomatik olarak yapıyor değil mi?
 
Dediğiniz yöntem de sinyal verme işini kart otomatik olarak yapıyor değil mi?

Sinyali Arduino üzerinden vereceğiz, attığım linkteki rölede zaten hem normalde açık ya da normalde kapalı olması için ayrı ayrı klemens var.

Biz sinyal verilmediği sürece kapalı olması için ayarlayacağız devreyi.
 
@K.Makise acaba Arduino kartını jack girişinden besleyip, DC motorun bir bağlantısını "vin" pinine diğer bağlantısını bir giriş-çıkış pinine bağlasak dijital pine 0 verip motoru çalıştırabilir miyiz? Gelen akım giriş-çıkış pinine zarar verir diye tahmin ediyorum ama eğer denediyseniz tecrübenizi paylaşırsanız sevinirim.
 

Technopat Haberler

Yeni konular

Geri
Yukarı