Rehberler · 10 dk okuma

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.

WS2812B adreslenebilir LED
WS2812B: her LED'in içinde kendi denetleyicisi vardır; WLED her pikselin rengini ayrı ayrı yönetir.

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ÖnerilenNot
DenetleyiciESP32 geliştirme kartı (ESP32-WROOM, ESP32-S3 ya da C3)USB veri kablosu da gerekir
LEDWS2812B ş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 AAyrıntısı güç bölümünde
Seri direnç220–470 ΩVeri hattına, ilk LED'in yakınına
Kondansatör1000 µF, en az 10 VŞerit girişinde 5 V ile GND arasına
Seviye dönüştürücü (önerilir)74AHCT125 ya da 74HCT1253,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ıNeredenNereyeNot
LED beslemesiGüç kaynağı +5 VŞeridin 5V (+) ucuESP32 üzerinden değil, doğrudan
ToprakGüç kaynağı GNDŞeridin GND ucu ve ESP32 GNDOrtak toprak şart
ESP32 beslemesiGüç kaynağı +5 VESP32 VIN (5V) piniProgramlarken USB yeterli
VeriESP32 GPIO 16220–470 Ω → şeridin DIN ucuİsteğe bağlı 74AHCT125 üzerinden
KondansatörŞerit girişi 5 VŞerit girişi GND1000 µF, artı ucu 5 V'a
Şeridin üzerindeki oklar verinin akış yönünü gösterir; ESP32'yi okun başladığı uçtaki DIN girişine bağla. Birkaç LED'den fazlasını ESP32'nin 5V ya da 3V3 pininden besleme: kart üzerindeki hatlar ve USB bu akımı taşıyamaz. Güç kaynağı ile ESP32'nin GND'leri birleştirilmezse veri sinyalinin referansı kaybolur ve LED'ler rastgele yanar. Devreye enerji varken veri kablosunu GND'den önce takmak ilk LED'i bozabilir.

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.

  1. ESP32'yi veri taşıyabilen bir USB kablosuyla bilgisayara tak. Bu aşamada LED şeridi bağlamana gerek yok.
  2. 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.
  3. 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.
  4. 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.
  5. Yazma işlemi yaklaşık bir dakika sürer. Yükleme başlamazsa ESP32'nin BOOT düğmesini basılı tutup yeniden dene.
  6. 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ç.
Kart bilgisayarda hiç görünmüyorsa önce kabloyu değiştir: telefon şarj kablolarının çoğu yalnızca güç taşır, veri hattı yoktur. Ardından kartın üzerindeki USB yongasına göre (genellikle CP2102 ya da CH340) sürücüyü kur. Port göründüğü halde yükleme başlamıyorsa "Connecting..." yazısı çıktığında BOOT düğmesine bir saniye basmak çoğu kartta sorunu çözer.

İ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ı

  1. WLED arayüzünde Config (dişli simgesi) menüsünü aç ve LED Preferences sayfasına gir.
  2. LED outputs bölümünde LED türünü seç: WS2812B için "WS281x", RGBW şeritler için "SK6812/WS2814 RGBW".
  3. Color Order alanını WS2812B için GRB yap; renkler yanlış çıkarsa bu alanı değiştirerek doğrusunu bul.
  4. Length alanına şeritteki LED sayısını yaz (ör. 1 m'lik 60 LED/m şerit için 60).
  5. 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.
  6. 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.
  7. 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üBeslemeWLED'deki türTipik renk sırasıNot
WS2812B5 VWS281xGRBEn yaygın; tek veri hattı
SK6812 RGBW5 VSK6812/WS2814 RGBWGRBWAyrı beyaz LED'i olan şerit
WS281112 VWS281xBRG ya da RGBÜç LED bir piksel gibi davranır
WS281512 VWS281xGRBYedek veri hattı; bir LED bozulsa da şerit çalışır
APA102 / SK98225 VAPA102 / SK9822BGRVeri 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

16x16 NeoPixel LED matris
256 LED'lik bir 16x16 matris tam beyazda 15 A'e kadar çekebilir; WLED'in akım sınırlayıcısı bu yüzden önemlidir.

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ıÖrnekEn kötü durum (tam beyaz)Önerilen kaynakMaximum Current
300,5 m 60 LED/m şerit1,8 A5 V 3 A2400 mA
601 m 60 LED/m şerit3,6 A5 V 4 A3200 mA
1505 m 30 LED/m şerit9 A5 V 10 A8000 mA
3005 m 60 LED/m şerit18 A5 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 piniESP32Not
VDD3V3Yalnızca 3,3 V
GNDGNDOrtak toprak
L/RGNDSol kanalı seçer
SD (veri)GPIO 32WLED'de I2S SD pini
WS (kelime seçimi)GPIO 15WLED'de I2S WS pini
SCK (saat)GPIO 14WLED'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.

C++ (Arduino IDE)
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}
MicroPython
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

BelirtiOlası 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ıyorVeri DOUT ucuna bağlı, yanlış GPIO ya da ortak GND yokOkların başladığı DIN ucunu kullan, GPIO ayarını ve GND'yi kontrol et
Kırmızı seçince yeşil yanıyorRenk sırası yanlışLED Preferences'ta Color Order'ı GRB ya da RGB yap
Şeridin yalnızca bir kısmı yanıyorLength değeri LED sayısından küçükLength alanına gerçek LED sayısını yaz
Şeridin sonu sarımsı ya da pembemsiGerilim düşümü1–2 metrede bir güç enjeksiyonu yap
Parlaklık artınca ESP32 yeniden başlıyorGüç kaynağı yetersiz, gerilim çöküyorDaha güçlü kaynak kullan, Maximum Current'ı düşür
Kurulumdan sonra cihaz ağda yokYanlış ş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üyorOrtak GND yok, veri kablosu uzunGND'leri birleştir, ESP32'yi şeride yakın koy ya da seviye dönüştürücü kullan
ESP32 ile WS2812B arasındaki 3,3 V'luk veri sinyali çoğu şeritte çalışır ama sınırdadır, çünkü WS2812B 5 V'ta en az 3,5 V bekler. Seviye dönüştürücün yoksa bilinen bir hile, ESP32'yi şeride çok yakın koymak ve veri kablosunu 30 cm'nin altında tutmaktır. Daha kalıcı çözüm için lojik seviye dönüştürücü yazısındaki 74AHCT125 bağlantısını kullan. Ani düşüşlerde ESP32'nin resetlenmesi sorununu ise ESP32 brownout yazısında ayrıntılı anlattık.

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.

Tüm projeleri gör
ESP32 ile LED Yakma
#103Başlangıç

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.

4.7(37)
100
ESP32 WS2812B NeoPixel Şerit Kontrolü
#126Orta
Premium

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.

4.9(19)
30
WS2812B Kullanımı
#69Orta
Premium

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ş

4.8(54)
70
WS2812B İle Polis Çakar Yapımı
#70Orta
Premium

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

4.8(67)
86
WS2812B Yürüyen Led
#71Orta
Premium

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ı

4.8(58)
75
WS2812B Karaşimşek
#73Orta
Premium

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

4.9(73)
94
WS2812B Animasyon 1
#75Orta
Premium

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

4.9(69)
89
ESP32 RGB LED Kontrolü
#111Başlangıç

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.

4.6(29)
51