HIZLI VE GÜVENİLİR KARGO
1.750 TL üzeri ücretsiz kargo
HIZLI VE GÜVENİLİR KARGO
1.750 TL üzeri ücretsiz kargo
Uzaktan Kontrollü Fan Sistemi: IR Kumanda ile Fanınızı Yönetin

Uzaktan Kontrollü Fan Sistemi: IR Kumanda ile Fanınızı Yönetin

Elektronik projelerinizle evinizi daha akıllı hale getirmeye ne dersiniz? Bu projede, bir IR (kızılötesi) kumanda, Arduino ve bir röle modülü kullanarak uzaktan kontrol edilebilen bir mini fan sistemi yapacağız. Böylece oturduğunuz yerden kalkmadan fanınızı açıp kapatabileceksiniz. Bu proje sayesinde hem uzaktan kumanda sinyallerini okumayı hem de yüksek akım çeken cihazları röle ile güvenli bir şekilde kontrol etmeyi öğreneceksiniz!

Gerekli Malzemeler

Bu projeyi tamamlamak için ihtiyacın olan tüm malzemeler aşağıda listelenmiştir. Bu bileşenlerin çoğu elektronik hobi kitlerinde bulunur.

  • Arduino Uno R3: Projemizin beyni, IR sinyallerini işleyecek ve röle modülünü kontrol edecek.
  • IR alıcı modülü (VS1838B veya benzeri) + IR kumanda: Uzaktan kumandadan gelen kızılötesi sinyalleri algılayacak alıcı ve bu sinyalleri gönderecek herhangi bir eski kumanda.
  • Röle modülü (5V, tekli): Arduino'nun hassas çıkış pinlerini, DC motor gibi yüksek akım çeken yüklere karşı koruyacak olan anahtar.
  • DC motor + pervane: Projemizde kontrol edeceğimiz fan.
  • Diyot 1N4007: DC motorun indüktif yükünden kaynaklanan ters voltaj sıçramalarını (flyback) önlemek ve devreyi korumak için hayati bir bileşen.
  • Küçük breadboard: Devre elemanlarını lehim yapmadan kolayca bağlamak için.
  • Jumper kablolar: Bileşenleri birbirine ve Arduino'ya bağlamak için.
  • Harici güç kaynağı (5V adaptör veya pil paketi): DC motor, Arduino'nun USB portundan çekebileceği akımdan daha fazlasına ihtiyaç duyabilir. Bu durumda harici bir güç kaynağı şarttır.
  • USB kablosu: Arduino'yu bilgisayara bağlamak, kod yüklemek ve enerji vermek için.

Devre Bağlantı Şeması

Devre bağlantılarını doğru yapmak, projenin başarılı bir şekilde çalışmasını sağlar. Özellikle IR alıcının pin sıralamasına ve diyotun yönüne dikkat edin.

1. IR Alıcı Modülü Bağlantıları:

  • IR alıcı modülünün pin sıralaması farklılık gösterebilir. Elinizdeki modülün pin şemasını kontrol edin.
  • VCC pinini Arduino'nun 5V pinine bağlayın.
  • GND pinini Arduino'nun GND pinine bağlayın.
  • Sinyal pinini Arduino'nun D11 pinine bağlayın.

2. Röle Modülü Bağlantıları:

  • Röle modülünün VCC pinini Arduino'nun 5V pinine bağlayın.
  • Röle modülünün GND pinini Arduino'nun GND pinine bağlayın.
  • Röle modülünün IN (Sinyal) pinini Arduino'nun D4 pinine bağlayın.

3. DC Motor, Diyot ve Harici Güç Bağlantıları:

  • Diyot 1N4007'yi, çizgili (katot) ucu motorun artı (+) tarafına, diğer ucu (anot) eksi (-) tarafına gelecek şekilde motorun uçlarına paralel olarak bağlayın.
  • DC motorun bir ucunu röle modülünün NO (Normally Open) portuna bağlayın.
  • Harici güç kaynağının (+) pozitif ucunu, röle modülünün COM (Common) portuna bağlayın.
  • DC motorun diğer ucunu harici güç kaynağının (-) negatif ucuna bağlayın.
  • ÖNEMLİ: Harici güç kaynağının (-) negatif ucunu aynı zamanda Arduino'nun GND pinine de bağlayın. Ortak toprak bağlantısı, tüm devrenin doğru çalışması için elzemdir.

4. Genel Güç Bağlantısı:

  • Arduino'yu bilgisayarınıza USB kablosu ile bağlayın.

Arduino Kodları

Devre bağlantılarını tamamladıktan sonra sıra projenin beynini oluşturan koda geldi. Arduino IDE'yi açın ve aşağıdaki kodları kopyalayıp yapıştırın. Bu kod, IR kumandadan gelen sinyalleri okuyacak ve belirlenen tuşa basıldığında fanı açıp kapatacaktır.

Not: Bu kod, "IRremote" kütüphanesini gerektirir. Kütüphaneyi kurmak için Arduino IDE'de Taslak > Kütüphaneleri Dahil Et > Kütüphaneleri Yönet yolunu izleyip "IRremote" aratarak kurabilirsiniz.

Önce Kumanda Tuş Kodlarını Öğrenelim:

Her IR kumandanın her tuşu, benzersiz bir onaltılık (hex) kod gönderir. Kendi kumandanızın tuş kodlarını öğrenmek için önce aşağıdaki "IR Kumanda Kodu Öğrenme" kodunu yükleyin, Seri Monitör'ü açın ve kumandanızın tuşlarına basın. Gelen kodları not alın.

C++

#include <IRremote.h>

const int RECV_PIN = 11; // IR alıcı sinyal pini

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // IR alıcıyı başlat
  Serial.println("IR Kumanda Kodu Öğrenme Modu Basın Tuşlara!");
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.print("IR Kodu: ");
    Serial.print(results.value, HEX); // Kodu HEX formatında yazdır
    Serial.print(" (");
    Serial.print(results.bits);
    Serial.println(" bit)");
    irrecv.resume(); // Bir sonraki değeri beklemeye devam et
  }
  delay(100);
}

Kumandanızdan fanı açıp kapatmak için kullanmak istediğiniz tuşa basarak Seri Monitör'den çıkan HEX kodunu bir yere not alın. Örneğin, "Açma/Kapama" tuşu için FFC23D gibi bir kod görebilirsiniz.

Uzaktan Kontrollü Fan Kodu:

Kumanda kodunu öğrendikten sonra, aşağıdaki fan kontrol koduyla devam edelim. Not aldığınız kodu IR_BUTTON_TOGGLE_FAN değişkenine girin.

C++

#include <IRremote.h>

const int RECV_PIN = 11;   // IR alıcı sinyal pini
const int RELAY_PIN = 4;   // Röle kontrol pini

IRrecv irrecv(RECV_PIN);
decode_results results;

// Kendi kumandanızın tuş kodunu buraya girin
#define IR_BUTTON_TOGGLE_FAN  0xFFC23D // Örnek: Kumandadaki "Güç" tuşu

bool fanState = false; // Fanın mevcut durumu (başlangıçta kapalı)

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // IR alıcıyı başlat
  pinMode(RELAY_PIN, OUTPUT);
  
  // Başlangıçta röleyi kapalı tutuyoruz (fan kapalı)
  // Genellikle röle modüllerinde HIGH sinyal röleyi kapatır.
  digitalWrite(RELAY_PIN, HIGH); 
  
  Serial.println("Uzaktan Kontrollü Fan Sistemi Hazır!");
  Serial.println("Kumandanızdan belirlediğiniz tuşa basarak fanı kontrol edin.");
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.print("Algılanan IR Kodu: ");
    Serial.println(results.value, HEX);

    // Eğer belirlenen tuşa basıldıysa
    if (results.value == IR_BUTTON_TOGGLE_FAN) {
      fanState = !fanState; // Fanın durumunu tersine çevir
      
      if (fanState) {
        digitalWrite(RELAY_PIN, LOW); // Röleyi aç (fanı çalıştır)
        Serial.println("Fan Açık");
      } else {
        digitalWrite(RELAY_PIN, HIGH); // Röleyi kapat (fanı durdur)
        Serial.println("Fan Kapalı");
      }
    }
    irrecv.resume(); // Bir sonraki değeri beklemeye devam et
  }
}

Projenin Çalışma Mantığı ve Geliştirme Fikirleri

Bu projede, IR alıcı modülü uzaktan kumandadan gelen kızılötesi sinyalleri yakalar. Arduino, "IRremote" kütüphanesi sayesinde bu sinyalleri çözerek hangi tuşa basıldığını temsil eden HEX kodunu alır. Kodumuz, algılanan bu HEX kodu önceden belirlediğimiz tuş koduyla karşılaştırır. Eşleşme durumunda, röle modülü aracılığıyla fanın güç devresi açılıp kapanır. Diyot ise motor dururken oluşan zararlı akımları emerek devreyi korur.

Bu projeyi daha da geliştirmek isterseniz:

  • Çoklu Hız Kontrolü: Farklı kumanda tuşlarına farklı hız ayarları (örneğin yavaş, orta, hızlı) atayabilir, motoru kontrol etmek için bir motor sürücü modülü ve PWM kullanabilirsiniz.
  • Sıcaklık Kontrolü: Ortama bir sıcaklık sensörü (örn. DHT11) ekleyerek, fanı ortam sıcaklığı belirli bir eşiğin üzerine çıktığında otomatik olarak çalıştırabilirsiniz.
  • LED Geri Bildirimi: Fanın durumunu gösteren LED'ler ekleyebilir, fan açıkken yeşil, kapalıyken kırmızı bir LED yakabilirsiniz.

Bu proje, uzaktan kontrol, güç elektroniği ve devre korumasının birleşimini anlamak için harika bir adımdır. Kendi akıllı fanınızı geliştirerek elektronik bilginizi bir üst seviyeye taşıyın!