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
- 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.
- Kodu Arduino'nuza yükleyin.
- Seri monitörü açın (115200 baud hızında). Wi-Fi'ye bağlandıktan sonra IP adresini göreceksiniz.
- Tarayıcınızda bu IP adresini (örneğin, 192.168.1.100) yazın ve enter tuşuna basın.
- 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: