Arduino Uno ve WS2812B Adreslenebilir RGB LED Şerit Kullanımı

👤 Yazar: Admin 📅 Tarih: 24.10.2026 06:44 👁️ Görüntüleme: 2

Arduino Uno ve WS2812B Adreslenebilir RGB LED Şerit Bağlantı Rehberi

WS2812B, dahili kontrol sürücüsüne sahip, her bir LED'in rengi ve parlaklığı bireysel olarak (tek veri hattı üzerinden) kontrol edilebilen popüler bir adreslenebilir RGB LED (NeoPixel) türüdür. Arduino Uno kartı ile tek bir dijital pin üzerinden renk animasyonları ve aydınlatma efektleri oluşturmak için sıklıkla kullanılır.

Arduino Uno ve WS2812B LED Şerit Bağlantı Şeması


1. Donanım Pin Eşleşme Tablosu

Görseldeki devre şemasına göre Arduino Uno ile WS2812B LED şerit arasındaki pin bağlantı haritası şu şekildedir:

WS2812B Şerit Pini Arduino Uno Pin İşlev / Sinyal Adı Kablo Rengi
GND GND Ortak Toprak Hattı Siyah Kablo
Din (Data In) Pin 6 Dijital Veri Sinyali (PWM) Mavi Kablo
+5V (VCC) 5V 5V Güç Beslemesi Kırmızı Kablo
Güç Beslemesi ve Akım Uyarısı:
Her bir WS2812B RGB LED tam beyaz renkte yaklaşık 60mA akım çeker. Arduino Uno'nun 5V çıkış pini sınırlı akım sağlayabildiği için (genellikle max 500mA), 10'dan fazla LED içeren uzun şerit uygulamalarında harici bir 5V güç kaynağı kullanılması ve GND hatlarının mutlaka birleştirilmesi gerekmektedir.

2. C++ Arduino Kodu (Adafruit NeoPixel Kütüphanesi ile LED Kontrolü)

Aşağıdaki C++ kodu, popüler Adafruit_NeoPixel kütüphanesini kullanarak şerit üzerindeki LED'lerde temel renk geçişleri (RGB animasyon) gerçekleştirir:

C++ / Arduino Uno WS2812B NeoPixel Example

#include <Arduino.h>
#include <Adafruit_NeoPixel.h>

// Şemadaki Pin ve LED Yapılandırması
const int LED_PIN = 6;       // Din pini Arduino Pin 6'ya bağlı (Mavi Kablo)
const int NUM_PIXELS = 8;    // Şeritteki toplam LED sayısı (örnek olarak 8 alındı)

// NeoPixel nesnesini oluştur
Adafruit_NeoPixel strip(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  Serial.begin(115200);
  delay(10);

  strip.begin();       // LED şeridini başlat
  strip.show();        // Tüm LED'leri başlangıçta söndür (kapalı konuma getir)
  strip.setBrightness(50); // Parlaklık seviyesi (0 - 255 arası)

  Serial.println("\nArduino Uno WS2812B NeoPixel Testi Başlatıldı.");
}

void loop() {
  // 1. Adım: Tüm LED'leri Sırayla Kırmızı Yak
  colorWipe(strip.Color(255, 0, 0), 100); // Kırmızı
  delay(500);

  // 2. Adım: Tüm LED'leri Sırayla Yeşil Yak
  colorWipe(strip.Color(0, 255, 0), 100); // Yeşil
  delay(500);

  // 3. Adım: Tüm LED'leri Sırayla Mavi Yak
  colorWipe(strip.Color(0, 0, 255), 100); // Mavi
  delay(500);
}

// LED'leri sırayla tek tek istenen renge boyama fonksiyonu
void colorWipe(uint32_t color, int wait) {
  for(int i = 0; i < strip.numPixels(); i++) {
    strip.setPixelColor(i, color);
    strip.show();
    delay(wait);
  }
}

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1