Çalışacak cihazı seçebilen röle

arches

Üye
Katılım
11 Şub 2014
Mesajlar
17
Puanları
1
Merhaba arkadaşlar,

Arduino Uno, Dht22, Tek kanal röle ve 128x32 oled ile bir devre hazırladım.

Devrenin amacı ortamda ki nem değeri %80 olduğunda bir adet fanı egzos amaçlı çalıştırmak.

Bir çok deneme sonrasında sistemin düzgün çalıştığını ve rölenin bir çok 220V cihazı çalıştırabildiğini gözlemledim.

Ancak röleye resimlerde görünen 220v ile çalışan fanı bağladığımda röle tetikleme sorunu yaşıyor ve sistemi kitliyor.

Aslında devrenin amacı bu fanı kontrol etmek.

Ne var ki fandan başka herşeyi çalıştırıyor.

Bir fikri olan varsa lütfen bilgi paylaşımında bulunsun, ben çok uğraştım ama sonuç alamadım.

Aşağıda devre fotolarını ve kodları da belirttim.

Şimdiden teşekkür ederim…



#include <DHT.h> //DHT kütüphanesi.

#include <Adafruit_SSD1306.h> //OLED kütüphanesi.

#include <Adafruit_GFX.h> //OLED kütüphanesi.

#include <Wire.h> //OLED kütüphanesi.



#define SCREEN_WIDTH 128 // OLED ekran pikseli

#define SCREEN_HEIGHT 32 // OLED ekran pikseli

#define OLED_RESET 4

#define DHTPIN 8 //Dht sensör pini.

#define DHTTYPE DHT22 //Sensör türünü tanımlama.

#define role 2 // Röle sinyal pini tanımlama.



Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

DHT dht(DHTPIN, DHT22);



void setup()

{

pinMode(role, OUTPUT);

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

display.display();

delay(10);

display.clearDisplay ();

dht.begin();

}



void loop()

{

delay(1000);

float nem = dht.readHumidity(); //Nem değerini alır.

float sicaklik = dht.readTemperature(); //Sıcaklık değerini alır.



if (isnan(nem)) //Sensörden veri alınmazsa uyarı vermesi için.

{

display.clearDisplay (); // ekranı sil

display.setTextSize (2);

display.setCursor (5,6); // isi yazı konumu (yatay, dikey)

display.print ("VERI YOK");

display.display ();

}

else

{

display.clearDisplay (); // ekranı sil

display.setTextSize (2); // yazı boyutu

display.setTextColor (WHITE); // yazı rengi

display.setCursor (0,10); // isi yazı konumu (yatay, dikey)

display.print ("ISI");

display.setCursor (46,10); // ısı verisi konumu (yatay, dikey)

display.print(String(sicaklik)); //display temperature from sensor

display.drawCircle (110,3,2, WHITE);

display.display ();

delay(2000);



display.clearDisplay (); // ekranı sil

display.setTextSize (2); // yazı boyutu

display.setTextColor (WHITE); // yazı rengi

display.setCursor (0,10); // nem yazı konumu (yatay, dikey)

display.print ("NEM");

display.setCursor (40,10); // % isaret konumu (yatay, dikey)

display.print("%");

display.setCursor (55,10); // nem verisi konumu (yatay, dikey)

display.print (String(nem));

display.display ();

delay(2000);

}

if (nem >= 80) //Eğer Nem %80'in üzerindeyse

{

digitalWrite(role, LOW);

display.clearDisplay (); // ekranı sil

display.setTextSize (2); // yazı boyutu

display.setTextColor (WHITE); // yazı rengi

display.setCursor (12,10); // yazı konumu (yatay, dikey)

display.print ("FAN ACIK");

display.display ();

delay(2000);

}

else

{

digitalWrite(role, HIGH);

display.clearDisplay (); // ekranı sil

display.setTextSize (2); // yazı boyutu

display.setTextColor (WHITE); // yazı rengi

display.setCursor (0,10); // yazı konumu (yatay, dikey)

display.print ("FAN KAPALI");

display.display ();

delay(1000);

}

}
 

Ekli dosyalar

  • 12361F36-4950-4D50-99BB-F48679F54554.jpeg
    12361F36-4950-4D50-99BB-F48679F54554.jpeg
    403.5 KB · Görüntüleme: 22
  • AE8D2B08-69EB-4096-9FB1-5A578FD46F83.jpeg
    AE8D2B08-69EB-4096-9FB1-5A578FD46F83.jpeg
    326.3 KB · Görüntüleme: 16
  • 300F5D38-7B11-42DC-ABC5-833C1763F394.jpeg
    300F5D38-7B11-42DC-ABC5-833C1763F394.jpeg
    332.8 KB · Görüntüleme: 11
  • CC7815F3-6B31-4917-BBFE-FA5FDE60D870.jpeg
    CC7815F3-6B31-4917-BBFE-FA5FDE60D870.jpeg
    334.2 KB · Görüntüleme: 22
  • 0D382351-0A97-4314-A93C-A863403357BE.jpeg
    0D382351-0A97-4314-A93C-A863403357BE.jpeg
    374.3 KB · Görüntüleme: 25
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
Merhaba arkadaşlar,

Arduino Uno, Dht22, Tek kanal röle ve 128x32 oled ile bir devre hazırladım.

Devrenin amacı ortamda ki nem değeri %80 olduğunda bir adet fanı egzos amaçlı çalıştırmak.

Bir çok deneme sonrasında sistemin düzgün çalıştığını ve rölenin bir çok 220V cihazı çalıştırabildiğini gözlemledim.

Ancak röleye resimlerde görünen 220v ile çalışan fanı bağladığımda röle tetikleme sorunu yaşıyor ve sistemi kitliyor.

Aslında devrenin amacı bu fanı kontrol etmek.

Ne var ki fandan başka herşeyi çalıştırıyor.

Bir fikri olan varsa lütfen bilgi paylaşımında bulunsun, ben çok uğraştım ama sonuç alamadım.

Aşağıda devre fotolarını ve kodları da belirttim.

Şimdiden teşekkür ederim…



#include <DHT.h> //DHT kütüphanesi.

#include <Adafruit_SSD1306.h> //OLED kütüphanesi.

#include <Adafruit_GFX.h> //OLED kütüphanesi.

#include <Wire.h> //OLED kütüphanesi.



#define SCREEN_WIDTH 128 // OLED ekran pikseli

#define SCREEN_HEIGHT 32 // OLED ekran pikseli

#define OLED_RESET 4

#define DHTPIN 8 //Dht sensör pini.

#define DHTTYPE DHT22 //Sensör türünü tanımlama.

#define role 2 // Röle sinyal pini tanımlama.



Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

DHT dht(DHTPIN, DHT22);



void setup()

{

pinMode(role, OUTPUT);

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

display.display();

delay(10);

display.clearDisplay ();

dht.begin();

}



void loop()

{

delay(1000);

float nem = dht.readHumidity(); //Nem değerini alır.

float sicaklik = dht.readTemperature(); //Sıcaklık değerini alır.



if (isnan(nem)) //Sensörden veri alınmazsa uyarı vermesi için.

{

display.clearDisplay (); // ekranı sil

display.setTextSize (2);

display.setCursor (5,6); // isi yazı konumu (yatay, dikey)

display.print ("VERI YOK");

display.display ();

}

else

{

display.clearDisplay (); // ekranı sil

display.setTextSize (2); // yazı boyutu

display.setTextColor (WHITE); // yazı rengi

display.setCursor (0,10); // isi yazı konumu (yatay, dikey)

display.print ("ISI");

display.setCursor (46,10); // ısı verisi konumu (yatay, dikey)

display.print(String(sicaklik)); //display temperature from sensor

display.drawCircle (110,3,2, WHITE);

display.display ();

delay(2000);



display.clearDisplay (); // ekranı sil

display.setTextSize (2); // yazı boyutu

display.setTextColor (WHITE); // yazı rengi

display.setCursor (0,10); // nem yazı konumu (yatay, dikey)

display.print ("NEM");

display.setCursor (40,10); // % isaret konumu (yatay, dikey)

display.print("%");

display.setCursor (55,10); // nem verisi konumu (yatay, dikey)

display.print (String(nem));

display.display ();

delay(2000);

}

if (nem >= 80) //Eğer Nem %80'in üzerindeyse

{

digitalWrite(role, LOW);

display.clearDisplay (); // ekranı sil

display.setTextSize (2); // yazı boyutu

display.setTextColor (WHITE); // yazı rengi

display.setCursor (12,10); // yazı konumu (yatay, dikey)

display.print ("FAN ACIK");

display.display ();

delay(2000);

}

else

{

digitalWrite(role, HIGH);

display.clearDisplay (); // ekranı sil

display.setTextSize (2); // yazı boyutu

display.setTextColor (WHITE); // yazı rengi

display.setCursor (0,10); // yazı konumu (yatay, dikey)

display.print ("FAN KAPALI");

display.display ();

delay(1000);

}

}
Elinizde ki fanı kaç volt ile çalıştırmayı deniyorsunuz ?
 
Ürünü hem üretici sitesinde hem de diğer satış sitelerinde inceleme yaptım %90 ında çalışma voltaj açıklaması bulamasam da bir yerde 12 volt dc olduğunu gördüm . Yanlış voltaj uyguluyor olabilir misiniz ?
 
Son düzenleme:
Cevap yazdım ama onay gerekiyor. Tekrardan açıklamak gerekirse yanlış voltaj uyguluyor olabilirsiniz , satış sitelerinde aynı markanın farklı ürünlerinin açıklamasında 12 volt dc yazıyor. Sorun bundan kaynaklı olabilir.
 
İlginç. Röleyi arduino'dan biraz uzaklaştırın. Bu tür modüller çok kararlı çalışmazlar. Bir şekilde fanın oluşturduğu parazit etkiliyor olabilir. Mümkünse powerbank ile arduino'yu besleyip deneyin.
 
fan 220v
Ayrıca röleyi uzakta denedim, sonunda bir tane ssd röle aldım sorun devam ediyor
Delircem
 

Forum istatistikleri

Konular
127,950
Mesajlar
913,850
Kullanıcılar
449,598
Son üye
kadir12366

Yeni konular

Geri
Üst