Arduino ile Web Sunucusu Kurmak: LED'i Tarayıcıdan Aç/Kapat (ESP8266/ESP32)

Arduino ile Web Sunucusu Kurmak: LED'i Tarayıcıdan Aç/Kapat (ESP8266/ESP32)

Arduino ile Web Sunucusu Kurmak: LED'i Tarayıcıdan Aç/Kapat (ESP8266/ESP32)

Merhaba Arduino severler! Bu yazımızda, ESP8266 veya ESP32 geliştirme kartlarınızı kullanarak basit bir web sunucusu oluşturacak ve bu sunucu aracılığıyla bir LED'i tarayıcınızdan açıp kapatabileceksiniz. Bu proje, nesnelerin interneti (IoT) dünyasına harika bir giriş niteliğinde ve Arduino yeteneklerinizi geliştirmek için mükemmel bir başlangıç noktası.

Gereken Malzemeler

  • ESP8266 veya ESP32 geliştirme kartı (NodeMCU, Wemos D1 Mini, vb.)
  • Bir adet LED (tercihen 5mm)
  • 220 Ohm direnç (LED'i korumak için)
  • Breadboard (isteğe bağlı, bağlantıları kolaylaştırmak için)
  • Jumper kablolar

Devre Şeması ve Bağlantılar

Devre oldukça basit. LED'in anot ucunu (uzun bacak) 220 Ohm'luk direnç üzerinden ESP8266/ESP32'nin dijital bir pinine (örneğin, D4 veya GPIO2) bağlayın. LED'in katot ucunu (kısa bacak) ise GND (toprak) pinine bağlayın. İşte bağlantıların özeti:

  • LED Anot (+) -> 220 Ohm Direnç -> ESP8266/ESP32 D4 (GPIO2) pini
  • LED Katot (-) -> ESP8266/ESP32 GND pini

ESP8266 veya ESP32'nizi bilgisayarınıza bağlamayı unutmayın. Genellikle bir USB kablosu yeterli olacaktır.

Arduino Kodu

Şimdi kod kısmına geçelim. Aşağıdaki kodu Arduino IDE'nize kopyalayın. Kodu yüklemeden önce ssid ve password değişkenlerini kendi Wi-Fi ağ bilgilerinizle değiştirmeniz gerektiğini unutmayın!


#include  // ESP32 için
//#include   // ESP8266 için, ESP8266 kullanıyorsanız WiFi.h yerine bu satırı kullanın

const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";

WiFiServer server(80); // Web sunucusu 80. porttan yayın yapacak
const int ledPin = 2;  // D4 (GPIO2) pini LED için kullanılıyor

void setup() {
  Serial.begin(115200);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW); // LED başlangıçta kapalı

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Wi-Fi'ye bağlanıyor...");
  }

  Serial.println("Wi-Fi'ye bağlandı!");
  Serial.print("IP Adresi: ");
  Serial.println(WiFi.localIP());

  server.begin();
}

void loop() {
  WiFiClient client = server.available();

  if (client) {
    Serial.println("Yeni istemci bağlandı");
    String request = client.readStringUntil('\r');
    Serial.println(request);
    client.flush();

    int value = LOW;
    if (request.indexOf("/LEDON") != -1) {
      digitalWrite(ledPin, HIGH);
      value = HIGH;
    } else if (request.indexOf("/LEDOFF") != -1) {
      digitalWrite(ledPin, LOW);
      value = LOW;
    }

    client.println("HTTP/1.1 200 OK");
    client.println("Content-Type: text/html");
    client.println("Connection: close");
    client.println();
    client.println("");
    client.println("");
    client.println("LED Kontrol");
    client.println("");
    client.println("

LED Kontrol Paneli

"); if(value == HIGH){ client.println("

LED AÇIK

"); }else{ client.println("

LED KAPALI

"); } client.println("

"); client.println(""); client.println(""); client.println(""); delay(1); Serial.println("İstemci bağlantısı kesildi"); Serial.println(""); client.stop(); } }

Kodu Yükleme ve Test Etme

  1. Arduino IDE'de "Araçlar" menüsünden doğru kartı (ESP8266 Dev Module veya ESP32 Dev Module) ve portu seçtiğinizden emin olun.
  2. Kodu Arduino'nuza yükleyin.
  3. Seri monitörü açın (115200 baud hızında). Wi-Fi'ye bağlandıktan sonra IP adresini göreceksiniz.
  4. Tarayıcınızda bu IP adresini (örneğin, 192.168.1.100) yazın ve enter tuşuna basın.
  5. Tarayıcınızda LED'i açıp kapatabileceğiniz basit bir web sayfası göreceksiniz.

Çözüm

Tebrikler! Başarıyla bir web sunucusu kurdunuz ve bir LED'i internet üzerinden kontrol ettiniz. Bu proje, ev otomasyonu, uzaktan kontrol sistemleri ve daha pek çok farklı uygulama için bir temel oluşturabilir. İlerleyen zamanlarda bu projeyi daha da geliştirerek sensör verilerini okuyabilir, farklı cihazları kontrol edebilir ve hatta kendi IoT platformunuzu oluşturabilirsiniz.

Unutmayın, bu sadece bir başlangıç. Yaratıcılığınızı kullanarak Arduino ve ESP8266/ESP32'nin sunduğu sonsuz olanakları keşfedebilirsiniz!

İyi kodlamalar!

Etiketler: Arduino, ESP8266, ESP32, Web Sunucusu, LED Kontrolü, WIFIServer, digitalWrite, IoT, internet of things, Arduino proje

```

0 yorum: