Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •  

Anaokulu veya eğitim kurumunuz için kodlama eğitimi mi arıyorsunuz? Hemen İletişime Geç
Arduino

NeoPixel (WS2812): Adreslenebilir LED Nedir?

2 dk okuma

Her biri ayrı renk alabilen LED'ler tek kabloyla nasıl sürülüyor? WS2812'nin çalışma mantığını ve dikkat edilecekleri anlattık.

NeoPixel, Adafruit'in WS2812 ailesi adreslenebilir LED'lere verdiği isimdir. Her LED'in içinde hem üç renkli bir ışık kaynağı hem de onu yöneten küçük bir çip bulunur.

Zincir mantığı

Adreslenebilir LED'lerin en zarif tarafı, kablo sayısının LED sayısıyla artmamasıdır. Bağlantı üç telden ibarettir: 5V, GND ve veri.

Veri şu şekilde ilerler:

  1. Kart, zincire renk verilerini arka arkaya gönderir.
  2. İlk LED kendi üç baytını (kırmızı, yeşil, mavi) alıkoyar.
  3. Geri kalan veriyi çıkışından bir sonrakine iletir.
  4. Zincir bitene kadar bu böyle sürer, sonra hepsi aynı anda gösterir.

Bu yüzden şeridin başını yanlış uca bağlarsanız hiçbir şey yanmaz: LED'lerin yönü vardır ve genellikle üstlerinde ok işaretiyle yazılıdır.

Zamanlama neden önemli?

WS2812 protokolü mikrosaniye seviyesinde hassastır: bir "1" ile "0" arasındaki fark, sinyalin ne kadar süre yüksek kaldığıdır. Bu yüzden LED'leri sürerken kütüphaneler kesmeleri (interrupt) kısa süreliğine kapatır. Pratik sonucu şudur: çok uzun şeritlerde, veri gönderilirken hassas zamanlama isteyen başka işler aksayabilir.

Güç ve koruma

  • Her LED tam beyazda yaklaşık 60 mA çeker; 30 LED yaklaşık 1,8 amper eder.
  • Uzun şeritlerde gücü iki uçtan vermek, sondaki LED'lerin sararmasını önler.
  • Veri hattına 330–470 ohm seri direnç, ilk LED'in girişini korur.
  • Besleme uçlarına 1000 µF kondansatör, ilk anda gelen akım darbesini yumuşatır.

Parlaklığı yazılımda düşürmek hem gözü yormaz hem de güç ihtiyacını ciddi biçimde azaltır; çoğu proje için yüzde otuz parlaklık fazlasıyla yeterlidir.

Şerit keserken

Adreslenebilir şeritler belirli noktalardan kesilecek şekilde işaretlenmiştir; makasla o çizgiden kesip kalan uçlara lehim yaparsınız. Kesme noktasının dışından kesmek bir LED'i işe yaramaz hâle getirir.

Şeridin başı ile sonu farklıdır: veri okları girişten çıkışa doğru bakar. İki şeridi uç uca eklerken çıkışı girişe bağlamak gerekir; ters bağlanan ikinci şerit hiç yanmaz ve bu, "yarısı çalışıyor" şikâyetinin en sık sebebidir.

Renk sırası tuzağı

Bütün WS2812'ler aynı sırayı kullanmaz: kimi GRB, kimi RGB bekler. Kırmızı istediğinizde yeşil yanıyorsa kod yanlış değildir, yalnız kütüphaneye şeridin sırasını söylemeniz gerekir. Bu tek satırlık ayar, saatlerce süren bir şaşkınlığı önler.

Halka biçimli hâli için LED ring yazımıza bakabilir, HipoCodes devre simülasyonunda bağlantıyı deneyebilirsiniz.

Etiketler

  • neopixel
  • ws2812
  • adreslenebilir led
  • şerit led
  • arduino
  • robotik kodlama

Bunlar da ilginizi çekebilir