Merhaba arkadaşlar IoT başlangıç seti serimizin ikinicisi olan nodemcu ile röle kullanımını anlatacağım size. İlk önce biraz röle nedir onu konuşalım.
Röle; küçük akımlar ile çalışabilen ve anahtar görevi yapan elektromekanik bir elemandır. İçerisinde bulundurmuş olduğu bobinler sayesinde giriş bacaklarına uygun bir gerilim uygulandığında mıknatıs özelliği kazanırlar ve bobinin karşısında olan metal bir plakayı kendi menziline çekerek bir veya daha fazla kontağı aynı anda hem açıp hem de kapatabilmektedir. Böylece elektrik sinyali ile kumanda edilen çoklu bir anahtar görevi kazanmaktadır.
Rölelerde 2 tip kontak çeşidi ve ortak (com) uçları bulunmaktadır. Bunlar normalde açık (NO), normalde kapalı (NC) kontak sayıları farklı röle çeşitlerinde kontak adetleri değişmektedir. Kontaklar NO NC aynı eş zamanda konum değiştirirler.
[embedyt] https://www.youtube.com/watch?v=K9yMKp_ssN8[/embedyt]
NodeMCU Röle ile Led Yakma
Rölenin ne olduğunu anladığımıza göre devremizi kurmakla işe başlayalım.
Devremizde NO pinine led bağlıdır. Yapacağımız kodlama ile istediğimiz zaman aralığında röle NC durumuna geçecek ve ledimiz sönecek. Aslında bir önceki led yakma dersimizde yaptığımız gibi bu sefer röleyi çıkış olarak belirleyip ledin röle ile anahtarlanmasını sağlayacağız. Kod ise şu şekilde;
#define relay D2
void setup()
{
pinMode(relay, OUTPUT);
}
void loop()
{
digitalWrite(relay,LOW);
delay(1000);
digitalWrite(relay,HIGH);
delay(1000);
}
İsterseniz şimdi bir de bunu blynk ile deneyelim. Devremizde hiç bir değişiklik yapmayacağız. Sadece kodlarda değişiklik yaparak kartımızı Wi-Fi ye bağlayıp blynk üzerinden kontrol sağlayacağız. Kodumuz ise şu şekilde olacak.
#define BLYNK_PRINT Serial
//#ifndef UNIT_TEST
#include <Arduino.h>
//#endif
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define relay D2
int butondurumu=0;
// Blynk uygulamasından aldığınız anahtar(token)'ı buraya giriyoruz.
char auth[] = "**********************";
// Wifi ayarlarınız buraya girilecek.
char ssid[] = "*************"; //internet adınızı yazın
char pass[] = "*************"; //internet şifrenizi yazın
/////////////////Blynk üzerinden ESP'ye komut gönderme/////////////////////////////////////
BLYNK_WRITE(GP4) //uygulamada tanımladığımız değişken ismi olmalı
{
int pinValue = param.asInt(); // digital GP4 değişkeninden aldığımız veriyi bir değişkene atıyoruz.
// Ayrıca veri tipine göre şunlar da kullanılabilir.:
// String i = param.asStr();
// double d = param.asDouble();
if (pinValue==1){
Serial.println(" AÇIK");
digitalWrite(relay,HIGH);
butondurumu=1;
}
else {
Serial.println(" KAPALI");
digitalWrite(relay,LOW);
butondurumu=0;
}
}
void setup()
{
Serial.begin(115200);
pinMode(D2, OUTPUT);//D2 pinini çıkış olarak tanımladık
Blynk.begin(auth, ssid, pass); //blynk'e bağlanıyoruz
// Arzu ederseniz server'ı da detaylı olarak belirtebilirsiniz:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
}
void loop()
{
Blynk.run(); //Burası mümkün olduğunca boş olmalı. Blynk'in çalışma mantığı genel olarak bu şekilde. Loop içinde başka işlemler olunca Blynk sunucusu ile olan senkron bozulabiliyor.
}
Burada blynk üzerinden buton belirleyerek ledi açıp kapattığım halini görüyorsunuz. Yapmış olduğumuz işlem aslında butona bastığımızda röle tetikleniyor ve durum değiştirerek led yanıyor yada sönüyor.
Umarım yazı faydalı olmuştur. Sorularınız olursa aşağıda buluşalım . 🙂
🚀Devremde kullandığım malzemelere göz atmak yada almak isterseniz Robolink Market‘i ziyaret edebilirsiniz.
🚀Serinin devam yazıları için Robolink Akademi IoT Başlangıç Seti kategorimizi ziyaret edebilirsiniz.
Hepinize iyi çalışmalar dilerim. 🙂
merhaba,
projeyi yaptım ancak röle direkt aktif olarak başlıyor. elektrik gidip geldiğinde örneğin, deaktif edip butona basınca rölenin aktif olmasını nasıl sağlarım?
Merhaba, Röle 5V DC, NodeMcu V3 kullanıyorum. Fakat Bende röle tetiklemiyor. Düşüncem NodeMcu Dx pinlerinin voltajının yeterli olmayışı sizde nasıl çalışıyor Yardımcı olur musunuz?