Widget Rehberleri

Color Picker (zeRGBa) Widget Kullanım Rehberi

MicroControlPanel Color Picker ve zeRGBa widget'ları ile LED şerit, Neopixel ve RGB LED renk kontrolü yapın. HEX renk kodu gönderme ve firmware entegrasyonu.

admin@microcontrolpanel.com 10 Temmuz 2025 5 görüntülenme

🎨 Color Picker / zeRGBa Widget Nedir?

Color Picker ve zeRGBa widget'ları, renk seçici arayüzü ile HEX formatında renk kodu gönderir. RGB LED şeritler, Neopixel'ler ve renkli aydınlatma sistemlerinin kontrolünde kullanılır.

Varyantlar

TipEnerjiÖzellik
COLOR_PICKER300⚡Modern renk seçici
ZERGBA400⚡Dairesel renk seçici (Blynk uyumlu)

⚙️ Yapılandırma

AlanAçıklamaVarsayılan
initialColorBaşlangıç rengi (Color Picker)#FF0000

📡 Gönderilen Değer

HEX formatında renk kodu: #FF5722, #00FF00, #0000FF

💻 Firmware Örneği — Neopixel

#include <Adafruit_NeoPixel.h>
#define LED_PIN D2
#define LED_COUNT 12

Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

MCP_WRITE(V0)
{
    String hex = param.asStr();  // "#FF5722"
    // HEX → RGB dönüştür
    long color = strtol(hex.substring(1).c_str(), NULL, 16);
    uint8_t r = (color >> 16) & 0xFF;
    uint8_t g = (color >> 8) & 0xFF;
    uint8_t b = color & 0xFF;

    // Tüm LED'leri ayarla
    for (int i = 0; i < LED_COUNT; i++) {
        strip.setPixelColor(i, strip.Color(r, g, b));
    }
    strip.show();
    Serial.printf("Renk: %s → R:%d G:%d B:%d\n", hex.c_str(), r, g, b);
}

💻 Firmware Örneği — Analog RGB LED

#define R_PIN D1
#define G_PIN D2
#define B_PIN D3

MCP_WRITE(V0)
{
    String hex = param.asStr();
    long color = strtol(hex.substring(1).c_str(), NULL, 16);

    analogWrite(R_PIN, (color >> 16) & 0xFF);
    analogWrite(G_PIN, (color >> 8) & 0xFF);
    analogWrite(B_PIN, color & 0xFF);
}

💡 Kullanım Senaryoları

  • Neopixel şerit: WS2812B LED şerit renk kontrolü
  • RGB LED: 3 kanallı PWM renk ayarı
  • Ortam aydınlatma: Oda ışığı renk seçimi
  • Durum göstergesi: Renk kodlu durum bildirimi
💡 İpucu: Gelen HEX kodunu strtol(hex.substring(1).c_str(), NULL, 16) ile long'a çevirip bit shift ile R, G, B bileşenlerini ayırabilirsiniz. substring(1) başlangıçtaki # karakterini atlar.

#ColorPicker #zeRGBa #Widget #RGB #LED #Neopixel #Renk #MicroControlPanel #IoT