Image
5 Ağustos, 2025

ESP8266 ile Wi-Fi Kontrollü Fan Projesi

Bu rehberde, NodeMCU (ESP8266), L298N motor sürücü ve 4×AAA pil yuvası kullanarak kendi Wi-Fi kontrollü fan sisteminizi nasıl kuracağınızı adım adım öğreneceksiniz. Kodun içinde Wi-Fi bilgilerini "YOUR_WIFI_SSID" ve "YOUR_WIFI_PASSWORD" olarak bırakacağız; siz kendi ağınıza göre güncelleyin.

Gerekli Malzemeler

Tüm malzemeleri web sayfamızdan güvenle satın alabilirsiniz.

Bağlantı Tablosu

BileşenESP8266 PinL298N PinAçıklama
ENA (PWM)D1ENAFan hızı PWM kontrolü
IN1D2IN1Yön kontrolü (HIGH/LOW)
IN2D3IN2Yön kontrolü (LOW/HIGH)
Fan +Out1Motor çıkışı (+)
Fan –Out2Motor çıkışı (–)
Pil Paketi +12 V+12 V GirişL298N’in güç kaynağı (4×AAA)
ESP8266 GNDGNDGND (ortak)Toprak hattı (ortak referans)
Pil Paketi GNDGND (ortak)Toprak hattı (ortak referans)

Not: ESP8266’nızı USB ile beslerken, mutlaka GND’lerin ortak olduğuna dikkat edin.

Adım Adım Kurulum

1. Arduino IDE ve ESP8266 Desteği

  1. Arduino IDE’yi açın.
  2. Dosya > Tercihler menüsüne girip “Eklenen Kart Yöneticisi URL’leri” kısmına http://arduino.esp8266.com/stable/package_esp8266com_index.json adresini ekleyin.
  3. Araçlar > Kart > Kart Yöneticisi’nden “esp8266” paketini yükleyin.
  4. Araçlar > Kart > NodeMCU 1.0 (ESP-12E Module)’ü seçin.

2. Kütüphane Yüklemesi

Bu proje için ekstra kütüphane gerekmez; ESP8266’nın kendi WiFi ve WebServer sınıflarını kullanacağız.

3. Devre Kurulumu

  1. Pil yuvasındaki 4 × AAA pili takın ve pozitif ucu L298N’in +12 V girişine bağlayın.
  2. Pil yuvası GND’sini ve ESP8266 GND’sini L298N GND hattına bağlayın (ortak toprağı oluşturun).
  3. Fan motorunun uçlarını L298N Out1 ve Out2 pinlerine bağlayın.
  4. ESP8266 D1 pini → L298N ENA (PWM)
  5. ESP8266 D2 pini → L298N IN1
  6. ESP8266 D3 pini → L298N IN2

4. Kodu Hazırlama ve Yükleme

Aşağıdaki kodu kopyalayıp Tools > Board > NodeMCU 1.0 seçili iken yükleyin. Wi-Fi bilgilerini kendi ağınıza göre güncellediğinizden emin olun:

cppCopyEdit#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

// ——— Wi-Fi Bilgilerinizi Girin ———
const char* ssid     = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";

ESP8266WebServer server(80);
const int fanPin = D1;  // ENA / PWM pini

void handleRoot() {
  server.send(200, "text/html", R"rawliteral(
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>Fan Kontrol</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
          body { font-family: Arial; text-align: center; padding-top: 30px; }
          input[type=range] { width: 80%; max-width: 300px; }
        </style>
      </head>
      <body>
        <h2>FAN HIZ KONTROL</h2>
        <input type="range" min="0" max="255" value="0" id="slider" oninput="updateSpeed(this.value)">
        <p>Hız: <span id="speedVal">0</span></p>
        <script>
          function updateSpeed(val) {
            document.getElementById("speedVal").innerText = val;
            fetch("/set?speed=" + val);
          }
        </script>
      </body>
    </html>
  )rawliteral");
}

void handleSpeed() {
  if (server.hasArg("speed")) {
    int speed = server.arg("speed").toInt();
    if (speed == 0) {
      digitalWrite(fanPin, LOW);
    } else {
      analogWrite(fanPin, speed);
    }
    Serial.println("Yeni hız: " + String(speed));
  }
  server.send(200, "text/plain", "OK");
}

void setup() {
  Serial.begin(115200);
  pinMode(fanPin, OUTPUT);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWiFi bağlı. IP: " + WiFi.localIP().toString());

  server.on("/", handleRoot);
  server.on("/set", handleSpeed);
  server.begin();
  Serial.println("HTTP sunucusu başlatıldı.");
}

void loop() {
  server.handleClient();
}

5. Test ve Kullanım

  1. ESP8266’yı USB ile bilgisayara takın; Seri Monitör 115200 baud hızında olsun.
  2. IP adresi ekranda göründüğünde tarayıcınızda bu adresi açın.
  3. Slider’ı hareket ettirerek fan hızını ayarlayın.

Sonuç ve İpuçları

  • Pil Ömrü: AAA pillerin ömrünü uzatmak için fan hızını düşük ayarlarda tutun.
  • Geliştirme: Bir sensör ekleyerek sıcaklığa göre otomatik hız ayarı yapabilirsiniz.
  • Güvenlik: Devreyi açıkta bırakmayın; akım sınırlayıcı direnç veya sigorta kullanın.

Başlangıç seviyesindeki bu proje ile hem Wi-Fi tabanlı kontrol mantığını öğrenmiş olacak, hem de basit bir motor sürücü entegrasyonu deneyimi kazanacaksınız. İyi çalışmalar!