WLED Kurulumu: ESP32 ile Kodsuz Adreslenebilir LED Kontrolü
WLED kurulumu adım adım: web yükleyici, Wi-Fi ayarı, LED sayısı ve pin, efekt ve presetler, güç enjeksiyonu, müziğe senkron ışık ve Home Assistant.
WLED kurulumu, bir ESP32'yi tek satır kod yazmadan Wi-Fi ile yönetilen bir LED denetleyicisine dönüştürmenin en hızlı yoludur. WLED, WS2812B gibi adreslenebilir LED şeritleri, halkaları ve matrisleri sürmek için yazılmış ücretsiz ve açık kaynaklı bir firmware'dir. Tarayıcı üzerinden birkaç tıklamayla karta yüklenir; ardından telefondan ya da bilgisayardan 100'den fazla efekt, onlarca renk paleti, zamanlayıcılar ve müziğe duyarlı animasyonlar arasından seçim yaparsın. TV arkası ortam ışığı, raf aydınlatması, merdiven ışığı ya da Noel süslemesi, hepsi aynı kurulumla çalışır.
Bu rehberde ESP32, LED şerit ve güç kaynağını doğru bağlamayı, WLED'i web yükleyiciyle kurmayı, ilk Wi-Fi ayarını, LED sayısı, veri pini ve renk sırası ayarlarını adım adım göreceksin. Ardından efektleri, paletleri, segmentleri ve presetleri kullanmayı, uzun şeritlerde güç hesabını ve güç enjeksiyonunu, bir I2S mikrofonla müziğe senkron ışığı ve Home Assistant entegrasyonunu öğreneceksin. Son olarak WLED'i başka bir ESP32'den ve Raspberry Pi Pico W'den JSON API ile kontrol eden iki kısa kod ve en sık sorunların çözümleri var.

WLED nedir, ne yapabilir?
Normalde adreslenebilir LED'leri sürmek için Arduino IDE'de Adafruit NeoPixel ya da FastLED ile kod yazarsın ve her değişiklikte kartı yeniden programlarsın. WLED bu işi tamamen tersine çevirir: kart bir kez programlanır ve bütün ayarlar, efektler ve zamanlamalar kartın kendi web arayüzünden yapılır. ESP32 evdeki Wi-Fi ağına bağlanır, bir web sunucusu çalıştırır ve aynı ağdaki her cihaz tarayıcıdan ya da telefon uygulamasından ona ulaşır. Ayarlar kartın flash belleğinde saklandığı için elektrik kesilip geri geldiğinde ışıklar kaldığı yerden devam eder.
- Desteklenen LED'ler: WS2812B, WS2811, WS2813, WS2815, SK6812 (RGBW dahil), TM1814, APA102 ve SK9822 gibi saatli LED'ler.
- Efekt ve palet: 100'den fazla hazır efekt ve 70'ten fazla renk paleti; hız ve yoğunluk kaydırıcılarıyla her efekt ayarlanabilir.
- Segmentler: Tek bir şeridi bölümlere ayırıp her bölüme farklı efekt ve renk verebilirsin.
- Preset ve oynatma listesi: Beğendiğin görünümleri kaydedip tek tıkla çağırabilir, sırayla değişen listeler oluşturabilirsin.
- Zamanlayıcı: Belirli saatte, gün doğumunda ya da gün batımında açılıp kapanan ışıklar ve uyku zamanlayıcısı.
- Entegrasyon: Home Assistant, MQTT, Alexa, E1.31 ve Art-Net ile ağdaki diğer sistemlerle konuşur.
Gerekli malzemeler
| Malzeme | Önerilen | Not |
|---|---|---|
| Denetleyici | ESP32 geliştirme kartı (ESP32-WROOM, ESP32-S3 ya da C3) | USB veri kablosu da gerekir |
| LED | WS2812B şerit, halka ya da matris (5 V) | 12 V'luk WS2811 ve WS2815 de desteklenir |
| Güç kaynağı | 5 V, LED sayısına göre 3–20 A | Ayrıntısı güç bölümünde |
| Seri direnç | 220–470 Ω | Veri hattına, ilk LED'in yakınına |
| Kondansatör | 1000 µF, en az 10 V | Şerit girişinde 5 V ile GND arasına |
| Seviye dönüştürücü (önerilir) | 74AHCT125 ya da 74HCT125 | 3,3 V veriyi 5 V'a yükseltir |
| Mikrofon (isteğe bağlı) | INMP441 I2S mikrofon modülü | Müziğe senkron efektler için |
Uyumluluk notu: WLED, ESP8266 tabanlı kartlarda (NodeMCU, Wemos D1 mini) da çalışır; ama belleği ve işlem gücü daha sınırlı olduğu için yönetebildiği LED sayısı daha azdır ve müziğe senkron özellik yalnızca ESP32'de bulunur. Bu yüzden yeni bir proje için ESP32 öneriyoruz ve rehberin tamamı ESP32'ye göre yazıldı. Raspberry Pi Pico ise WLED'i çalıştıramaz; Pico ile adreslenebilir LED sürmek için MicroPython'un neopixel modülünü kullanabilir ya da aşağıdaki JSON API örneğinde olduğu gibi bir Pico W ile WLED çalıştıran bir ESP32'yi uzaktan yönetebilirsin.
Bağlantı: ESP32, LED şerit ve güç kaynağı
| Bağlantı | Nereden | Nereye | Not |
|---|---|---|---|
| LED beslemesi | Güç kaynağı +5 V | Şeridin 5V (+) ucu | ESP32 üzerinden değil, doğrudan |
| Toprak | Güç kaynağı GND | Şeridin GND ucu ve ESP32 GND | Ortak toprak şart |
| ESP32 beslemesi | Güç kaynağı +5 V | ESP32 VIN (5V) pini | Programlarken USB yeterli |
| Veri | ESP32 GPIO 16 | 220–470 Ω → şeridin DIN ucu | İsteğe bağlı 74AHCT125 üzerinden |
| Kondansatör | Şerit girişi 5 V | Şerit girişi GND | 1000 µF, artı ucu 5 V'a |
Web yükleyiciyle WLED kurulumu
WLED'i kurmak için Arduino IDE'ye ya da herhangi bir programa ihtiyacın yok. Resmi web yükleyici (install.wled.me) tarayıcının Web Serial özelliğiyle ESP32'ye doğrudan bağlanır, kartın yongasını tanır ve uygun firmware dosyasını yazar. Bu özellik masaüstünde Chrome, Edge ve Opera gibi Chromium tabanlı tarayıcılarda çalışır; Firefox ve Safari şu an Web Serial'ı desteklemez. Kartın bilgisayarda bir seri port olarak görünmesi için CP210x ya da CH340 sürücüsünün kurulu olması gerekir.
- ESP32'yi veri taşıyabilen bir USB kablosuyla bilgisayara tak. Bu aşamada LED şeridi bağlamana gerek yok.
- Chrome ya da Edge'de WLED web yükleyicisini aç. Sürüm listesinden en güncel kararlı (stable) sürümü seç; beta sürümler denemek içindir.
- Install düğmesine bas. Açılan pencerede kartının portunu (Windows'ta COM3 gibi, macOS'ta cu.usbserial... ya da cu.wchusbserial...) seç ve Connect de.
- Yükleyici yongayı tanıyınca Install WLED seçeneğini onayla. Kart daha önce başka bir programla kullanıldıysa "Erase device" ile belleği temizlemek eski ayarların karışmasını önler.
- Yazma işlemi yaklaşık bir dakika sürer. Yükleme başlamazsa ESP32'nin BOOT düğmesini basılı tutup yeniden dene.
- Kurulum bitince yükleyici Wi-Fi bilgilerini sorar. Ağ adını ve şifreni girip Connect de; ardından çıkan Visit Device bağlantısıyla WLED arayüzünü aç.
İlk Wi-Fi ayarı
Yükleyicinin Wi-Fi adımını atladıysan ya da kart ağa bağlanamazsa WLED kendi erişim noktasını açar. Telefonunla WLED-AP adlı ağa bağlan; varsayılan şifre wled1234'tür. Çoğu telefonda ayar sayfası kendiliğinden açılır, açılmazsa tarayıcıya 4.3.2.1 yaz. WiFi Setup sayfasında ev ağının adını ve şifresini gir, kaydet ve kartın yeniden başlamasını bekle. ESP32 yalnızca 2,4 GHz Wi-Fi destekler; modemin 2,4 ve 5 GHz için aynı adı kullanıyorsa çoğu durumda sorun olmaz, ama yalnızca 5 GHz yayın yapan bir ağa bağlanamaz. Bağlantıdan sonra kartın IP adresini modemin bağlı cihazlar listesinden ya da WLED uygulamasının otomatik bulma özelliğinden öğrenebilirsin. Aynı sayfadan güvenlik için erişim noktası şifresini değiştirmen de iyi olur.
LED sayısı, veri pini ve renk sırası
- WLED arayüzünde Config (dişli simgesi) menüsünü aç ve LED Preferences sayfasına gir.
- LED outputs bölümünde LED türünü seç: WS2812B için "WS281x", RGBW şeritler için "SK6812/WS2814 RGBW".
- Color Order alanını WS2812B için GRB yap; renkler yanlış çıkarsa bu alanı değiştirerek doğrusunu bul.
- Length alanına şeritteki LED sayısını yaz (ör. 1 m'lik 60 LED/m şerit için 60).
- GPIO alanına veri kablosunu bağladığın pini yaz (bu rehberde 16). GPIO 6–11 flash belleğe ayrılmıştır, 34–39 ise yalnızca giriştir; bunları kullanma.
- Maximum Current (otomatik parlaklık sınırlayıcı) alanına güç kaynağının verebileceği akımın yaklaşık %80'ini mA cinsinden yaz; 5 V 4 A'lik bir kaynak için 3200.
- Sayfanın altındaki Save düğmesine bas. Ana ekrana dönüp bir renk seç; bütün şerit aynı renkte yanmalı.
| LED türü | Besleme | WLED'deki tür | Tipik renk sırası | Not |
|---|---|---|---|---|
| WS2812B | 5 V | WS281x | GRB | En yaygın; tek veri hattı |
| SK6812 RGBW | 5 V | SK6812/WS2814 RGBW | GRBW | Ayrı beyaz LED'i olan şerit |
| WS2811 | 12 V | WS281x | BRG ya da RGB | Üç LED bir piksel gibi davranır |
| WS2815 | 12 V | WS281x | GRB | Yedek veri hattı; bir LED bozulsa da şerit çalışır |
| APA102 / SK9822 | 5 V | APA102 / SK9822 | BGR | Veri ve saat olmak üzere iki hat, çok hızlı |
Efektler, paletler, segmentler ve presetler
WLED'in ana ekranı üç parçadan oluşur: üstte renk seçici ve parlaklık, ortada efekt listesi, yanında palet listesi. Bir efekt (ör. Rainbow, Fire 2012, Twinkle) seçtiğinde altındaki Speed ve Intensity kaydırıcılarıyla hızını ve yoğunluğunu değiştirirsin. Palet, efektin hangi renk ailesini kullanacağını belirler: aynı "Colorwaves" efekti "Ocean" paletiyle mavi dalgalar, "Lava" paletiyle kızıl alevler gibi görünür. Bir paletin seçili renkleri kullanmasını istiyorsan "Default" ya da "Color 1" gibi paletleri seç.
- Segmentler: Segments bölümünden şeridi parçalara ayır; örneğin 0–29 arası LED'ler mavi nefes alırken 30–59 arası gökkuşağı akabilir. Her segmentin kendi efekti, paleti, parlaklığı ve yönü vardır.
- Presetler: Ekranda beğendiğin görünümü Presets bölümünden adlandırıp kaydet. Bir preset efekt, renk, segment ve parlaklığın hepsini birden saklar; tek tıkla geri gelir.
- Oynatma listeleri: Birkaç preseti sırayla ve belirlediğin sürelerle döndüren bir liste kur; vitrin ya da parti ışığı için idealdir.
- Zamanlayıcılar: Config > Time & Macros sayfasından saat dilimini ayarla; belirli saatte, gün doğumunda ya da gün batımında bir preseti çalıştır.
- Gece lambası: Ay simgeli düğme ışığı belirlediğin sürede yavaşça kısarak kapatır; çocuk odası için kullanışlıdır.
- Senkronizasyon: Aynı ağdaki birden fazla WLED cihazı UDP ile birbirine bağlanıp aynı efekti aynı anda oynatabilir.
Telefon uygulaması
Arayüz her tarayıcıda çalışır, ama günlük kullanım için iOS ve Android'de bulunan ücretsiz WLED uygulaması daha rahattır. Uygulama aynı ağdaki WLED cihazlarını kendiliğinden bulur, her birini bir liste halinde gösterir ve dokunduğunda kartın kendi arayüzünü açar. Birden fazla cihazın varsa (ör. salon, mutfak ve merdiven) hepsini tek ekrandan yönetirsin. Cihaz listede görünmüyorsa telefonun ve ESP32'nin aynı ağda olduğundan emin ol ya da IP adresini elle ekle. Uygulama yalnızca bir arayüz olduğu için ışıkların çalışması için telefonun açık kalmasına gerek yoktur; zamanlayıcılar ve presetler ESP32'nin içinde çalışmaya devam eder.
Güç hesabı ve güç enjeksiyonu

Bir WS2812B LED'in içinde kırmızı, yeşil ve mavi olmak üzere üç küçük LED vardır ve her biri tam parlaklıkta yaklaşık 20 mA çeker. Yani tek bir piksel tam beyazda yaklaşık 60 mA ister. Bu en kötü durumdur; renkli efektlerde ve orta parlaklıkta gerçek tüketim çoğu zaman bunun üçte biri kadardır. WLED'in Maximum Current ayarı (otomatik parlaklık sınırlayıcı), ekrandaki görüntünün çekeceği akımı her karede hesaplar ve sınırı aşacaksa parlaklığı kendiliğinden düşürür. Bu sayede 5 V 10 A'lik bir kaynakla 300 LED'lik bir şeridi güvenle çalıştırabilirsin; yalnızca tam beyazda ışık biraz kısılır. Varsayılan sınır, kartı USB'den beslerken güvende kalmak için düşük tutulmuştur, bu yüzden harici kaynağa geçince bu değeri mutlaka güncelle.
| LED sayısı | Örnek | En kötü durum (tam beyaz) | Önerilen kaynak | Maximum Current |
|---|---|---|---|---|
| 30 | 0,5 m 60 LED/m şerit | 1,8 A | 5 V 3 A | 2400 mA |
| 60 | 1 m 60 LED/m şerit | 3,6 A | 5 V 4 A | 3200 mA |
| 150 | 5 m 30 LED/m şerit | 9 A | 5 V 10 A | 8000 mA |
| 300 | 5 m 60 LED/m şerit | 18 A | 5 V 20 A (ya da 10 A ve sınırlı parlaklık) | 16000 mA (ya da 8000 mA) |
- Gerilim düşümü: 5 V şeritlerin bakır yolları incedir; akım arttıkça şeridin sonuna doğru gerilim düşer ve beyaz renk sarımsı ya da pembemsi görünür. Bu genellikle 1–2 metreden (60–120 LED) sonra başlar.
- Güç enjeksiyonu: Güç kaynağından şeridin her 1–2 metresine ayrı birer 5 V ve GND kablosu götür ve şeridin bakır pedlerine lehimle. Uzun şeritlerde şeridin iki ucunu birden beslemek de iyi sonuç verir. Veri hattı yalnızca baştan girer, enjeksiyon kabloları yalnızca 5 V ve GND taşır.
- Kablo kesiti: Birkaç amperlik besleme için en az 0,75–1 mm² (18 AWG civarı), 10 A ve üzeri için 1,5 mm² kablo kullan; şeridin kendi ince uç kabloları yalnızca kısa şeritler içindir.
- Sigorta: Güç kaynağı ile şerit arasına, her besleme koluna kablonun taşıyabileceği akıma uygun bir sigorta koy; kısa devrede kablonun yanmasını önler.
- 12 V seçeneği: Çok uzun kurulumlarda WS2815 gibi 12 V'luk şeritler aynı güç için üçte bir akım çeker ve gerilim düşümünden çok daha az etkilenir.
- Hesap aracı: Pil ya da powerbankla taşınabilir bir kurulum yapacaksan çalışma süresini pil ömrü hesaplayıcısıyla bul.
Mikrofonla müziğe senkron ışık
ESP32 için hazırlanan WLED sürümlerinde AudioReactive eklentisi hazır gelir; bir mikrofon bağlayıp birkaç ayar yaptığında efektler müziğin ritmine ve frekanslarına göre hareket eder. En iyi sonucu dijital bir I2S mikrofon olan INMP441 verir: sinyali doğrudan dijital olarak gönderdiği için analog mikrofonlardaki gürültü ve kazanç sorunları yaşanmaz. MAX9814 ya da MAX4466 gibi analog mikrofon modülleri de bir ADC1 pinine (ör. GPIO 36) bağlanarak kullanılabilir, ama daha fazla ayar ister. KY-038 gibi ses sensörleri yalnızca "ses var mı" bilgisini verdiği için bu iş için uygun değildir.
| INMP441 pini | ESP32 | Not |
|---|---|---|
| VDD | 3V3 | Yalnızca 3,3 V |
| GND | GND | Ortak toprak |
| L/R | GND | Sol kanalı seçer |
| SD (veri) | GPIO 32 | WLED'de I2S SD pini |
| WS (kelime seçimi) | GPIO 15 | WLED'de I2S WS pini |
| SCK (saat) | GPIO 14 | WLED'de I2S SCK pini |
Bağlantıdan sonra Config > Usermods sayfasında AudioReactive bölümünü etkinleştir, mikrofon türü olarak "Generic I2S" seç ve SD, WS ve SCK pinlerini tablodaki gibi gir. Kaydedip kartı yeniden başlattıktan sonra efekt listesinde sesle çalışan efektler belirginleşir; GEQ, Gravimeter ve Waterfall iyi başlangıç noktalarıdır. Ses yokken ışıklar kıpırdıyorsa Squelch değerini (gürültü eşiği) yükselt, müziğe yeterince tepki vermiyorsa Gain değerini artır. Mikrofonu hoparlörün tam önüne değil, odanın sesini duyabileceği bir yere koymak en dengeli sonucu verir.
Home Assistant entegrasyonu
Home Assistant'ın içinde hazır bir WLED entegrasyonu vardır ve aynı ağdaki WLED cihazlarını genellikle kendiliğinden bulur. Bildirimlerde "Yeni cihaz bulundu" uyarısı çıkarsa onaylaman yeterlidir; çıkmazsa Ayarlar > Cihazlar ve Hizmetler > Entegrasyon ekle yolundan WLED'i seçip cihazın IP adresini gir. Entegrasyon şeridi ve her segmenti ayrı birer ışık olarak, presetleri, oynatma listelerini ve paletleri birer seçim kutusu olarak, hız ve yoğunluğu kaydırıcı olarak ekler. Böylece "gün batımında salon şeridini sıcak beyaza al" ya da "kapı açılınca koridoru yak" gibi otomasyonları birkaç tıklamayla kurarsın. MQTT kullanmayı tercih edersen WLED'in Sync Interfaces sayfasından bir MQTT sunucusuna da bağlanabilirsin; MQTT'nin Home Assistant ile kullanımını ESP32, MQTT ve Home Assistant yazısında anlattık.
Kodla WLED'i kontrol etmek: JSON API
WLED kodsuz çalışır, ama başka bir cihazın onu yönetmesini istediğinde basit bir HTTP isteği yeterlidir. Cihazın /json/state adresine gönderilen JSON mesajı ışığın durumunu değiştirir: {"on":"t"} açıp kapatır, {"bri":128} parlaklığı yarıya indirir, {"ps":2} 2 numaralı preseti çalıştırır. Mesaja "v":true eklersen WLED cevap olarak güncel durumu gönderir. Aşağıdaki ilk kod, ayrı bir ESP32'ye bağlı bir butonla WLED'deki ilk üç preset arasında geçiş yapar; ikinci kod aynı işi bir Raspberry Pi Pico W ve MicroPython ile yapar. Her iki kodda da kendi ağ bilgilerini ve WLED cihazının IP adresini yazman gerekir.
1// İkinci bir ESP32'den WLED preset değiştirme (JSON API) / Switch WLED presets from a second ESP32 (JSON API)
2// Buton: GPIO 4 -> GND (dahili pull-up) / button: GPIO 4 -> GND (internal pull-up)
3#include <WiFi.h>
4#include <HTTPClient.h>
5
6const char* WIFI_SSID = "AgAdi"; // ağ adı / network name
7const char* WIFI_PASS = "Sifre"; // ağ şifresi / network password
8const char* WLED_URL = "http://192.168.1.50/json/state"; // WLED cihazının IP'si / IP of the WLED device
9const int BUTTON_PIN = 4;
10
11int preset = 1;
12bool lastState = HIGH;
13
14int sendJson(const String& body) {
15 HTTPClient http;
16 http.begin(WLED_URL);
17 http.addHeader("Content-Type", "application/json");
18 int code = http.POST(body); // 200 = başarılı / success
19 http.end();
20 return code;
21}
22
23void setup() {
24 Serial.begin(115200);
25 pinMode(BUTTON_PIN, INPUT_PULLUP);
26 WiFi.begin(WIFI_SSID, WIFI_PASS);
27 while (WiFi.status() != WL_CONNECTED) {
28 delay(300);
29 Serial.print('.');
30 }
31 Serial.print("\nIP: ");
32 Serial.println(WiFi.localIP());
33}
34
35void loop() {
36 bool state = digitalRead(BUTTON_PIN);
37 if (lastState == HIGH && state == LOW) { // butona basıldı / button pressed
38 String body = "{\"on\":true,\"ps\":" + String(preset) + "}";
39 int code = sendJson(body);
40 Serial.printf("Preset %d -> HTTP %d\n", preset, code);
41 preset = preset % 3 + 1; // 1 -> 2 -> 3 -> 1
42 delay(50); // basit debounce / simple debounce
43 }
44 lastState = state;
45}1# Raspberry Pi Pico W: butonla WLED aç/kapat (JSON API) / toggle WLED with a button (JSON API)
2# Buton: GP14 -> GND (dahili pull-up) / button: GP14 -> GND (internal pull-up)
3import network
4import time
5import urequests
6from machine import Pin
7
8SSID = "AgAdi" # ağ adı / network name
9PASSWORD = "Sifre" # ağ şifresi / network password
10WLED_URL = "http://192.168.1.50/json/state" # WLED cihazının IP'si / IP of the WLED device
11
12button = Pin(14, Pin.IN, Pin.PULL_UP)
13
14wlan = network.WLAN(network.STA_IF)
15wlan.active(True)
16wlan.connect(SSID, PASSWORD)
17while not wlan.isconnected():
18 time.sleep(0.3)
19print("IP:", wlan.ifconfig()[0])
20
21last = 1
22while True:
23 now = button.value()
24 if last == 1 and now == 0: # butona basıldı / button pressed
25 r = urequests.post(WLED_URL, json={"on": "t", "v": True})
26 state = r.json() # güncel durum / current state
27 r.close()
28 print("Acik / On:", state["on"], " Parlaklik / Brightness:", state["bri"])
29 time.sleep_ms(50) # basit debounce / simple debounce
30 last = now
31 time.sleep_ms(10)İki kodda da buton bir kez basıldığında yalnızca bir istek gitsin diye önceki durumla karşılaştırma yapılır; 50 ms'lik bekleme de butonun mekanik sıçramasını süzer. Gerçek bir projede WLED cihazına modemden sabit bir IP adresi vermek ya da adresi WLED arayüzündeki mDNS adıyla kullanmak iyi olur, çünkü elektrik kesilip modem yeniden başladığında IP değişebilir. Aynı yöntemle bir hareket sensörü algıladığında merdiven ışığını yakabilir, bir LDR hava karardığını söylediğinde gece presetine geçebilir ya da bir sıcaklık değerine göre şeridin rengini değiştirebilirsin.
Sık sorunlar ve çözümleri
| Belirti | Olası sebep | Çözüm |
|---|---|---|
| İlk LED yanmıyor ya da rastgele renkte, diğerleri doğru | İlk LED hasarlı ya da 3,3 V veri sınırda | İlk LED'i kesip çıkar; veri hattına 220–470 Ω ve 74AHCT125 ekle |
| Hiçbir LED yanmıyor | Veri DOUT ucuna bağlı, yanlış GPIO ya da ortak GND yok | Okların başladığı DIN ucunu kullan, GPIO ayarını ve GND'yi kontrol et |
| Kırmızı seçince yeşil yanıyor | Renk sırası yanlış | LED Preferences'ta Color Order'ı GRB ya da RGB yap |
| Şeridin yalnızca bir kısmı yanıyor | Length değeri LED sayısından küçük | Length alanına gerçek LED sayısını yaz |
| Şeridin sonu sarımsı ya da pembemsi | Gerilim düşümü | 1–2 metrede bir güç enjeksiyonu yap |
| Parlaklık artınca ESP32 yeniden başlıyor | Güç kaynağı yetersiz, gerilim çöküyor | Daha güçlü kaynak kullan, Maximum Current'ı düşür |
| Kurulumdan sonra cihaz ağda yok | Yanlış şifre ya da yalnızca 5 GHz ağ | WLED-AP ağına bağlanıp 4.3.2.1 adresinden Wi-Fi'yi yeniden ayarla |
| LED'ler titriyor ya da rastgele yanıp sönüyor | Ortak GND yok, veri kablosu uzun | GND'leri birleştir, ESP32'yi şeride yakın koy ya da seviye dönüştürücü kullan |
WLED, adreslenebilir LED'lerle uğraşmanın en keyifli yollarından biridir: kurulumu birkaç dakika sürer, kod yazmadan profesyonel görünen efektler elde edersin ve gerektiğinde JSON API ile kendi projelerine bağlayabilirsin. LED'lerin nasıl sürüldüğünü kodla öğrenmek istersen BlueGrays uygulamasındaki "ESP32 WS2812B NeoPixel Şerit Kontrolü" ve WS2812B ile yürüyen ışık, karaşimşek ve polis çakarı projelerini adım adım devre şeması ve hazır koduyla kurabilirsin.
Sıkça sorulan sorular
WLED nedir, ücretsiz mi?
WLED, ESP32 ve ESP8266 için yazılmış, adreslenebilir LED'leri Wi-Fi üzerinden kontrol eden açık kaynaklı bir firmware'dir. Tamamen ücretsizdir, telefon uygulaması da ücretsizdir. Karta bir kez yüklendikten sonra efektler, renkler ve zamanlayıcılar kod yazmadan tarayıcıdan ya da uygulamadan ayarlanır.
WLED hangi kartlarda çalışır?
WLED, ESP32 ailesinde (ESP32, ESP32-S2, S3 ve C3) ve ESP8266 tabanlı kartlarda çalışır. Müziğe senkron özellik ve daha fazla LED için ESP32 önerilir. Arduino Uno ve Raspberry Pi Pico Wi-Fi'li ESP yongası taşımadığı için WLED'i çalıştıramaz; Pico W ise WLED çalışan bir cihazı JSON API ile uzaktan yönetebilir.
WLED ile kaç LED kontrol edilebilir?
Bir WS2812B LED'e veri göndermek yaklaşık 30 mikrosaniye sürer; 1000 LED'lik bir şerit bu yüzden en fazla saniyede yaklaşık 30 kare yenilenebilir. ESP32 ile tek çıkışta birkaç yüz ile 1000 LED arası akıcı çalışır, daha fazlası için LED'ler birden çok çıkışa (farklı GPIO'lara) bölünür. Asıl sınır çoğu zaman güç kaynağı ve kablolamadır.
WLED kurulumu için Arduino IDE gerekir mi?
Hayır. WLED, Chrome ya da Edge tarayıcısında açılan resmi web yükleyiciyle birkaç tıklamada karta yazılır; Arduino IDE ya da başka bir program gerekmez. Bilgisayarın kartı görebilmesi için yalnızca veri taşıyan bir USB kablosu ve CP210x ya da CH340 sürücüsü yeterlidir.
WLED internet olmadan çalışır mı?
Evet. WLED yerel ağda çalışır ve internete ihtiyaç duymaz; hiç ağ yoksa kendi WLED-AP erişim noktasını açar ve telefonla doğrudan bağlanabilirsin. Yalnızca saate bağlı zamanlayıcılar ve gün doğumu ile gün batımı ayarları için kartın saati internetten (NTP) alması gerekir.
WLED fabrika ayarlarına nasıl döndürülür?
WLED arayüzünde Config > Security & Updates sayfasındaki fabrika ayarlarına dönme seçeneği bütün ayarları siler. Arayüze ulaşamıyorsan web yükleyiciyi yeniden açıp "Erase device" seçeneğiyle WLED'i baştan kurabilirsin. Sıfırlamadan sonra kart WLED-AP erişim noktasıyla açılır ve Wi-Fi ayarını yeniden yaparsın.
Bu yazıdan sonra yapabileceğin projeler
Tüm projeleri gör
ESP32 ile LED Yakma
ESP32 ile temel GPIO çıkışı kullanımını öğretir. Bir LED'i dijital pinden açıp kapatarak yanıp sönme efekti elde ederiz. Arduino UNO'daki klasik blink projesinin ESP32 versiyonu; Arduino ortamındaki temel blink komutları aynıdır, ancak ESP32'nin pin yerleşimi ve 3,3 V GPIO seviyeleri Arduino UNO'dan farklıdır.

ESP32 WS2812B NeoPixel Şerit Kontrolü
WS2812B (NeoPixel) adreslenebilir LED'ler, tek bir veri pini üzerinden zincirleme kontrol edilebilen akıllı RGB LED'lerdir. Bu projede 8 LED'lik bir WS2812B şeridi Adafruit_NeoPixel kütüphanesi ile kontrol edip akıcı bir gökkuşağı animasyonu üreteceğiz. ESP32'nin 3.3V mantık seviyesi çoğu WS2812B partisinde sorunsuz çalışsa da, kararsızlık durumunda 470Ω seri direnç ve 1000µF kondansatör çözümünü göstereceğiz. Animasyon, HSV renk uzayında ton (hue) değerini kaydırarak elde edilir.

WS2812B Kullanımı
Her ışığı ayrı ayrı renklendirebildiğin akıllı bir LED şeridiyle tanışırsın. Arduino önce şeritteki ilk beş LED'i kırmızı yakar, bir saniye sonra kalan beşini mavi yakar, sonra hepsini söndürür ve baş

WS2812B İle Polis Çakar Yapımı
Polis arabalarının tepesindeki kırmızı-mavi çakarı masana getiriyorsun. On LED'lik WS2812B şeridin bir yarısı üç kez hızla kırmızı, öbür yarısı üç kez mavi yanıp söner ve bu sıra hiç durmadan tekrarla

WS2812B Yürüyen Led
On LED'lik şeritte yeşil bir ışık noktası baştan sona tek tek ilerler, sona varınca yeniden başa döner; her LED'de üçte bir saniye durur. WS2812B şeritteki her LED'i tek bir veri kablosuyla ayrı ayrı

WS2812B Karaşimşek
Akıllı LED şeridinde kırmızı bir ışık noktası bir uçtan öbür uca kayar, sonra geri döner ve bu gidip gelme hiç durmaz. Arduino her adımda yalnız tek bir LED'i yakar, saniyenin onda biri bekleyip yanın

WS2812B Animasyon 1
56 LED'lik şeritte gökkuşağının bütün renkleri yan yana dizilir ve hiç durmadan akar, sanki şeridin üstünde ışıktan bir nehir kayıyormuş gibi. Her LED bir öncekinden biraz farklı renkte yanar; renkler

ESP32 RGB LED Kontrolü
3 ayrı LED yerine tek RGB LED ile sınırsız renk üretme. Arduino'daki gibi analogWrite() ile R/G/B değerlerini ayarlayarak gökkuşağı geçişi yaparız. Renk teorisi (red+green=yellow gibi) pratik olarak görülür.
Diğer yazılar
BlueGrays uygulaması
Bu devreyi telefonunda adım adım kur
Devre şeması, kod ve parça listesi tek ekranda. 200'den fazla Arduino, ESP32 ve Pico projesi seni bekliyor.
Telefonunla tara
Kamerayı koda tut; telefonunun uygulama mağazası açılır.
ya da mağazada aç

