Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atı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.
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.
Bu şablonla tam kafama oturdu. Hem Arduino'yu hem motoru aynı kaynakla beslemeyi oturtamamıştım anladım şimdi. Kod kısmını da yakında hallettik mi tamamdır hocam.
Hocam adaptörü temin ettim. Attığınız şablona göre adaptörün jack kısmını kesmem gerekiyor sanırım. Kesmeden yapmanın bir yolu var mı diye sorayım dedim. Çok da önemi yok ama 2 amper adaptör bulamadım, bu 1 amper belki az gelirse iade ederim ama kesersem kabul etmezler doğal olarak kesmeden önce motorun devrini ölçsemde yeter hatta.
Jack girişi "vin" pinine bağlı diye biliyorum. Arduino kartını jack ile besledikten sonra belki motoru vin pinine bağlayarak besleyebilirsiniz. Karta zarar verip vermeyeceğini bilmiyorum.
Bu şablonla tam kafama oturdu. Hem Arduino'yu hem motoru aynı kaynakla beslemeyi oturtamamıştım anladım şimdi. Kod kısmını da yakında hallettik mi tamamdır hocam.
Hocam adaptörü temin ettim. Attığınız şablona göre adaptörün jack kısmını kesmem gerekiyor sanırım. Kesmeden yapmanın bir yolu var mı diye sorayım dedim. Çok da önemi yok ama 2 amper adaptör bulamadım, bu 1 amper belki az gelirse iade ederim ama kesersem kabul etmezler doğal olarak kesmeden önce motorun devrini ölçsemde yeter hatta.
Hocam, motorun bir ucunu adaptörün jack'ının içine sokun diğer ucunu da dıştaki metaline değdirin.
İlla kesmenize gerek yok kablosunu sıyırıp ek yapabilirsiniz ama iadede bunu da kabul etmeyebilirler. Yani hiç zarar vermeden de yapabilirsiniz ama bunun için ek bir şeyler almanız gerekir.
Jack girişi "vin" pinine bağlı diye biliyorum. Arduino kartını jack ile besledikten sonra belki motoru vin pinine bağlayarak besleyebilirsiniz. Karta zarar verip vermeyeceğini bilmiyorum.
"Bu pin, bazı Arduino kartlarında bulunan barrel jak konektörüne harici bir güç kaynağı bağlandığında voltaj çıkışı olarak da çalışabilir."
"This pin can also work as a voltage output when an external power supply is connected to the barrel jack connector present in some Arduino boards." Powering Alternatives for Arduino Boards | Arduino Documentation.
Gerekli bilgi buydu.
Jack girişi "vin" pinine bağlı diye biliyorum. Arduino kartını jack ile besledikten sonra belki motoru vin pinine bağlayarak besleyebilirsiniz. Karta zarar verip vermeyeceğini bilmiyorum.
Hocam adaptörün yanına ve içine motorun uçlarını değdirerek çalıştırdım tam istediğim gibi çalıştı fakat adaptörü Arduino'ya bağladığım da ufak cızırdama ötme gibi bir ses geliyor. Kulağımı yaklaştırdığımda net duyabiliyorum. Bu durum normal mi acaba yoksa sıkıntımı var kartta veya kabloda?
Bu arada mesajları da genelde geç saatlerde yazabiliyorum. 12 ye kadar çalışıyorum gece zaman ayırma fırsatım oluyor ancak.
Hocam adaptörün yanına ve içine motorun uçlarını değdirerek çalıştırdım tam istediğim gibi çalıştı fakat adaptörü Arduino'ya bağladığım da ufak cızırdama ötme gibi bir ses geliyor. Kulağımı yaklaştırdığımda net duyabiliyorum. Bu durum normal mi acaba yoksa sıkıntımı var kartta veya kabloda?
Bu arada mesajları da genelde geç saatlerde yazabiliyorum. 12'ye kadar çalışıyorum gece zaman ayırma fırsatım oluyor ancak.
Normal değil hocam, cızırtının nereden geldiği önemli. Adaptör 12v mu emin misiniz? Hemen kendi Arduino kartımda bir denemek istiyorum aynısı mı olacak.
Ben de bir sorun olmadı, hatta ısınma bile olmadı benim adaptörüm 12v 2A'lık bir adaptör.
Jack girişi tam oturmamış olabilir orayı iyi oturtun.
Normal değil hocam, cızırtının nereden geldiği önemli. Adaptör 12v mu emin misiniz? Hemen kendi Arduino kartımda bir denemek istiyorum aynısı mı olacak.
Ben de bir sorun olmadı, hatta ısınma bile olmadı benim adaptörüm 12v 2A'lık bir adaptör.
Jack girişi tam oturmamış olabilir orayı iyi oturtun.
Birkaç kez daha denedim şimdi, hala ses geliyor. Isınma yok sanırım en azından kısa vadede. 1 amper olmasıyla alakası olabilir mi acaba? 2A olanından alabilirim değiştirip.
Sanmıyorum ama isterseniz kartla beraber gidip bir deneyin. Ayrıca karta blink komutunu yükleyip sonra adaptörü takın ışık yanıp sönüyor ise fazla sıkıntı olacağını sanmıyorum ama cızırtı normal değil benim Arduino UNO CH340 kartımda hiç çıkmadı, ki ben o kartı daha önce ameliyat bile etmiştim.
Sanmıyorum ama isterseniz kartla beraber gidip bir deneyin. Ayrıca karta blink komutunu yükleyip sonra adaptörü takın ışık yanıp sönüyor ise fazla sıkıntı olacağını sanmıyorum ama cızırtı normal değil benim Arduino UNO CH340 kartımda hiç çıkmadı, ki ben o kartı daha önce ameliyat bile etmiştim.