İçindekiler:

Kolay LED Tatil Işık Gösterisi: Kışın Büyücüler - FastLED ve Arduino Eğitimi ile WS2812B LED Şerit: 6 Adım
Kolay LED Tatil Işık Gösterisi: Kışın Büyücüler - FastLED ve Arduino Eğitimi ile WS2812B LED Şerit: 6 Adım

Video: Kolay LED Tatil Işık Gösterisi: Kışın Büyücüler - FastLED ve Arduino Eğitimi ile WS2812B LED Şerit: 6 Adım

Video: Kolay LED Tatil Işık Gösterisi: Kışın Büyücüler - FastLED ve Arduino Eğitimi ile WS2812B LED Şerit: 6 Adım
Video: Uykuda Askere Gelen Karabasan Kamera da 2024, Temmuz
Anonim
Image
Image

Bu tatil ışık şovunu her yerde gösterilecek şekilde tasarladım ve programladım. 30 piksel/metre piksel yoğunluğuna sahip bir WS2812B led şerit kullandım. 5 metre kullandığım için toplamda 150 ledim oldu. WS2812B LED şeritlerini kullanmaya yeni başlayan herkesin kodu kolayca takip edebilmesi için kodu basit tuttum. Bu aynı zamanda, farklı miktarlarda piksel kullanırsanız, zamanlamanın bozulacağı anlamına gelir, bu nedenle 150 LED'e bağlı kalmalısınız. Ayrıca, basit tutmak gerekirse, müzik sistemi hiç Arduino tarafından yönetilmiyor. Programın başlangıcında 3 yeşil, 1 kırmızı yanıp söner, ardından asıl ışık gösterisi başlar. Müziği manuel olarak başlatmanız gerektiğinden, bu ilk yanıp sönmeler, müziği ne zaman çalmaya başlayacağınız konusunda size bir gösterge vermek içindir. Aşağıdaki kodu ekledim. Bu kodu ticari olmayan amaçlarla eklemekten veya değiştirmekten çekinmeyin.

Gereçler

- WS2812B LED Şerit

-Arduino

- Teller

- 5V 10A Güç Kaynağı | Birden fazla şerit kullanıyorsanız, daha büyük bir güç kaynağı kullanmanız gerekecektir. Her piksel 60mA kullanır, yani 150 piksel * 60mA = 9A. Beyazda tam parlaklık kullanmayı düşünüyorsanız, güç kaynağınız bunu kaldırabilmelidir. 5V LED şeritler kullanıyorsanız 5V güç kaynağı kullanmanız gerekir ve 12V LED şeritler kullanıyorsanız, 12V güç kaynağı kullanmanız gerekir, ancak 5V Arduino'ya güç sağlamak için 12-5V dönüştürücü de kullanmanız gerekir.

1. Adım: FastLED Kitaplığını İndirin

Birkaç Değişken Tanımlayın
Birkaç Değişken Tanımlayın

FastLED kitaplığını henüz indirmediyseniz, en son sürümü github.com/FastLED/FastLED/releases adresinden indirin.

FastLED kitaplığını indirin ve Arduino kitaplıkları klasörünüze taşıyın. Bu klasörün adını DEĞİŞTİRMEYİN. Arduino IDE'de Sketch, Include Library ve ardından Add. ZIP Library'ye gidin. FastLED klasörünü seçin.

Kitaplığınız kurulduktan sonra #include satırını ekleyin Bu satır programa o kitaplığı kullandığınızı söyler.

Adım 2: Birkaç Değişken Tanımlayın

Daha önce de belirttiğim gibi, kodu basit tutmak için piksel sayısını değiştirmek zamanlamayı veya ışık gösterisini değiştirecektir.

#define NUM_LEDS 150 satırı, kullanılan piksel sayısını koyduğunuz yerdir. Bu durumda, 150 olacaktır.

#define DATA_PIN 5 satırı, veri kablosunu bağladığınız dijital pini koyduğunuz yerdir.

#define BRIGHTNESS 255 satırı, 255'in en parlak olduğu 0-255 aralığındaki parlaklığı koyduğunuz yerdir.

Adım 3: Kodun Kurulum Bölümü

Kodun Kurulum Bölümü
Kodun Kurulum Bölümü

Kurulum bölümünde 2 saniye gecikme oluyor ve hat

FastLED.addLeds(led'ler, NUM_LEDS).setCorrection(TypicalLEDStrip);

WS2812B, kullandığımız LED şeridinin türünü belirtti ve DATA_PIN, önceki adımda tanımladığımız değişkendir. GRB renk sırasıdır. Bu, kullanılan LED şeridine bağlı olarak değişebilir. Kodu olduğu gibi deneyin ve renkler videodakiyle aynı değilse, bunu RGB veya örneğin BRG olarak değiştirmeyi deneyin. Bu satırın geri kalanını aynı bırakabilirsiniz. çizgiler

FastLED.setBrightness(max_bright); set_max_power_in_volts_and_milliamps(5, 8000);

LED şeridin güç kullanımını sınırlayın. Bu, FastLED kitaplığından harika bir özellik. 5 sayısı kullandığımız voltajdır ve 8000 sayısı LED şeridin mA cinsinden kullanabileceği maksimum akımdır. Ömrünü uzatmak için güç kaynağının kapasitesinin yalnızca %80'inin kullanılması önerilir. 10A güç kaynağım olduğundan, 0.8*10 = 8A veya 8000mA.

Adım 4: Döngü Bölümü | Aka, Kodun Harika Parçası

Döngü Bölümü | Aka, Kodun Harika Parçası
Döngü Bölümü | Aka, Kodun Harika Parçası
Döngü Bölümü | Aka, Kodun Harika Parçası
Döngü Bölümü | Aka, Kodun Harika Parçası

Artık özel LED şeridimiz için programı kurmayı bitirdiğimize göre, şeritlerin gerçekten yanmasını sağlayan parçaya geçebiliriz. Bu bölümün temiz görünmesini sağlamak için şeritleri kontrol etmek ve farklı efektler yapmak için yazma işlevleri kullandım. Soldaki yukarıdaki resim, fonksiyonları çalıştıran döngü bölümünün bir parçasıdır. Sağdaki resim bunun altında ve her fonksiyonun ne yaptığını yazdığım yer.

Adım 5: Kablolama

kablolama
kablolama

WS2812B LED şeritlerinin her iki ucunda 3 terminal bulunur. 2 güç için ve 1 Arduino'muzdan gelen veri sinyali için. Arduino'nun güç terminallerine 2 kablo bağlayın ve LED şeridine 2 güç kablosu bağlayın. Şeridin ucuna güç enjeksiyon telleri adı verilen 2 adet güç teli de eklemelisiniz çünkü bunu yapmazsanız voltaj kaybı şeridin sonunda sönük LED'lere yol açabilir. Hangi terminalin ne için olduğunu görmek için şerit üzerindeki etiketleri kontrol edin. Polariteyi karıştırmak, kızarmış bir şeride yol açabilir. Ayrıca, daha iyi veri iletimi için ortak bir toprak oluşturmak için Arduino'nun topraklama kablosunu LED şerit üzerindeki topraklama kablosuna bağlayın. Güç enjeksiyon kabloları eklemeniz gerektiğini söylemiştim ama data kablosu için bunu YAPAMAZSINIZ. Bunun nedeni, her LED'in veri sinyalini bir sonrakine yeniden yayınlamasıdır, bu nedenle belirtilen Arduino pinine ve LED şeridine 1 veri kablosu bağladığınızdan emin olun. Şeritte, veri hareketinin yönünü gösteren küçük bir ok olmalıdır. Veri sinyal kablosunu sonuna değil, başına koyduğunuzdan emin olun. Bunu karıştırmak kızarmış bir şeride yol açabilir.

Adım 6: LED Şeridi Monte Etme

LED şeridimi basitçe bantlayarak bir pencerenin içine monte ettim. Ancak, LED şeridinizi monte etmenin başka birçok yolu vardır. Çatı çizginizin dışına şeritleri yerleştirmek için https://tinyurl.com/s2km4v3 gibi bir alüminyum kanal kullanabilirsiniz. LED şeritlerinizi dışarıya koyuyorsanız, alüminyum kanal kullanıyorsanız ip65 şeritleri kullanmanızı öneririm çünkü bunlar yarı su geçirmezdir ve bazı kanallara sığmayabilen 1p67'den daha incedir. Bunu bir kanal olmadan dışarıya monte etmeyi düşünüyorsanız, pratik olarak su geçirmez olan ip67 şeritlerini kullanın. Tavan hattınızın zirvesindekiler gibi bir köşeyi dönmek için ideal olarak şeridi kesmeli ve köşeyi dolaşmak için teller kullanmalısınız. Sadece şeridi bükmekle kurtulabilirsiniz, ancak bir LED'i patlatmak kolay olduğu için onları ne kadar büktüğünüze dikkat edin.

Önerilen: