İçindekiler:

Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Diğer adıyla NeoPixels): 6 Adım (Resimlerle)
Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Diğer adıyla NeoPixels): 6 Adım (Resimlerle)

Video: Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Diğer adıyla NeoPixels): 6 Adım (Resimlerle)

Video: Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Diğer adıyla NeoPixels): 6 Adım (Resimlerle)
Video: 012 05 LDR ile Işık Kontrolü Uygulaması Proteus 2024, Kasım
Anonim
Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Aka NeoPixels)
Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Aka NeoPixels)
Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Aka NeoPixels)
Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Aka NeoPixels)
Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Aka NeoPixels)
Herhangi Bir Proje için En İyi RGB LED'ler (WS2812, Aka NeoPixels)

LED'lerle çalışırken genellikle durumlarını (açık/kapalı), parlaklıklarını ve renklerini kontrol etmeyi severiz. Bununla ilgili pek çok farklı yol var, ancak hiçbiri WS2812 RGB LED kadar kompakt bir çözüm değil. Küçük 5mm x 5mm paketinde WS2812, 3 süper parlak LED (Kırmızı, Yeşil ve Mavi) ve 3 LED'in durumunu, parlaklığını ve rengini kontrol etmek için yalnızca bir veri girişi gerektiren kompakt bir sürücü devresi (WS2811) içerir.. 3 LED'i kontrol etmek için yalnızca bir veri hattına ihtiyaç duyma pahasına, WS2811 ile iletişimde son derece hassas zamanlama talebi ortaya çıkıyor. Bu nedenle gerçek zamanlı bir mikrodenetleyici (örn. AVR, Arduino, PIC) gereklidir. Ne yazık ki, Linux tabanlı bir mikro bilgisayar veya Netduino veya Basic Stamp gibi yorumlanmış bir mikro denetleyici, gereken yeterli zamanlama doğruluğunu sağlayamaz. Ve böylece, bu Eğitilebilir Tabloda, bu LED'lerden birini bir Arduino Uno ile kurma ve kontrol etme sürecinden geçiyorum. Ardından, harika bir aydınlatma ekranı için birkaçını birbirine bağlamanın ne kadar kolay olduğunu gösteriyorum! Zorluk seviyesi: Başlangıç Tamamlama Süresi: 10-15 Dakika

Adım 1: Malzeme Listesi

Malzeme Listesi
Malzeme Listesi

Bu harika RGB LED, bir koparma panosuna lehimlenmesi oldukça kolay olan 6 pedli 5050 (5mm x 5mm) pakette gelir. Gereken tek ek bileşen bir ayırma kapasitörü olduğundan, WS2812, bir RGB LED'in rengini ve parlaklığını kontrol etmek için dürüstçe en iyi çözümü sunar. Gömülü sabit akım LED sürücüsü (WS2811) iki nedenden dolayı oldukça kullanışlıdır: - Voltaj değişse bile ~18mA'lık sabit bir akım her bir LED'i çalıştıracaktır. - Güç kaynağı ve LED'ler arasına akım sınırlayıcı dirençler (a.k.a jikle dirençleri) eklemeye gerek yoktur. Tek ihtiyacımız olan, bir değil, bir dizi RGB LED'den oluşan harika bir aydınlatma ekranı oluşturmak için Güç, Toprak ve 1 Kontrol Girişi sağlamak için çok basit bir tasarım. Doğru! Bu ledlerden birinin Data Out pinini diğerinin Data In pinine bağlayarak aynı Kontrol Girişi ile ikisini birbirinden bağımsız olarak çalıştırabiliriz! Bunu nasıl yapacağınız açık değilse, endişelenmeyin, bu Eğitilebilir Tablonun sonunda, istediğiniz herhangi bir projeye WS2812'yi ekleme yolunda olacaksınız! Bu Eğitim Tablosu için kullanacağımız şey şudur: Malzemeler: 3 x WS2812 RGB LED (küçük bir devre kartına önceden lehimlenmiştir) 1 x Lehimsiz Breadboard Katı Çekirdekli Tel (çeşitli renkler; 28 AWG) 1 x Arduino Uno R3 1 x Ayrılabilir Pinli Konnektör, 0.1" Aralık, 8-Pin Erkek (Dik Açı) 1 x Pin Konnektör, 0.1" Aralık, 8-Pin Dişi (Dik Açı) 1 x Breakaway Pin Konnektör, 0.1" Adım, 8-Pin MaleTools: PC USB A/B Kablo Tel Sıyırıcı Lehimleme Demir Notlar: Projenize bağlı olarak, WS2812 RGB LED'lerin her biri yaklaşık 0,40 ABD doları karşılığında bir devre kartı olmadan da temin edilebilir, ancak önceden lehimlenmiş seçeneğin rahatlığı basit uygulamalar için çekicidir.

Adım 2: Pin Başlıklarını Bağlama

Pin Başlıklarını Bağlama
Pin Başlıklarını Bağlama
Pin Başlıklarını Bağlama
Pin Başlıklarını Bağlama
Pin Başlıklarını Bağlama
Pin Başlıklarını Bağlama

Önceki adımda listelenen tüm malzemelerle, bir WS2812 RGB LED'i yakmak oldukça basittir. İlk olarak, WS2812 Breakout Board'larını lehimsiz devre tahtasına yerleştirmek için hazırlamak istiyoruz. Bunu yapmak için, her bir 8-Pin şeridi 2 x 3-Pin parçalara ayırmak için bir tel kesici kullanıyoruz (en yaygın kesme aletleri aynı şekilde işe yarayacaktır). Kesimi yapmanın biraz zor olduğunu unutmayın; Çoğu zaman kesim için bir kılavuz olarak iki erkek başlık arasındaki oluğu kullanmaya çalıştım ve sonunda tutmayı düşündüğüm bir başlıktan çok fazla plastik kestim. Kesimi yapmak istediğimiz pimi 'feda ederek' sorundan tamamen kaçınıyoruz. Pense kullanarak kesmek istediğimiz pimi (bu durumda 4. ve 8. pimi) çekiyoruz. Pimler çıkarıldıktan sonra artık boş olan başlıkların ortasını kolayca kesebiliriz. Bu teknik, dişi başlık ile eşit derecede iyi çalışır. Merak edip kestikten sonra 6 adet 3-Pin başlığımız yani 2 adet standart ve 4 adet dik açılı (2 x erkek, 2 x dişi) başlıklarımız olmalıdır. Bir havya yardımıyla artık pinleri aşağıdaki şekilde üç koparma kartının her birine bağlayabiliriz. Bir pano 2 x standart başlığa sahip olmalıdır, diğer iki panonun her biri 1 x dik açılı başlığa sahip olmalıdır. Standart pin başlıklarının olacağı panoda pinleri panonun alt yüzeyine (LED'in bulunduğu tarafın karşı tarafına) yerleştiriyoruz. Diğer ikisinde, dik açılı başlıklar (her cinsiyetten biri) üst veya alt yüzeye yerleştirilebilir. Erkek ve dişi başlıkların yerleşiminde bir tahtadan diğerine tutarlı olmanın önemli olduğunu unutmayın. Kartları yönlendirmek için yüzeye monte kapasitörün kullanılması yararlıdır; bunu referans olarak kullanarak, erkek başlık kapasitöre en yakın uca lehimlenmelidir. Pimler lehimlendikten sonra birini Arduino'ya bağlamaya hazırız!

Adım 3: WS2812 Breakout Board'u Arduino'ya Bağlama

WS2812 Breakout Board'u Arduino'ya Bağlama
WS2812 Breakout Board'u Arduino'ya Bağlama
WS2812 Breakout Board'u Arduino'ya Bağlama
WS2812 Breakout Board'u Arduino'ya Bağlama
WS2812 Breakout Board'u Arduino'ya Bağlama
WS2812 Breakout Board'u Arduino'ya Bağlama

Bu adımda bir Arduino ile WS2812 Breakout Board'larımızdan biri arasında gerekli bağlantıları yapacağız. Bu amaçla lehimsiz devre tahtası ve 3 x atlama teli kullanacağız. Bir tel makarası kullanıyorsanız, şimdi her biri yaklaşık 4 uzunluğunda 3 parça kesmenin zamanı geldi. Artık WS2812 Breakout Board'u (standart başlıklara sahip olan) breadboard'umuzun ayırıcısına yerleştirebiliriz. Arduino'nun hem güç kaynağından hem de USB'den bağlantısı kesildiğinden, bağlantıları kablolamaya devam edeceğiz. WS2812 Breakout Board'un alt tarafında her bir pinin adını bulabiliriz: VCC, DI (DO), GND. bu bir rehber olarak Arduino'dan gelen 5V ve GND pinlerini sırasıyla WS2812 kartının VCC ve GND pinlerine bağlamaya devam ediyoruz. Ardino'nun Digital tarafındaki pin 8'i WS2812 board'un DI pinine bağlıyoruz., kondansatöre en yakın tarafın merkez pimi. Artık programımızı Arduino'ya yüklemeye ve WS2812'nin yanıp sönmesini sağlamaya hazırız!

Adım 4: Arduino IDE ile Yanıp Söndürme

Arduino IDE ile Yanıp Söndürme
Arduino IDE ile Yanıp Söndürme
Arduino IDE ile Yanıp Söndürme
Arduino IDE ile Yanıp Söndürme

Arduino IDE'yi bilgisayarınıza zaten kurduğunuzu varsayacağım --- web'deki birçok kılavuz süreci oldukça iyi açıklıyor. Arduino'muza yüklememiz gereken program buradan indirilebilir. Arduino IDE'ye yüklemek için firmware > örnekler > primer klasörü içindeki primer.ino dosyasına çift tıkladıktan sonra (versiyon 1.0.5 için wirtten). Paket, kodun derlenmesi için gerekli kütüphaneleri içerir, bu nedenle herhangi bir hata olmamalıdır, derlemede herhangi bir sorunla karşılaşırsanız lütfen bir yorum gönderin. Arduino kart tipini ve Araçlar menü seçeneğini kullanarak USB portunu seçtikten sonra, kodu yükleyin ve WS2812, Kırmızı, Yeşil ve Mavi arasında dönüşümlü olarak yanıp sönmeye başlamalıdır. Bu WS2812 RGB LED'lerin en güzel özelliği, bu LED'lerin çoğunu içeren uzun şeritler ve diziler oluşturmak için oldukça kolay bir şekilde "papatya dizimi" oluşturulabilmeleridir. Bir sonraki adımda hazırladığımız 3 pano ile tam olarak bunu yapıyoruz.

Adım 5: Bir RGB LED Şeridi Oluşturma

Bir RGB LED Şeridi Yapmak
Bir RGB LED Şeridi Yapmak
Bir RGB LED Şeridi Yapmak
Bir RGB LED Şeridi Yapmak

Gömülü LED sürücü devresi (WS2811), yalnızca 1 veri hattı(!) kullanarak bir LED'i diğerine 'zincirleme bağlamaya' izin verir. Bir WS2812'nin Veri Çıkışını diğerinin Veri Girişine bağlayarak, bir Arduino'da 500'e kadar tüm LED dizisinin parlaklığını ve rengini kontrol edebiliriz! Tabii ki, birçok LED'i sürmek için bazı hususlar gereklidir: - Her piksel 60mA'ya kadar çeker (tam parlaklıkta beyaz, her biri ~20mA olmak üzere tüm LED'lerin açık olmasını gerektirir). - Bir Arduino, 30 Hz yenileme hızında 500 LED kullanan RAM'ini maksimuma çıkaracaktır. - İki kartı birbirine bağlamak için, güç düşüşlerini ve veri bozulmasını önlemek için önerilen maksimum ayrım 6"'dir. Bu hususları göz önünde bulundurarak, tutarlı parlaklık seviyelerinde 24 bit renk çözünürlüğü kullanarak tüm LED'leri çalıştırabiliriz, ve (küçük) pil gücü değişikliklerindeki değişikliklere karşı oldukça dayanıklı. Bu Talimat için hazırladığımız panoları 'papatya zinciri' yapmak için, iki panonun birinden erkek ucuna dişi ucunu sağ tarafla bağlayarak başlıyoruz. Daha sonra Arduino kartımızın Power ve USB bağlantısı kesilerek iki board zincirin erkek ucunu lehimsiz breadboard üzerine yerleştiriyoruz. Pinlerin breadboard'a bağlı olan WS2812 Breakout Board üzerindeki pinler ile aynı hizada olmasını sağlıyoruz. Böyle bir hizalama, hem düz başlıklı panodan hem de devre tahtasının aynı satırındaki zincirden VCC ve GND pinlerine sahip olacaktır. İki panolu zinciri, kapasitörün karşısındaki üçüncü Breakout Board'un sonuna yakın bir yere yerleştiriyoruz.. A Her şey bağlandıktan sonra, Arduino IDE'yi çalıştırabilir ve "#define NUM_LEDS 1" tanımını "#define NUM_LEDS 3" olarak değiştirmek için Metin Düzenleyiciyi kullanabiliriz. Kartı tekrar Güç ve/veya USB'ye bağladıktan sonra yeni programı yükleyebiliriz… ve… BAM! Üç LED'in tümü de aynı şekilde yanıp sönmelidir!

Adım 6: Karanlığa, Işık Olsun

Karanlığa, Işık Olsun!
Karanlığa, Işık Olsun!
Karanlığa, Işık Olsun!
Karanlığa, Işık Olsun!

Bu Eğitilebilir Tablo, küçük ayırma panolarına önceden lehimlenmiş WS2812 RGB LED'in nasıl kullanılacağını hızlı bir şekilde gösterdi. LED'lerin parlaklığını ve rengini kontrol etmek için bir Arduino kullandık. Biraz hayal kırıklığı yaratan bir şey, kullandığımız kodun LED'lerin hepsinin aynı yoğunluk ve renkle aynı anda yanıp sönmesini sağlamasıydı. Bu çalışma modu, bu pakette bulunan 'akıllı' LED sürücüsünün (WS2811) tam potansiyelini sergilemez. Ve böylece, orijinal kodda aşağıdaki değişiklikleri deneyelim. Daha önce olduğu gibi, dosyayı indirip açacaksınız ve ardından Arduino'ya yüklenecek ürün yazılımını açacaksınız (ürün yazılımı > efektler > efekt.ino). Bu demo için gereken tüm dosyalar dahil edilmiştir, bu nedenle üçüncü taraf kütüphaneleri eklemenize gerek yoktur; kod herhangi bir değişiklik yapılmadan derlenmelidir --- 3 LED'i işlemek için zaten ayarlanmıştır. Artık bu çok kullanışlı, kompakt RGB LED'lerin ışıklarını parlatabileceği bir sonraki projeyi tasarlamak sizin hayal gücünüze kalmış. Yorumlar bölümünde WS2812'yi kullanarak kendi kreasyonlarınızdan bazılarını yayınlamaktan çekinmeyin!

Önerilen: