Arduino ile Röle Kontrolü

Arduino ile farklı cihazları kontrol etmek istiyorsanız ya da ev kontrol sistemi benzeri sistemler üzerinde çalışıyorsanız röleler vazgeçilmez devre elemanları şüphesiz. Bu yazımda Arduino ile 5v röleleri nasıl kontrol edebileceğinizi anlatmaya çalışacağım. Yazının sonunda da sadece röle devresi kullanarak yapılmış güzel bir örnek paylaşacağım.

Yanda verdiğim devre şeması 5v mini PCB röleler için. BC548, 2N2222, 2N3704 transistörlerinden birisini kullanabilirsiniz. Daha büyük röleler için TIP102 transistör ve ek bir enerji kaynağı gerekli.

Röle kontrolüne gelecek olursak, bildiÄŸimiz “Blink” uygulamasındaki mantıkla kontrol ediliyor röleler de. Dijital çıkışları “HIGH” ve “LOW” yaparak ve “delay” fonksiyonunu kullanarak röleleri kontrol etmek mümkün kısaca.

Blink uygulamasını düzenleyerek oluÅŸturduÄŸum örnek bir programı aÅŸağıda paylaşıyorum. “digitalWrite” fonksiyonunu kullanarak 2 saniyeliÄŸine röleyi çektirip 2 saniye bıraktırıyoruz programda. Aynı ÅŸekilde belirli ÅŸartlarda rölelerin çalışmasını saÄŸlayarak kontrol sistemleri oluÅŸturabilirsiniz.

// Arduinoturkiye.com Röle Kontrol Deneme Programı

// Dijital 2 pinini role olarak isimlendiriyoruz.
int role = 2;

// Devre şemasındaki Arduino Dijital Pin-Arduino Dijital 2 bağlantısını yapıyoruz.

void setup() { 
  // Role(Dijital 2)  pinini çıkış olarak ayarlıyoruz.
  pinMode(role, OUTPUT); 
}

void loop() {
  // Role(Dijital 2 pinini HIGH olarak tanımlıyoruz, yani roleyi çektiriyoruz.
  digitalWrite(role, HIGH);
  delay(2000); // 2 saniye bekle.
  // Role pinin voltajını LOW yaparak röleyi bıraktırıyoruz.
  digitalWrite(role, LOW);
  delay(2000); // 2 saniye bekle.
}

Sadece röle devresi kullanarak yapılmış bir Arduino projesinden bahsedeceÄŸim. Projede eski bir Nokia 3310“un tuÅŸları röle kullanarak kontrol ediliyor ve telefonda kayıtlı bir mesaj kayıtlı bir numaraya SMS olarak gönderiliyor. Acil durumlarda sabit SMS göndermek isteyenler için çok basit bir çözüm olabilir. Proje ile ilgili ayrıntılara aÅŸağıdaki baÄŸlatılardan ulaÅŸabilirsiniz.

Ä°yi çalışmalar…

Kaynaklar:

Gerekli Olabilecek Bağlantılar:

Ä°smail

Üniversite öğrencisi, Arduino meraklısı.

57 comments

  1. […] Arduino ile Röle Kontrolü 3 AÄŸustos 2012 // (0) yorum […]

  2. […] deÄŸiÅŸtirebilir, dijital çıkışları doÄŸrudan internet üzerinden kontrol edebilirsiniz. Arduino ile Röle Kontrolü yazısında anlattığım ÅŸekilde röle devreleri hazırlayıp sisteme ekleyerek kendi akıllı […]

  3. ilker çam dedi ki:

    Peki bu röle sayılarını nasıl arttırabılırız, varsayalım 100 hatta 200 röle kontrolüne ihtiyacım var..

  4. İsmail Buçgün dedi ki:

    Merhaba,
    Bu iş için 74HC595 gibi bir entegre kullanmanız gerekiyor. Şu adreste ledlerle yapılan bir örnek mevcut. http://bildr.org/2011/02/74hc595/
    74HC595ler arasında bağlantılar kurularak 20 adete kadar kullanılabileceği yazıyor. Her bir entegreyle 8 röle devresi kontrol edebilirsiniz ki bu da 160 röle yapar maksimum, 1 Arduino ile. Toplamda Arduinonuzda 3 pin kullananmanız gerekiyor.(SPI pinleri)

  5. […] baÄŸlantısı yapabilirsiniz ilk etapta. Ya da bu çıkışlara daha önce anlattığım ÅŸekilde röle devreleri hazırlayıp bunları da […]

  6. Tayfun CAN dedi ki:

    Merhaba röle yardımı ile swich motor kontrolü yapmaya çalışıyorum. Elektrik git gellerinde röleye elektrik verip kesiyor. elektrik verince motora iki yönlü elektrik veriyor bu da şartelleri arttırıyor. elektirik gelince röle hareketini nasıl durdurabilirim.

    • Ömer Koman dedi ki:

      tam anlaşılmıyor ne dediÄŸiniz ama her iki elektrik kaynağını da izlemeniz lazım. elektrik hangisinde varsa o taraftaki röleyi çektirmek gerekir. yada rölenin orta merkez ucu motorda olacak rölenin normal durumdaki ucu ÅŸebekeye baÄŸlanacak sonra hem ÅŸebeke hem yedek ÅŸebeke izlenecek, eÄŸer ana ÅŸebekede elektrik kesilirse yedek ÅŸebeke tarafına doÄŸru switch çektirilecek, ana ÅŸebekede elektrik gelince röle tekrar ana ÅŸebeke tarafına doÄŸru çektirilecek. motora gelen elektrıklerın kutupları ve fazları uygun olması lazım. birde switch deÄŸiÅŸimleri sırasında ark oluÅŸmasını onlemek ve voltaj deÄŸiÅŸikliklerini azaltmak için uygun voltaj ve guçte kondansatör de kullanmakta fayda var, ayrıca motor kutuplarında ters akımlar oluÅŸur dc akımla besliyorsanız motoru bu ters akımları da topraÄŸa doÄŸru bir diyotla yönlendirmeniz lazım vs vs…

      • Fazıl TaÅŸ dedi ki:

        Merhaba Ömer bey, Arduino uno , 2 kanallı röle ve 12volt su motoru malzemelerim var
        Bağlantıları yapıyorum röle çalışıyor fakat 220volt elektriği roleye bağlayınca elektirikler kesiliyor sigorta atıyor, su motorunu çalıştıramadım sebebi ne olabilir?
        Kullandığım örnek su motoru bu özelliklerde: Volt: DC 12 V, Akım: 80mA ve
        örnek 2 kanallı role bu bağlantıda: https://www.direnc.net/5v-2-kanal-role-karti

        • Fazıl dedi ki:

          pardon yanlışımı farkettim 🙂 teşekkür ederim iyi çalışmalar

        • Ömer Koman dedi ki:

          röle; yukün guc bağlantılarından seri bağlanması lazım sanırım bunu yanlış yapıyorsunuz.

    • Ömer MERCÄ°MEK dedi ki:

      Merhabalar,
      Elektrik kesintisinde Arduino başlangıç pozisyonuna geldiği için röleler de 0 volt tetikleme ucuyla normalde açık standart konumlarına dönüyor elektrik kesintisinde istemsiz bir şekilde röleler e bağlı alıcılar çalışmaya başlıyor bu soruna cevap ararken yazılan bu yazıda cevabı buldum.
      Röleler in normalde kapalı NC kullanirsam Arduino dan aç komutu verdiğim zaman kapanacak kapat komutu verdiğim de alıcılar çalışacak yani elektrik kesildiğinde alıcı çalışmayacak
      Bilgi paylaşım lariniz için teşekkür ederim.

  7. […] ölçüm hassasiyetine sahip DS18B20 sıcaklık sensörü ve röle devresi kullanarak dijital termostat yapabilir ya da sensörden aldığımız sıcaklık verilerini SD kart […]

  8. Hamdi dedi ki:

    Merhaba Ömer Bey;

    arduino ile kızılötesi röle kontrolü yaptım.

    Kumandanın tuşuna basıldığı zaman röle aktif oluyor.

    Başka tuşa basıldığı zaman röle pasif oluyor.

    Ben;

    Aynı tuşa 1 kere bastığımda açılsın birdaha baştığımda kapansın istiyorum.Nasıl yapacam yardımcı olabilir misiniz?

  9. Ömer Koman dedi ki:

    programın içinde bir değişkene rolenın durumunu kaydet 1 veya sıfır gibi aynı butona her basıldığında bu değişkeni onceki değerin tersini al.
    eÄŸer roledurum=1 ise roledurum=0 gibi biÅŸey yaz.
    kodun daha aşağısında ise röle durumuna göre röleyi kontrol et. bol bol deneyin yahu bu kadar basit şeyleri nasıl düşünmüyorsunuz hayret birşey, beyin bedava kullansana kardeşim.

  10. bana 8 veya 16 roleye sahip bir devre şeması lazım üzerinde Optokuplör de bulunması gerekiyor yardımcı olabilirmisiniz..

  11. Yusuf karaca dedi ki:

    Ben arduno ile fanlar. Düsük calstıgı icin röle takacam daha iyi calsması icin. Mq 4 gaz sensoru deger alnca fanlar donecek ama röle ve optokuplör bide transstor kullanmam gereki sema onerebilirmisiniz tsk

  12. Canberk dedi ki:

    Ben 3 tane röleyi aynı anda belirli zaman aralıkları ile kontrol etmek istiyorum ve bunu da bir buton ile başlatmak istiyorum yardımcı olabilirmisiniz

  13. busra dedi ki:

    iyi günler ben bluetootlu ile led kontrolü yapıyorum. Led yerine ampul kullanmak istedim bunun için röle kullanmamın lazım olduğu söylendi. Nasıl ve ne şekilde olacağı hakkında bilgi verebilir misiniz

    • Ömer Koman dedi ki:

      yukarıdaki yazıyı okumanızı ve uygulamanızı tavsiye ederim. kopyala yapıştır mantığı da bir yere kadar.

  14. Selim dedi ki:

    Merhabalar Ömer bey,
    Küçük bir projem var. Sizi internetten yorumlarınızı takip etmeye çalışıyorum. acaba yardımcı olabilir misiniz? aralarında 2-3 metre mesafe olan 4 erli röle 20 adet modülü uzaktan kablosuz olarak arduino kullanarak bilgisayardan kontrol etmek ve istenilen herhangi 1,2,3 veya 4 adet röleyi kapatıp açabileceğim bir devrenin yapılması hususunda yardımcı olabileceğiniz zamanınız var mıdır? acaba? Bir de Arduino ile max kaç bitlik ADC yapılabiliyor (24 bite kadar yolu vardır) ve bu konuda da aynı proje içerisinde yardımcı olabilirseniz çok çok memnun olurum. Cevabınız ve destekleriniz için şimdiden çok çok teşekkür ediyorum.

    • Ömer Koman dedi ki:

      Manchaster veya virtualwire kutuphanelerini deneyin 433mhz rf modullerle calisir. Uno daki adc ler 10bit tir. 1024 adim olcer 5v tu. Ozel proje yapacak vaktim yok foruma gelin

  15. Mahmut dedi ki:

    Merhaba Hocam.
    Öncelikle bu işlerde çok çok başlardayım.Merak ettigim Arduino üzerinde çok yüksek akım ve volt çeken devreler kontrol etmek.Bunu nasıl yapa bilirim.?
    Biraz araştırdım rölelerden bahsediliyor röle nedir öncelikle neden 3 çıkışı var girişte vc gn in var şimdi vc gn ye ben elektirik akımını veriyorum atıyorum 220 volt gn yide topraklama yaptım.Arduinodan ben in pinine küçük voltajlarla akım verirsem geçiyormu?
    Birde merak adiyorum yine transistör varsa neden röle kulanılıyor?
    Oda küçük akımla yüksek voltajlı akımları geçirmeye yaramıyormuydu?

  16. Selim dedi ki:

    Teşekkür ediyıorum sağolun Ömer bey verdiğiniz cevap için. Arduino ile max 10 bit mi ADC yapılabiliyor acaba?

    • Ömer Koman dedi ki:

      atmega328 de adc 10bit tir daha fazla çözünürlük lazımsa harici bir adc modul kullanmanız lazım.

  17. Selim dedi ki:

    TeÅŸekkür ediyorum verdiÄŸiniz cevaplar için. 10 bit yetersizdir diye düşünüyorum benim yapmayı düşündüğüm proje için 🙂 TeÅŸekkürler…

  18. Mesut dedi ki:

    Ömer bey merhabalar,
    Size sorum elektrik akımını röleler yardımı ile gecikmeli olarak kullanabilirmiyim.. ÖRnek olarak belirtmek gerekirse, elektrik kesildiğinde ve ardından tekrar geldiğinde gecikmeli olarak mesela 10 dakika kadar gecikme ile tekrar elektrik akımını iletebilirmiyim? Bunun için uygulamam gereken bir örnek mevcut ise lütfen paylaşırmısınız? Saygıları..

    • Ömer Koman dedi ki:

      kendiniz yapabilirsiniz. yukarıdaki uygulamadan faydalanabilirsiniz. elektrik geldiğinde arduino çalışmaya başlayacaktır siz de geçen zamanı hesaplayıp sure doldugunda roleyi çektirirsiniz.

  19. ozan dedi ki:

    Merhaba ömer bey Ben 4 tane led kullandığım devremde yanan ledlerin sayısına göre röleyi çektirmek istiyorum.Örneğin iki ya da daha fazla led yanarken röle çekilecek gibi.acs714 akım sensörü kullandım ancak geçen akım çok az olduğundan değişimi algılayamadı.Başka bir öneriniz var mı acaba?

    • Ömer Koman dedi ki:

      ledli devrede size aitse yaktıgınız ledide bılıyorsundur oradan roleyı cektıremıyormusunuz. foruma gelin sorun bırde…

  20. Samet dedi ki:

    Ardunio ile kapı kilit motoru kontrol devresi yapmak istiyorum yardımcı olabilecek var mi ?

  21. ümit dedi ki:

    ömer hocam merhaba,

    benim ardunio la ilgili benim için zor sizin için basit olabailecek bir sorum oılacak bunu buradan acıklamam biraz zor
    rica etsem iletiÅŸim alabilirmiyim?
    ümit (edit:telefon no kaldırıldı)

    • Ömer Koman dedi ki:

      benim için de zor ÅŸeyler var, hergun benzer konu için gelen 40 kiÅŸiye tek tek böyle cevap veriyorum vaktimin olmadığını, özel proje, konu, çözüm, sunmadığımı söylüyorum. foruma gelip yazın birileri cevap verecektir… kolay gelsin

  22. Kadir dedi ki:

    Merhabalar. Ben Arduino ve röle kullanarak otomobil camları için otomatik cam kapama/açma sistemi yapmak istiyorum. Bu konuda çözemediğim konu şu. Cam motoru zorlandığında, sıkıştığında veya tam kapanıp açıldığında rölenin çekmeyi bırakıp cam motoruna giden enerjiyi kesmesini nasıl sağlayabilirim. Cevaplarsanız sevinirim. Bu arduino konusunda daha yeniyim ve bir şeyler öğrenip uygulamak istiyorum. Yardımcı olursanız sevinirim. Teşekkürler.

    • Ömer Koman dedi ki:

      bazı motor suruculer motorun çektiği akımı okumanızı sağlayacak analog çıkışlara sahip olabiliyor bu çıkışı adc ıle okuyup aşırı akım çekımınde motor surmeyı durdurabılırsınız.
      siz role ıle motoru surdugunuzden cekılen akımı hesaplayacak bır devre yapmanız lazım bunun için ya hazır akım sensoru kullanın yada bir opamplı devre kurup akımı voltaja donusturup arduinonun adc si ile olcup gereklı eşik değerlerde roleyı durdurun. foruma da gelin

      bazı linkler
      http://www.vwlowen.co.uk/arduino/current/current.htm
      http://www.n1ir.com/2011/05/current-to-voltage-converter.html kullanılan sensor http://www.ti.com/product/LMP8603 akım sesnoru

      http://www.ti.com/lit/ds/symlink/ina200.pdf sayfa 15 de aşırırı akımda devre kapama orneğide var.

      • Kadir dedi ki:

        Cevabınız için teşekkür ederim. Anladığım kadarıyla role dışında motor sürücüleriyle de bu dediğim proje yapılabiliyor. Hatta akım takip eden sürücüler kullanılarak zorlayınca enerjiyi kesmek daha da kolay oluyor. Bakalım daha arduino da yeniyim. Biraz daha kendimi geliştirip bu projeye girişecem.Forum sitesi varsa oradan da konuları talip edecem.Hem de oradan yeni fikirler edinmemde çok faydalı olur. Teşekkürler

  23. mehmettv dedi ki:

    ardunio ile söylebirdevra hazırlamak,istiyorum:
    2×16 ekranda zaman ayarı yapabileceÄŸim 2 röleyi istediÄŸim süre boyunca ritmik olarak çalıştırmak istiyorum bunun nekadar süre çalıştığını ve belirlediÄŸimsüre sonunda durmasını istiyorum ekrana da 30 sn snra dilediÄŸimyazıların ekran koruyucu olarak geçmesini…… g,bibir proje için bana yardımcı olabilirmisniz.

    • Ömer Koman dedi ki:

      boyle bır projeyı siz yapabilirsiniz foruma gelin yazın ama bıraz kodunuzu sız ılerletın yani 2xlcd yi arduinoya bağlayın gerekli yazıları yazmayı halledın. role açma kapama işlerını bir yapın gerıye surelerle ılgılı kısımlarda forumdan yardımcı olan cıkacaktır.

  24. Barış Kurt dedi ki:

    Merhaba;
    ben uzaktan kumanda ile 3 röleyi kontrol ediyorum çok iyi çalışıyor.
    almış olduğum role bu linkteki rolenin 5 voltla tetikleneni: http://chipstore.us/wp-content/uploads/2015/07/1_channel_relay_1.jpg
    Bu tip roleler her kaynakta (satış yapılan siteler ve kullanımı anlatılan web sayfaları/youtube videoları) arduino için direk bağlanabileceği yazıyor.
    kullanım sırasında voltmetre ile çekilen akımı kontrol ettiÄŸimde 70 mAh’lik bir deÄŸer çıkmakta. BildiÄŸimiz gibi arduinonun bir piminden ise max 20 mAh akım çekebilmekteyiz. Denemelerimde sistem çok iyi çalışıyor ama uzun süreli kullanımda bu akım farkı arduino için sorun yaratır mı? Yoksa ben mi bir noktayı kaçırmaktayım çünkü tüm kaynaklarda bu röleleri direk arduino ile sürebileceÄŸimiz yazmakta.

    • Ömer Koman dedi ki:

      70ma tek pin hatta arduıno ıcın çok fazla kesin sorun yaşarsınız. verdiğiniz modulun şemasını veya diğer tarafını goremiyorum mutlaka bır surucu transıstor olması lazım yoksa size uygun değil araya mutlaka bır transıstor devresı koyun.

  25. Vasfi dedi ki:

    merhaba
    4 Röleli 4 buttonlu röle kontrolü yapmak istiyorum.Ama yapamadım olmuyor.
    Button 1e basıldığında 1.röle cekecek, 2.ve 3.röle kapalı, Button 2 ye basıldığında 2.röle çekecek 1.ve 3.röle kapalı, Button 3 e basıldığında 3.röle çekecek 2.ve 1. röle kapalı olacak.
    4.Button 4.Röleyi açıp kapatacak.bana yardımcı olacak arkadaşlardan haber bekliyorum.

    • Ömer Koman dedi ki:

      kolay gelsin foruma gelin yazdığınız kodu paylaşın roleyı nasıl bağladıgınızı anlatın

  26. vasfi dedi ki:

    merhabalar Yeni yılınız kutlu olsun.
    Arduino ile röleyi button ile açma kapama devresini kodlamaya çalıştım ama yapamadım.yardıma ihtiyacım var.şöyle olmasını istiyorum. Button 1e basıldığında önce 2.ve 3.röleler kapanacak 1.röle açılacak, 2.button basıldığında önce 1.ve 3. röle kapanacak 2.röle açılacak. 3. buttona basıldığında önce 1.ve 2.röleler kapanacak 3.röle açılacak.
    4. button ise yanlız 4.röleyi açıp kapatacak.
    kodlarım böyle bu kadarını yapabildim.o da çalışmıyor..
    /* 3_button_3relay
    1on_2_off_3off
    2on_1off_2off
    3on_2off_2off
    */
    int pinButton1 = 8;
    int Relay1 = 2;

    int pinButton2 = 7;
    int Relay2 = 3;
    int pinButton3 = 9;
    int Relay3 = 4;
    int stateRelay = HIGH;
    int stateButton;
    int stateRelay2 = HIGH;
    int stateButton2;
    int stateRelay3 = HIGH;
    int stateButton3;
    int previous = LOW;
    long time = 0;
    long debounce = 500;

    void setup() {

    pinMode(pinButton1, INPUT);
    pinMode(Relay1, OUTPUT);
    pinMode(pinButton2, INPUT);
    pinMode(Relay2, OUTPUT);
    pinMode(pinButton3, INPUT);
    pinMode(Relay3, OUTPUT);

    }

    void loop()
    //{
    //stateButton = digitalRead(pinButton1);
    // if (digitalRead(pinButton1)== LOW or digitalRead(pinButton1)== HIGH or digitalRead(pinButton2)== LOW or digitalRead(pinButton2)== LOW )

    {
    stateButton = digitalRead(pinButton1);
    if (stateButton == HIGH && previous == LOW && millis() – time > debounce) {
    if (stateRelay == HIGH) {
    stateRelay = LOW;
    } else {
    stateRelay = HIGH;
    }

    time = millis();
    }

    {
    stateButton2 = digitalRead(pinButton2);
    if (stateButton2 == HIGH && previous == LOW && millis() – time > debounce) {
    if (stateRelay2 == HIGH) {
    stateRelay2 = LOW;
    } else {
    stateRelay2 = HIGH;

    }
    time = millis();

    {
    stateButton3 = digitalRead(pinButton3);
    if (stateButton3 == HIGH && previous == LOW && millis() – time > debounce) {
    if (stateRelay3 == HIGH) {
    stateRelay3 = LOW;
    } else {
    stateRelay3 = HIGH;
    }
    time = millis();

    }
    {
    digitalWrite(Relay1, stateRelay);
    previous == stateButton;

    }
    digitalWrite(Relay2, stateRelay2);
    previous == stateButton2;
    }
    }
    digitalWrite(Relay3, stateRelay3);
    previous == stateButton3;

    }
    }

  27. Rıfat dedi ki:

    Merhabalar herkese ben güvenlik sistemi yapmak istiyorum. Ve bir sorum olacaktı sizlere. 17.5 amperlik bir cihazı Arduino için aldığım 8’li role kartı ile kontrol edebilir miyim. TeÅŸekkür ederim.

    • Ömer Koman dedi ki:

      8 li röle kartının ustundeki her bir rolenın ustunde kontrol edeceği akım mıktarı yazar istedıgınız degerlerden fazlaysa kontrol eder 6A 12A gibi degerler varsa kontrol etmez yada kontak ucları yanar. 20-40A gibi bir deger varsa kontrol etmesı lazım..

      • Rıfat dedi ki:

        Ömer Hocam kontrol ettim hepsinin üzerindeki değerler aynı.
        12VDC
        10A 250VAC

        15A 125VAC

        10A 250VAC
        Peki Hocam başka bir yolu yok mudur yani bu elimdeki role ile 5v çıkış ile 17.5 amperlik ve hatta daha yüksek amperlik cihazları kontrol etmem gerekecek, 250 kw 380v ve ortalama 65 amperlik bir motoruda kontrol etmem gerekecek. Hocam ben bir cihaz tasarladım yakında inşallah tamamlanacak. Bu cihazın korunması için yapıyorum bu sistemi GSM Shiled de aldım mesaj kontrollü olmasını istiyorum. Fakat öncelikle bu sorunu halletmem gerekecek. Ve birkaç sıkıntım daha var. Çok teşekkür ederim.

        • Ömer Koman dedi ki:

          bu kadar yuksek akım ve voltajları standart basit rölelerle kontrol etmeyın cok zarar edersınız. tecrubenız yolsa ılgılı motorlar ıcın yapılmıs ozel suruculerı araştırın piyasadan. bu calsımada arduınoyu tavsıye etmıyorum kontrol açısından yapabılse de arduınoda koruma ve uygun malzemeler kullanılmadıgından projenız yurumez cok kısa surede bozulacaktır. motor ve motora, voltaja baglı tum cıhazlarınız cok guzel yanacaktır.

          • Rıfat dedi ki:

            Ömer Hocam merhabalar.. o sorunu bir şekilde hallettim daha zayıf güç geçen bir kontrol noktası buldum oradan halletmeyi düşünüyorum yalnız Gsm Shield cihazı aldım çalışmıyor mu çalıştıramadım mı anlayamadım bir türlü QUECTEL M95 Modeli bu kodlar da bir yanlışlık olduğunu sanmıyorum hocam ve mesaj hakkı var pin kodunu kaldırdım IMEI NUMARASIDA KAYITLI ACİL DÖNÜŞ YAPARMISINIZ ACABA EĞER CİHAZDA ARIZA VARSA ŞAYET GERİ GÖNDEREYİM VAKTİM KALMADI DA TEŞEKKÜRLER SAYGILAR.

            #include
            SoftwareSerial gsm(2, 3);
            String smsMetni = “”;
            char gelen;

            #define LED_PIN 12
            #define ISIK_PIN 11
            #define BEKLE 3

            void SMSgonder(String mesaj) {
            gsm.print(“AT+CMGF=1\r”);
            delay(100);
            gsm.println(“AT+CMGS=\”+905555555555\””);
            delay(100);
            gsm.println(mesaj);
            delay(100);
            gsm.println((char)26);
            delay(100);
            gsm.println();
            delay(100);
            gsm.println(“AT+CMGD=1,4”);
            delay(100);
            gsm.println(“AT+CMGF=1”);
            delay(100);
            gsm.println(“AT+CNMI=1,2,0,0,0”);
            delay(200);
            smsMetni = “”;
            }

            void smscoz() {
            while (gsm.available()) {
            delay(BEKLE);
            gelen = gsm.read();
            if (gelen == ‘#’) {
            if (gsm.available()) {
            delay(BEKLE);
            gelen = gsm.read();
            if (gelen == ‘L’) {
            if (gsm.available()) {
            delay(BEKLE);
            gelen = gsm.read();
            if (gelen == ‘E’) {
            if (gsm.available()) {
            delay(BEKLE);
            gelen = gsm.read();
            if (gelen == ‘D’) {
            if (gsm.available()) {
            delay(BEKLE);
            gelen = gsm.read();
            if (gelen == ‘a’) {
            digitalWrite(LED_PIN, HIGH);
            SMSgonder(“LED acildi”);
            }
            else if (gelen == ‘k’) {
            digitalWrite(LED_PIN, LOW);
            SMSgonder(“LED kapatildi”);
            }
            }
            }
            }
            }
            }
            }
            else if (gelen == ‘I’) {
            if (gsm.available()) {
            delay(BEKLE);
            gelen = gsm.read();
            if (gelen == ‘S’) {
            if (gsm.available()) {
            delay(BEKLE);
            gelen = gsm.read();
            if (gelen == ‘I’) {
            if (gsm.available()) {
            delay(BEKLE);
            gelen = gsm.read();
            if (gelen == ‘K’) {
            if (gsm.available()) {
            delay(BEKLE);
            gelen = gsm.read();
            if (gelen == ‘a’) {
            digitalWrite(ISIK_PIN, LOW);
            smsMetni = “Isik acildi”;
            SMSgonder(smsMetni);
            }
            else if (gelen == ‘k’) {
            digitalWrite(ISIK_PIN, HIGH);
            smsMetni = “Isik kapatildi”;
            SMSgonder(smsMetni);
            }
            }
            }
            }
            }
            }
            }
            }
            }
            }
            }
            }
            }

            void setup() {
            pinMode(LED_PIN, OUTPUT);
            pinMode(ISIK_PIN, OUTPUT);
            digitalWrite(ISIK_PIN, HIGH);
            pinMode(7, OUTPUT);
            digitalWrite(7, HIGH);
            delay(3000);
            digitalWrite(7, LOW);
            gsm.begin(9600);
            delay(2000);
            gsm.println(“AT+CMGF=1”);
            delay(100);
            gsm.println(“AT+CNMI=1,2,0,0,0”);
            delay(100);
            gsm.println(“AT+CMGD=1,4”);
            delay(1000);
            SMSgonder(“Sistem Acildi”);
            gsm.flush();
            delay(100);
            }

            void loop() {
            smscoz();
            delay(1);
            }

          • Ömer Koman dedi ki:

            gsm modul kullanıpta çalıştıranı görmedim, çalıştıranlar da forum dönüş yapıp nasıl çözdugunu belirtmıyorlar. yolladıgınız her at komutundan sonra “ok” alıyormusunız kontrol edin, gsm modulde anten baglımı hat aktıfmı bunlar tamamsa, gsm modulun komut setını ınceleyın, bır seyı atlıyor olabılırsınız, ornek projeler varmı çalışan araÅŸtırdınızmı. forumu kullanın sorularınız ıcın cunku burada gunluk cevap veremeyebılıyoruz forum daha hızlı çalışır ınsanlar sıze katkı saglar.

  28. Rıfat dedi ki:

    Merhabalar hocam elimde HE LI SHUN Şeffaf 2 bölmeli bir röle var 5v dc ile çalışıyor. Arduino ile sinyaller düşük geldiğinden çalışmıyor ama röle sağlam. önerisi olan varsa sevinirim.

  29. Ömer Koman dedi ki:

    transıstor ıle besleyın. sitedekı temel baglantılar yazısında resmı var

  30. Melih Can dedi ki:

    Ömer hocam merhaba en son sizi rahatsız etmekti niyetim fakat çok yerde aradım fakat bulamadım. Ben 2 kanallı röle ile 220 v kontrol ediyorum. Fakat röle bazen çekip bırakmıyor fakat ışığı yanıp sönüyor. Çok ufakda bi ses geliyor ama röle çalışmıyor. Yardımcı olursanız çok sevinirim.

    • Ömer Koman dedi ki:

      siteye pek uğramıyorum yeni gördüm. röle bozuk sanırım kontakları yapışık kalıyor arada galiba. 220 de kısa devre ettiniz galiba. röleyi değiştirn üstünde yazan kod veya benzeri aynı voltaj röle takarsın.

E-posta adresiniz gösterilmeyecek. Gerekli alanlar * ile işaretlidir.

*



Sosyal AÄŸlar