Evet arkadaşlar, bu yazımızda Arduino röle kartı uygulaması yapacağız. Daha önce Arduino ile +24VDC bir selenoid valf kontrolü yapmıştık ama shield’ ımızı kendimiz tasarlamıştık. Shield yapmak için temel elektronik bilginize ve bir takım araç gereçler sayesinde elektronik baskı devre yapma tekniğini bilmeniz gerekmektedir. Meşakkatli bir yoldur ama eşsiz tasarımlar çıkarabilirsiniz.
Peki bu konuda eksiğiniz varsa yapamayacak mısınız, Hayır, siz kolayca yapabilin diye neredeyse sizin istekleriniz doğrultusunda piyasa kolayca bulabileceğiniz hazır Arduino Shield veya Uyumlu Kartlar vardır.
Bu yazımızda 1′ den 16 kanala kadar tasarlanmış röle kartlarından 4 kanallı olanının uygulamasını yapacağız. Diğer kartlarıda aynı yöntemle kullanabilirsiniz sadece input pinleri fazladır. Bazı röle kartları ters tetiklemedir. Yani girişlerleri “0” sıfıra çekince röle çeker, 1 yapınca röle çekmez. Aldığınız karta göre programda değişiklik yapabilirsiniz.
Röle kartı devre şemasında ters tetiklemenin nedenini daha iyi anlayabilirsiniz.
Yukarıdaki devrede gördüğünüz gibi röle kartının VCC beslemesi arduino üzerindeki 5V pininden beslenmiştir. Buraya dikkat etmeniz gerekiyor. Eğer arduinonuzu sadece USB port üzerinden beslerseniz ve 4 röleyi de aynı anda çektirirseniz çok akım çekeceğinizden USB port akımı desteklemeyebilir ve portunuz zarar görebilir. Benim tavsiyem harci bir güç kaynağı ile beslemeyi yapmanız daha sağlıklı olacaktır.
Gelelim Arduino ile 4-kanal Röle Kartı modülü programı koduna. Yeni başlayanlar için gayet basit olarak sırasıyla belirli araklıklarda rölelerinizi çektiren bir program örneğini paylaşıyorum. Bu kod sayesinde röle kartınızdaki rölelerin sırayla enerjilendirip sağlamlığını kontrol edebilirsiniz.
// www.kaizen40.com const int role_1 = 4; // 4. pin 1. röle olarak tanımlandı const int role_2 = 5; const int role_3 = 6; const int role_4 = 7; void setup() { pinMode(role_1, OUTPUT); // çıkış olarak ayarlandı pinMode(role_2, OUTPUT); // çıkış olarak ayarlandı pinMode(role_3, OUTPUT); // çıkış olarak ayarlandı pinMode(role_4, OUTPUT); // çıkış olarak ayarlandı // ters tetikleme röle kartları için çıkışlar 1 yap digitalWrite(role_1, HIGH); digitalWrite(role_2, HIGH); digitalWrite(role_3, HIGH); digitalWrite(role_4, HIGH); } void loop() { digitalWrite(role_1, LOW); // röleyi çektir delay(1000); // 1 sn bekle digitalWrite(role_1, HIGH); // röleyi söndür delay(1000); digitalWrite(role_2, LOW); delay(1000); digitalWrite(role_2, HIGH); delay(1000); digitalWrite(role_3, LOW); delay(1000); digitalWrite(role_3, HIGH); delay(1000); digitalWrite(role_4, LOW); delay(1000); digitalWrite(role_4, HIGH); delay(1000); }
Eğer aynı işlevi yapan ileri seviye bir kod isterseniz for döngülerini kullanabilirsiniz. Her zaman en kısa ve en esnek kodları kullanmanızı tavsiye ederim. Rahat edersiniz 🙂
// www.kaizen40.com const int role[] = {4, 5, 6, 7}; // pinleri tanımla void setup() { for(int i = 0; i < 4; i++) { pinMode(role[i], OUTPUT); // çıkış olarak ayarlandı digitalWrite(role[i], HIGH); // röleyi sıfırla } } void loop() { for(int i = 0; i < 4; i++) { digitalWrite(role[i], LOW); // röleyi çektir delay(1000); digitalWrite(role[i], HIGH); // röleyi söndür delay(1000); } }
İyi çalışmalar,
17 yorum
a.kerim · 5 Şubat 2019 15:14 tarihinde
merhaba kolay gelsin ben röle kartına arduinodan değilde direk 5vluk bir bataryadan gerilim versem bi sıkıntı yaşarmıyım
Remzi Şahinoğlu · 5 Şubat 2019 19:29 tarihinde
bir sorun olmaz. sadece +5vdc besleme vereceğiniz kaynağın gnd pinini röle kartının gnd pini ile birleştirin. Eğer harici bir kaynak kullanmak istemiyorsanız röle kartının kendi +5V pini ile de tetikleme yapabilirsiniz. dikkatli olun. kolay gelsin.
Muharrem · 9 Şubat 2020 14:51 tarihinde
Selam ben arduino üzerinden 4 adet 24 volt selenoid valf çalıştırmak istiyorum tüm bağlantıları defalarca kontrol ettim herşey TamAm selenoidler bağlı değilken sorun yok röle kartı çalıyor selenoidlere güç verince belli bir süre çalışıyor sonra donup kalıyor sorun ne olabilir
Musa · 16 Eylül 2020 20:08 tarihinde
Aynı problemden muzdaripim 220 volt geçiriyorum rölelerden çözüm bulabildiyseniz yardımcı olurmusunuz
Remzi Şahinoğlu · 17 Eylül 2020 07:29 tarihinde
Merhaba, Selenoidlerin güç kaynağı ile Arduino nun güç kaynağını ayırmayı deneyin. Kullandığınız röle kartı optokuplörlü olduğu için izole çalışıyor. Eğer aynı güç kaynağını kullanıyorsanız çok akım çekince gerilim düşümü vs arduino parazitlenip problem çıkarabilir.
ismail ddoğan · 29 Aralık 2020 13:46 tarihinde
merhaba aurdino ile 220volt elektriği röleyi açması için tetikleme olarak nasıl kullanabilirim
projem 220 volt elektrik gittiğinde röle çekecek 5dk bekleyip tekrar bırakacak
Remzi Şahinoğlu · 11 Ocak 2021 09:18 tarihinde
merhaba, yukarıdaki röle kartında +24v olarak verilen yere 220v verirseniz olur. Yükünüzün 220v ile çalıştığından emin olun.
said · 26 Ocak 2021 18:21 tarihinde
hocam acil yardımınızı bekliyorum
2 farklı rölem var donanımsal olarak
ikisinide eş zamanlı çalıştırma istiyorum ama kodlarda sorun nedir
void setup() {
// Rölenin bağlı olduğu 7 numaralı pini çıkış pini olarak ayarla
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
}
void loop() {
digitalWrite(2,HIGH); // Röleyi açık konuma getir
delay(60000); // 3 saniye bekle
digitalWrite(2,LOW); // Röleyi kapalı konuma getir
delay(540000); // 3 saniye bekle
void loop() {
digitalWrite(3,HIGH); // Röleyi açık konuma getir
delay(60000); // 3 saniye bekle
digitalWrite(3,LOW); // Röleyi kapalı konuma getir
delay(540000); // 3 saniye bekle
}
Remzi Şahinoğlu · 27 Ocak 2021 10:56 tarihinde
Merhaba, digitalWrite() komutları arasındaki delay komurlarını kaldır ve pin atamalarını dikkatli yapman gerekir. Ve iki adet void loop() fonksiyonu kullanamazsın. Derleme hatası verir. Bir programın bir adet void loop fonksiyonu olur. İstediğin kadar alt program ekleyebilirsin. Aşağıda paylaşıyorum.
void loop()
{
digitalWrite(2,HIGH); // Röleyi açık konuma getir
digitalWrite(3,LOW); // Röleyi kapalı konuma getir
delay(3000); // 3 saniye bekle
digitalWrite(2,HIGH); // Röleyi açık konuma getir
digitalWrite(3,LOW); // Röleyi kapalı konuma getir
delay(3000); // 3 saniye bekle
}
murat · 16 Kasım 2021 11:36 tarihinde
merhaba hocam ardunio ile usbden tetik nasıl verdirebilirim?
kolay gelsin
Remzi Şahinoğlu · 21 Kasım 2021 11:21 tarihinde
Serial.Read() komutu ile usb den gelen bilgileri dinleyip ona göre istediğiniz yaptırabilirsin. Site içinde benzer uygulamar mevcut. Kolay gelsin.
Sinan · 20 Aralık 2021 11:34 tarihinde
Hocam kolay gelsin bir proje yapıyorum 4 farklı 5 volt role modülü kullandım. benim sıkıntım röleler çalışıyor sıkıntı yok ama rölenin biri ikisi çalışıyor 3 sü devereye girdiğinde arduino resetleniyor. tahminimce tetiklemede 20 ma. akım çekiyor roleler diye biliyorum 2 röle 40 ma yapıyor arduni 50 ma çıkıs verebiliyor bu sebeple 3. röle devreye girince çekilen akım 50 ma oluyor ve arduino besleyemeyip kısa devre algılıyıp yeniden başlatıyor. bu hususta bilginize başvurmak istedim. bu tür bir sorunla karşılaşan arkadaşlarımız varmı ne tür bir çözüm ürettiler.
Remzi Şahinoğlu · 17 Ocak 2022 20:20 tarihinde
merhaba, röle beslemesini harici olarak yaparsanız sorun çözülür, siz muhtemelen arduino üzerinden röleleri beslediniz. ve aduinoyu da bilgisayarın usb si üzerinden beslerseniz aynı sorunla karşılaşırsınız. harici bir güç kaynağı üzerinden ayrı olarak beslemeyi sağlayın.
ibrahim loğoğlu · 8 Eylül 2022 10:46 tarihinde
Selamlar. Benim kullandığım röle benim projeme göre ters çalışıyor. Bu da arduinoya gelen akım (besleme ) kesildiğinde veya yeniden başlatıldığında rölenin istemeden çalışmasına sebep oluyor. İstemediğim bu durumu nasıl sadece sinyal geldiğinde çalışacak hale getirebilirim? Röle piyasada satılan arduino uyumlu rölelerden. +5 volt, Gnd. ve in girişleri olanlardan. Bunların ters mantıkla çalışanı var mı?
Remzi Şahinoğlu · 8 Eylül 2022 20:15 tarihinde
arduino nun setup kodu içinde direk reset aldığı zaman ilk sıralara çıkışları high yap komutu gönderirsen kesilmelerde tam düşmeden tekrardan röle çekmiş olur. Röle kartı beslemesine ilave kondansatör de eklersen iyi olabilir.
bekir · 12 Eylül 2023 22:16 tarihinde
merhabalar ben tetik verince röleyi açıp tekrar verince söndüren bir kod arıyorum yardımcı olabilir’misiniz?
Remzi Şahinoğlu · 29 Eylül 2023 08:30 tarihinde
buradaki kodu kullanabilirsiniz.
https://www.kaizen40.com/tek-buton-ile-role-acan-ve-kapatan-arduino-kodu-nasil-yapilir/