Arduino evdeki lambayı , duvardaki anahtar ile paralel açıp kapatabilmek ?
  • Merhabalar,

    konudaki sorunumu nasıl halledebilirim ? elimde 5v -220 v röle var. normal olarak bir abajuru vs yapabiliyorum. fakat iş tavandaki lambaya gelince hem duvardaki anahtar ile hem de röle ile çalışabilecek bir bağlantı paylaşabilir misiniz? Sanırım kod bakımından bir farklılık olmayacaktır.
  • vaviyen anahtar diye arayabilirsin
  • nasıl bir bağlantı gerekiyor. röleye hangi kablo bağlayıp anahtara gidecek? 3 pini de kullanmam mı gerekiyor ? biraz örnekli yazar mısınız ?
  • rolenin 3 pini de kullanılacak. oda da bulunan mevcut anahtarda değişecek. oda 3 pin olacak. rolenin orta ucu 220 ye bağlanacak. anahtarın orta ucu lambaya gidecek. lambanın diğer ucuna nötr bağlanacak. anahtar ve rolenin kenar uçları birbirine bağlanacak
    rolenin uçlarına A1,O1,B1 dersek
    anahtarın uçlarına A2,O2,B2 dersek
    O1 ve O2 orta uçlar olsun

    A1, A2 ye bağlanacak
    B1, B2 ye bağlanacak
    O1 e 220V bağlanacak
    O2 lambaya bağlanacak

    vaviyen anahtar diye aratınca gerekli çizimler çıkardı. çizimleri anlayamadınız mı
  • şuan anlattığınızdan anladım fatih bey.
    fakat mevcut evdeki anahtar değişmeden mümkün değil sanırım. benim bildiğim faz girip çıkıyor evdekilerde. toprak yoksa o iş biraz zor o zaman?
  • anahtarı 3 pinli ile değiştirmen yeterli olur. tek farkı orta uçlar verdiğim örnek de ki gibi değilde rolenin orta ucu lambaya gider. anahtarın orta ucu 220 ye bağlanır. aynı mantık bir farkı yok. kablolama zor iştir. o konuda haklısın
  • teşekkür ederim bilgileriniz için. nrfl verici-alıcılar da gelsin. evde en azından çoklu prizler ve lambaları bt ile daha az kablo ile halledeceğimi düşünüyorum. hali hazırda uzaktan kumanda ve bt ile çalıştırdığım abajurum var :D
  • Evdeki anahtar bir kutup 2 yollu olmadığı için, şuan sadece arduino , android üzerinden aç kapa yapabildim. Bir vavien anahtar alayım en iyisi :). Evdeki odamın birini akıllı oda yapacağım bu gidişle. Şuan lamba, nem, ısı, yangın sensörleri çalışıyor bt üzerinden. :)
    App inventor 2 kullanarak android prg sini oluşturdum. Arduino kodlaması oldukça kolay bir yazılımcı için :) İsteyen olur ise paylaşabilirim.

    Desteğiniz için teşekkürler.
  • Tebrikler,
    Fakat 220v ile uğraşırken kontrolleri 2 kere yapmanı izolasyonu 3 kere yapmanı tavsiye ederim. Çünkü 1 kere yanlış yapma hakkın olduğunu unutma.

    Bide eğer kodların özel değilse paylaşman, bir sonraki arkadaşlar için muhahhak yardımcı olacaktır.
  • Şuan vavien sistem de tamam. Yardımları için "fatihaslamaci"'ya tekrar teşekkür ederim.

    Kod bloğum da aşağıdaki gibidir.

    #include < virtuabotixRTC.h>
    #include < Wire.h>
    #include < LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x27,16,2);
    #include < dht11.h>
    #define DHT11PIN 11
    #include < SoftwareSerial.h>
    virtuabotixRTC myRTC(6, 5, 4);
    SoftwareSerial btserial(2,3);// rx,tx bt
    dht11 DHT11;

    int relay1=8;
    int led1d;
    int led2d;
    int led3d;
    int relay1d;
    char unChar;
    String data;
    int led1=12;
    int led2;
    int led3;
    int ISINEMgonder;
    int say;

    void setup()
    {
    lcd.init();

    pinMode(relay1,OUTPUT);
    pinMode(led1,OUTPUT);
    lcd.backlight();

    Serial.begin(9600);
    //myRTC.setDS1302Time(50, 00, 00,4, 15,03, 2017);
    btserial.begin(9600);

    relay1d=0;
    }
    void loop()
    {
    while(btserial.available())
    {

    unChar = btserial.read();
    data +=unChar;

    delay(1);
    if(data=="S") // servo motoru S komutu ile çalıştırır.
    {
    motor1();
    }
    if(data=="ab") // led 1 i ab komutu ile açar
    {if(led1d==0)
    {
    digitalWrite(led1,1);
    led1d=1;
    }

    }
    if(data=="ba"){ // led 1 i ba komutu ile kapatır
    if(led1d==1)
    {
    digitalWrite(led1,0);
    led1d=0;
    }}
    if(data=="ca") // led 2 yi ca komutu ile açar
    {
    if(led2d==0)
    {digitalWrite(led2,1);
    led2d=1;
    }}
    if(data=="ac") // led 2 yi ac komutu ile kapatır
    {if(led2d==1)
    {digitalWrite(led2,0);
    led2d=0;
    }}
    if(data=="ea") // led 3 ü ea komutu ile açar
    {if(led3d==0)
    {
    digitalWrite(led3,1);
    led3d=1;
    }}
    if(data=="ae") // led 3 ü ae komutu ile kapatır
    {
    if(led3d==1)
    {digitalWrite(led3,0);
    led3d=0;
    }}
    if(data=="fa") // röle 1 i fa komutu ile açar
    {if(relay1d==0)
    {digitalWrite(relay1,1);
    relay1d=1;
    }
    }
    if(data=="af") // röle 1 i af komutu ile kapatır
    {if(relay1d==1)
    {digitalWrite(relay1,0);
    relay1d=0;
    }
    }
    if(data=="ga")
    {
    ISINEM();
    }
    if(data=="ag")
    {
    delay(50);
    btserial.print("Mesafe : ");
    //btserial.print(sonar.ping_cm());
    btserial.println(" cm\n");
    }
    if(data=="ha")
    {
    lcd.backlight();
    }
    if(data=="ah")
    {
    lcd.noBacklight();
    }

    //Serial.println(data);


    }
    data="";
    myRTC.updateTime();




    if(say % 2000==0 ){
    LcdIsinem();}

    if(say %4000==0){LcdTarih();}
    say++;



    }



    void motor1() // Servo motoru gelen değer ile açısal hareket ettirir.
    {
    // delay(100);
    // while(btserial.available())
    // {
    //
    // char c =btserial.read();
    // poz=poz+c;
    // }
    // if(poz.length()>0)
    // {
    // btserial.println(poz.toInt());
    // servom.write(poz.toInt());
    // Serial.println(poz);
    //
    // poz="";
    // }
    }

    void ISINEM()
    {
    ISINEMgonder=2000;
    int chk = DHT11.read(DHT11PIN);


    btserial.print("Nem(%): ");
    btserial.print((float)DHT11.humidity, 0);

    btserial.print(" Sicaklik : ");
    btserial.print((float)DHT11.temperature, 0);
    btserial.println();


    delay(1);

    }

    void LcdIsinem()
    {
    lcd.setCursor(1,0);
    int chk = DHT11.read(DHT11PIN);
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Sicaklik:");
    lcd.setCursor(10,0);
    lcd.print((float)DHT11.temperature,0);
    lcd.setCursor(12,0);
    lcd.print("'C");
    lcd.setCursor(0,1);
    lcd.print("Nem %:");
    lcd.setCursor(7,1);
    lcd.print((float)DHT11.humidity,0);
    }
    //delay(2000);
    void LcdTarih()
    {
    lcd.clear();
    lcd.setCursor(0,0);

    lcd.print(myRTC.dayofmonth);
    lcd.setCursor(2,0);
    lcd.print(".");
    lcd.setCursor(3,0);
    lcd.print(myRTC.month);
    lcd.setCursor(5,0);
    lcd.print(".");
    lcd.setCursor(6,0);
    lcd.print(myRTC.year);
    lcd.setCursor(0,1);
    lcd.print(myRTC.hours);
    lcd.setCursor(2,1);
    lcd.print(":");
    lcd.setCursor(3,1);
    lcd.print(myRTC.minutes);
    lcd.setCursor(5,1);
    lcd.print(":");
    lcd.setCursor(6,1);
    lcd.print(myRTC.seconds);
    //delay(2000);
    }





  • Tebrikler, yazdığın kodları github.com da barındırmanı tavsiye ederim.
  • İyi olacak Fatih Bey. Bilgi paylaştıkça çoğalır ve değerlenir mottosuna katılıyorum.

    Hemen hesap oluşturup gerekli dosyaları upload ettim.
    https://github.com/gkoylu/smartroom.git
  • Merhabalar, ben de aynı bunun gibi bir proje ile uğraşıyorum. Konudaki herkes çok güzel bilgi paylaşımlarında bulunmuşlar ellerinize sağlık. Fakat anlamadığım bir yer var. Arduino enerjiyi nereden alıyor anahtar içerisine gömdüğümüzde? Orasını anlamadım. Tekrardan anlatabilir misiniz acaba?
  • Sn. Emou.

    Ben suan priz icine gommedim. Prizden 3 adet kablo cikiyor anahtarin altindan. O da direk disaridaki arduinoya bagli olan röleye gidiyor. Suan arduinom ise 9v lik adaptor ile besleniyor. Sistem yazdigim tarihten sonra hic kapanmadi. Herhangi bir kacak vs yanma patlama olmadi.

    Priz icinde yeterli bosluk saglanirsa 9vlik pil veya 220 den 9 12 v lik voltaj regulatoru ile beslenebilir. Benim boyle bir imkanim olmadigi icin disaridan baglaniyor. Vavien gibi calisiyor sistem. Anahtar ile basinca acarsan arduinodan kapatabiliyorsun veya tam tersi.
  • Yorumunuz için teşekkür ederim gkoylu.

    Biraz konu dışına çıkarak genel bir soru soracağım, kusuruma bakmayın lütfen. Vaviyen anahtar, vb. oralarda hiçbir sorunum yok. Fakat yakında bir priz olmadığını ve dışarıdan kablo dolaştırmadan nasıl anahtar içerisindeki Arduino'yu regülatör ile besleyebiliriz?

    Daha da basitleştireyim üstte yazdığımı. Arduino'yu anahtar içerisine gömmek ve enerjisini tamamen oradan almasını istiyorum. Yakında priz yok ve pil kullanılmayacak. Regülatör ile 220V istediğimiz seviyeye gelebilir fakat ampüle etki etmeden regülatör için kullanılacak enerjiyi anahtar içerisinden nasıl alabiliriz? Ya da alabilir miyiz daha doğrusu?

    Elektrik tesisatı hakkında pek bilgim yok, sizi de sorumla bunaltıyor gibi hissediyorum, kusura bakmayın.
  • İnanın ben de bilmiyorum. Bilen arkadaşlar mutlaka vardır.
  • 220v öldürür dıkkatlı olun önlem alın.
    bıraz gelişmiş konu bu, led ampullerde 220 den 12 veya daha dusuk voltajlara dusuren regulatorler var fazla akım vermezler belkı max 50-80ma cıvarıdır onları araştırın ama pek satılmaz kendınız yapmanız lazım trafosunu da kendınız sarmanız lazım.
    ac duya veya anahtara tek kablo gelir gibi dursada aslında o tek kablo doner dolaşır notre gıder o kablonun ucunu avometreyle seri olarak ölçersenız 220v okursunuz yıne ;)
    but tip ac kontrol işlerını ana sıgorta kutusu ustune de yaparsanız daha şık olur.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.