LED Işık Şeritlerini Arduino'ya Bağlamak İçin En İyi Kılavuz

LED Işık Şeritlerini Arduino'ya Bağlamak İçin En İyi Kılavuz

LED aydınlatmanın yükselişi stratosferik oldu ve nedenini görmek kolay. Üretilmeleri ucuzdur, diğer aydınlatma seçeneklerinden önemli ölçüde daha az güç tüketirler ve çoğu durumda ısınmazlar, bu da onları çeşitli kullanımlar için güvenli hale getirir.





En yaygın LED ürünlerinden biri LED şerittir. Bu yazıda, bir Arduino ile en yaygın iki türün nasıl kurulacağını ele alacağız. Bu projeler çok basit ve hatta bir Arduino'ya yeni başlayanlar veya DIY elektroniği, bunu yapabileceksiniz.





Bunları kontrol etmek için Arduino IDE'yi de kullanacağız. Bu proje bir Arduino Uno kullanıyor, ancak hemen hemen her uyumlu kartı (NodeMCU gibi) kullanabilirsiniz.





Stripinizi Seçin

LED şeritler için alışveriş yaparken dikkate alınması gereken birkaç şey vardır. Birincisi işlevsellik. Şeritleri çoğunlukla ortam aydınlatması için kullanmayı planlıyorsanız, o zaman basit bir 12v RGB LED şerit ( SMD5050 ) doğru seçim olacaktır.

Bu şeritlerin çoğu, onları kontrol etmek için bir kızılötesi uzaktan kumanda ile birlikte gelir, ancak bu projede bunun yerine bir Arduino kullanacağız. Alışverişe biraz zaman ayırın, yazarken bu şeritleri olabildiğince az almak mümkündü. Metre başına 1 $ .



Image Credit: Shutterstock aracılığıyla phanu suwannarat

kodlama ile nasıl para kazanılır

Biraz daha yüksek teknolojili bir şey istiyorsanız, WS2811 / 12 / 12B . Bu şeritler (bazen Neopikseller ) ayrı ayrı ele alınmalarına izin veren entegre yonga setlerine sahiptir. Bu, ortam aydınlatmasından daha fazlasını yapabilecekleri anlamına gelir.





Bunları sıfırdan ucuz bir LED piksel ekran oluşturmak için kullanabilirsiniz. Bunları kendi kişisel iç mekan fırtına bulutu lambanızı yapmak için bile kullanabilirsiniz.

Bu şeritler, onlara güç sağlamak için yalnızca 5v gerektirir. Küçük miktarlarını doğrudan bir Arduino kartından çalıştırmak mümkün olsa da, kendinizi kızarmış Arduino kokusundan korumak için genellikle ayrı bir 5V güç kaynağı kullanmak iyi bir fikirdir. Bireysel olarak programlanabilen LED'ler arıyorsanız, bunlar tam size göre. Yazma sırasında, yaklaşık olarak kullanılabilirler Metre başına 4 $ .





Dikkate alınması gereken başka bir şey, bu şeritlerin büyük olasılıkla nerede kullanılacağıdır. Bu şerit türlerinin her ikisi de değişen uzunluklarda, LED yoğunluklarında (metre başına LED sayısı) ve farklı hava koşullarına dayanıklılık derecelerinde gelir.

LED şeritlere bakarken listedeki sayılara dikkat edin. Genellikle, ilk sayı metre başına LED sayısı ve harfler olacaktır. IP ardından sayılar onun hava koşullarına dayanıklı olacaktır. Örneğin, listede yazıyorsa 30 IP67 , bu olacak demektir 30 Metre başına LED'ler. NS 6 tamamen tozdan yalıtıldığını ve 7 suya geçici olarak daldırılmaya karşı korunduğu anlamına gelir. (Hakkında daha fazla öğren hava koşullarına dayanıklılık ve IP derecelendirmeleri .) Seçtiğiniz LED şeridini aldıktan sonra, onu bir Arduino ile bağlamanın zamanı geldi. SMD5050 ile başlayalım.

Bağlanmak

Bir 12v LED şeridini Arduino'ya bağlamak için birkaç bileşene ihtiyacınız olacak:

  • 12v RGB LED şerit ( SMD5050 )
  • 1 x Arduino Uno (herhangi bir uyumlu kart işinizi görecektir)
  • 3 x 10k Ohm Dirençler
  • 3 x Mantık Seviyesi N-kanallı MOSFET'ler
  • 1 x Ekmek Tahtası
  • Bağlantı telleri
  • 12v Güç Kaynağı

Devreyi kurmadan önce biraz bahsedelim MOSFET'ler .

Mikrodenetleyicinizden daha yüksek voltajlı bir şeyi kontrol ettiğinizde, kartınızın kızarmasını önlemek için arada bir şeye ihtiyacınız vardır. Bunu yapmanın daha basit yollarından biri MOSFET kullanmaktır. Darbe genişlik modülasyonu göndererek ( PWM ) sinyaller geçit bacak arasında ne kadar güç geçtiğini kontrol etmek mümkündür. boşaltmak ve kaynak bacaklar. LED şeridin renklerinin her birini MOSFET'ten geçirerek, LED şeridindeki her bir rengin parlaklığını kontrol edebilirsiniz.

Mikrodenetleyicileri kullanırken, işlerin istediğiniz gibi çalışmasını sağlamak için mantık düzeyinde bileşenler kullanmak önemlidir. MOSFET'lerinizin olduğundan emin olun. mantık seviyesi ve yok standart .

Devrenizi şu şekilde kurun:

  1. Arduino pinlerini bağlayın 9 , 6 , ve 5 için geçit üç MOSFET'in bacakları ve bir 10k her biri toprak rayına göre direnç.
  2. Bağlan Kaynak bacaklar zemin rayına.
  3. Bağlan Boşaltmak bacaklar Yeşil , , ve Mavi LED şerit üzerindeki konektörler.
  4. Güç rayını şuna bağlayın: +12v LED şeridin konektörü (bu resimde güç kablosunun LED şeridimdeki konektörlerin renkleriyle eşleşmesi için siyah olduğunu unutmayın).
  5. Arduino toprağını toprak rayına bağlayın.
  6. bağla 12v güç raylarına güç kaynağı.

Çoğu LED şeridinde, bağlanması kolay Dupont [Broken URL Removed] konektörleri bulunur. Sizinki yoksa, kabloları LED şeridine lehimlemeniz gerekebilir. Lehimleme konusunda oldukça yeniyseniz panik yapmayın, bu kolay bir iştir ve ihtiyacınız olduğunda lehimlemeye başlamak için bir rehberimiz var.

Bu proje için Arduino kartımıza USB ile güç sağlayacağız. Kartınıza VIN pinini kullanarak güç vermeyi seçebilirsiniz, ancak bunu yapmadan önce kartınızın güç sınırlamalarını bildiğinizden emin olun.

Devreniz tamamlandığında şöyle görünmelidir:

Artık her şeyi bağladığınıza göre, onu kontrol etmek için basit bir Arduino taslağı yapmanın zamanı geldi.

Söndür

Arduino kartınızı USB üzerinden bilgisayarınıza bağlayın ve Arduino IDE'yi açın. Anakartınız için doğru pano ve bağlantı noktası numarasını seçtiğinizden emin olun. Araçlar > Pano ve Araçlar > Bağlantı Noktası menüler. Yeni bir çizim açın ve uygun bir adla kaydedin.

Bu çizim, ışıkları her seferinde bir renkte solduracak, birkaç saniye açık tutacak, sonra tekrar sönene kadar sönecektir. Burayı takip edebilir ve taslağı kendiniz yapabilir veya basitçe indirebilirsiniz. tam kod GitHub'dan.

Hangisini tanımlayarak başlayın iğneler MOSFET'leri kontrol etmek için kullanılacaktır.

#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9

Sonra bazı değişkenlere ihtiyacınız var. Bir genel oluştur parlaklık değişken, her bir rengin parlaklığı için bir değişkenle birlikte. LED'leri kapatmak için yalnızca ana parlaklık değişkenini kullanacağız, bu nedenle burada maksimum parlaklık değeri 255'e ayarlayın.

ayrıca solmanın ne kadar hızlı olacağını kontrol etmek için bir değişken oluşturmanız gerekecek.

int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;

senin içinde kurmak fonksiyonunda Arduino pinlerimizi çıkışa ayarlayacağız. Ayrıca aralarında 5 saniyelik bir gecikme ile birkaç işlevi çağıracağız. Bu işlevler henüz mevcut değil, ama merak etmeyin, onlara ulaşacağız.

void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
TurnOn();
delay(5000);
TurnOff();
}

şimdi oluştur Aç () yöntem:

void TurnOn() {
for (int i = 0; i <256; i++) {
analogWrite(RED_LED, rBright);
rBright +=1;
delay(fadeSpeed);
}

for (int i = 0; i <256; i++) {
analogWrite(BLUE_LED, bBright);
bBright += 1;
delay(fadeSpeed);
}
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, gBright);
gBright +=1;
delay(fadeSpeed);
}
}

Bu üç için döngüler tarafından belirtilen bir süre içinde her rengi tam parlaklığına kadar alır. solmaHız değer.

Son olarak, oluşturmanız gerekir Kapat() yöntem:

void TurnOff() {
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, brightness);
analogWrite(RED_LED, brightness);
analogWrite(BLUE_LED, brightness);

brightness -= 1;
delay(fadeSpeed);
}
}
void loop() {
}

Bu yöntem bizim parlaklık üç renk piminin tümü için değişkendir ve bir süre boyunca onları sıfıra indirir. Derleme hatalarından kaçınmak için burada da boş bir döngü yöntemine ihtiyacımız var.

Bu çizimi tamamladıktan sonra kaydedin. Krokiyi doğrulayın ve Arduino kartınıza yükleyin. Hata alıyorsanız, herhangi bir sinir bozucu yazım hatası veya eksik noktalı virgül için kodu tekrar kontrol edin.

Şimdi, LED şeridinizin her rengi ayrı ayrı yükselttiğini, beyaz rengi 5 saniye basılı tuttuğunu ve ardından tekdüze bir şekilde hiçbir şeye dönüşmediğini görmelisiniz:

Herhangi bir zorluk yaşıyorsanız, kablolamanızı ve kodunuzu tekrar kontrol edin.

Bu proje, başlamanın basit bir yoludur, ancak içerdiği fikirler, gerçekten etkili aydınlatma yapmak için genişletilebilir. Sadece birkaç bileşenle kendi gün doğumu alarmınızı oluşturabilirsiniz. Arduino'nuzla birlikte bir başlangıç ​​kitiniz varsa, odaya girdiğinizde LED'lerinizi tetiklemek için herhangi bir düğmeyi veya sensörü kullanabilirsiniz, örneğin:

bir web sitesinden video indirmek

Artık konuyu kapattığımıza göre SMD5050'ler , devam edelim WS2812B şeritler.

Parlak fikirler

Bu şeritler, onları çalıştırmak için daha az bileşen gerektirir ve tam olarak hangi bileşen değerlerini kullanabileceğinize dair bir miktar boşluk vardır. Bu devredeki kapasitör, 5v LED'lerin sabit bir güç kaynağı almasını sağlar. Direnç, Arduino'dan alınan veri sinyalinin herhangi bir parazit içermemesini sağlar.

İhtiyacın olacak:

  • WS2811 / 12 / 12B 5v LED şerit (üç modelin hepsinde entegre çipler bulunur ve hemen hemen aynı şekilde çalışır)
  • 1 x Arduino Uno (veya benzeri uyumlu kart)
  • 1 adet 220-440 Ohm Direnç (bu iki değer arasındaki herhangi bir şey iyidir)
  • 1 adet 100-1000 mikroFarad Kapasitör (bu iki değer arasındaki herhangi bir şey iyidir)
  • Breadboard ve bağlantı telleri
  • 5V güç kaynağı

Devrenizi şemada gösterildiği gibi kurun:

Kondansatörün doğru yönde olması gerektiğini unutmayın. Kondansatörün gövdesindeki eksi (-) işaretine bakarak yer rayına hangi tarafın bağlı olduğunu anlayabilirsiniz.

Bu sefer Arduino'ya 5v Güç kaynağı kullanarak güç veriyoruz. Bu, burada dikkat edilmesi gereken önemli noktalar olsa da, işimiz bittiğinde projeyi tek başına ayakta tutar.

İlk olarak, güç kaynağına takmadan önce anakartınızın 5v güç alabileceğinden emin olun. Hemen hemen tüm geliştirme kartları USB bağlantı noktası üzerinden 5v'de çalışır, ancak bazılarında güç girişi pinleri bazen voltaj regülatörlerini atlayabilir ve bunları tost haline getirebilir.

Ayrıca, Arduino'ya birden fazla ayrı güç kaynağının bağlı olmadığından emin olmak iyi bir uygulamadır - harici bir güç kaynağı kullanırken USB kablosunu çıkarın.

Fişe taktığınızda şöyle görünmelidir:

Artık LED şeridimiz kablolu olduğuna göre, koda geçelim.

disk 100'de olduğunda ne anlama geliyor?

dans eden ışıklar

Kartımızı güvenli bir şekilde programlamak için, bağlantıyı kesin. ŞARAP güç hattından gelen hat. Daha sonra tekrar takacaksınız.

Arduino'nuzu bilgisayara bağlayın ve Arduino IDE'yi açın. Doğru kart ve bağlantı noktası numarasının seçili olduğundan emin olun. Araçlar > Pano ve Araçlar > Bağlantı Noktası menüler.

kullanacağız HızlıLED kurulumumuzu test etmek için kütüphane. üzerine tıklayarak kütüphaneyi ekleyebilirsiniz. Çizim > Kitaplığı Dahil Et > Kitaplıkları Yönet ve FastLED aranıyor. Kur'a tıklayın ve kitaplık IDE'ye eklenecektir.

Altında Dosya> Örnekler> FastLED seçin DemoReel100 eskiz. Bu eskiz ile yapılabilecek çeşitli şeyler döngü halindedir. WS2812 LED şeritler ve kurulumu inanılmaz derecede kolaydır.

Değiştirmeniz gereken tek şey, DATA_PIN eşleşmesi için değişken pim 13 , ve NUM_LEDS kullandığınız şeritte kaç tane LED olduğunu tanımlamak için değişken. Bu durumda, daha uzun bir şeritten kesilmiş sadece 10 LED'lik küçük bir çizgi kullanıyorum. Daha büyük bir ışık gösterisi için daha fazlasını kullanın!

Bu kadar! Krokiyi panonuza yükleyin, USB kablosunu çıkarın ve 5v güç kaynağınızı açın. Son olarak, Arduino'nun VIN'ini güç hattına yeniden bağlayın ve gösteriyi izleyin!

Hiçbir şey olmazsa, kablolamanızı kontrol edin ve demo çiziminde doğru Arduino pinini belirttiğinizi kontrol edin.

Sonsuz olasılıklar

Demo taslağı, WS2812 şeritleriyle elde edilebilecek birçok olası efekt kombinasyonundan bazılarını gösteriyor. Sıradan LED şeritlerden bir adım ötede olmanın yanı sıra, pratik olarak da kullanılabilirler. İyi bir sonraki proje olurdu kendi ambilight'ınızı oluşturmak medya merkeziniz için.

Bu şeritler kesinlikle SMD5050'lerden daha işlevsel olsa da, henüz standart 12v LED şeritlerini indirim yapmayın. Fiyat açısından rakipsizler ve çok sayıda LED ışık şeritleri için uygulamalar .

LED şeritlerle çalışmayı öğrenmek, Arduino'daki temel programlamaya aşina olmanın iyi bir yoludur, ancak öğrenmenin en iyi yolu, kurcalamaktır. Yukarıdaki kodu değiştirin ve neler yapabileceğinizi görün! Tüm bunlar size biraz fazla geldiyse, şununla başlamayı düşünün: yeni başlayanlar için bu Arduino projeleri .

İmaj Kredisi: mkarco/Shutterstock

Paylaş Paylaş Cıvıldamak E-posta Canon vs. Nikon: Hangi Fotoğraf Makinesi Markası Daha İyi?

Canon ve Nikon, kamera endüstrisindeki en büyük iki isim. Ancak hangi marka daha iyi kamera ve lens yelpazesi sunuyor?

Sonrakini Oku
İlgili konular
  • kendin yap
  • Arduino
  • LED şerit
  • LED ışıklar
Yazar hakkında Ian Buckley(216 Makale Yayınlandı)

Ian Buckley, Berlin, Almanya'da yaşayan serbest gazeteci, müzisyen, sanatçı ve video yapımcısıdır. Yazmadığı veya sahnede olmadığı zamanlarda çılgın bir bilim insanı olma umuduyla kendin yap elektroniği veya koduyla uğraşıyor.

Ian Buckley'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın