Herhangi bir Uzaktan Kumanda ile LED Şerit Işığını AÇIK / KAPALI ve Parlaklığı kontrol etme

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda, sıradan IR (Kızılötesi) uzaktan kumandayı kullanarak LED'lerin AÇIK / KAPALI ve parlaklığını azaltabilen / artırabilen Arduino kullanarak LED şerit kontrol devresi inşa edeceğiz.



LED Şerit Işığı nedir? (Çaylaklar için)

LED şerit ışıklara aşina değilseniz, ne olduğunu anlayalım.

LED şeritler (bazen şerit ışıklar olarak da adlandırılır), bir dizi parlak LED ve denetleyici devrelerinden oluşan esnek PCB'dir, LED şerit üzerindeki bileşenler yüzey yığılıdır (SMD).



Festival sezonlarında vb. Evlerin, parti odalarının ve dış mekanların dekorasyonunda kullanılır.

Arka yüzünde duvarlara, ahşaba veya herhangi bir pürüzsüz yüzeye yapıştırıcı gerektirmeden yapışabilen yapışkan tabaka vardır.

Çeşitli uzunluklarda, genişliklerde, renklerde geliyor, bu projede tek renkli LED şeridi kontrol edeceğiz. Ancak RGB renklerini ayrı ayrı kontrol etmek istiyorsanız, verilen kodu ve devreyi değiştirebilirsiniz.

LED şeritler spesifikasyona bağlı olarak 12V veya 24V'de çalışır ancak bu projede 24V uygun değildir çünkü arduino kartı 24V'u işleyecek şekilde tasarlanmamıştır. 5V'de çalışabilen ve bu projede ancak devrenin uygun şekilde değiştirilmesinden sonra kullanılabilen USB tipi LED şeritler de mevcuttur.

Şimdiye kadar LED şerit Işığını anlamış olurdunuz.

LED şerit Işık, piyasada kolayca bulunabilen ancak pahalı olan kontrolör devresine ihtiyaç duyar. Bu projede, LED şerit ışıklarını herhangi bir IR uzaktan kumanda ile kontrol edebilen basit ve ucuz bir devre inşa edeceğiz.

Devre şeması:

Arduino ile LED şerit ışık kontrolörü

Devre birkaç bileşenden oluşur: kaplin kapasitörlü voltaj regülatörü, TSOP1738 IR sensörü, MOSFET IRFZ44N, LED şerit ve arduino Uno projesinin beyni. Bu proje için favori arduino kartınızı seçebilirsiniz.

TSOP1738 sensörü, uzaktan kumandadan IR sinyallerini alır ve mikrodenetleyicinin anlayabileceği şekilde kodunu çözer. N-kanal MOSFET, arduino'dan gelen sinyalleri yükseltir ve LED şeridine beslenir.

Voltaj regülatörü arduino ve LED şeride güç sağlar. Güç kaynağınızın LED şerit için yeterli miktarda akım sağlayabileceğinden emin olun.

Önerilen devre 12V LED şeritler için tasarlanmıştır, voltaj regülatörünü LED şerit özelliklerine göre değiştirebilirsiniz. Arduino'nun mutlak maksimum değeri 20V olduğundan, voltaj değeri 20V'den yüksek olan bir LED şerit kullanılmaması tavsiye edilir.

Bu devre LED şeridini açıp kapatabilir, parlaklığı 5 adımda yukarı ve aşağı ayarlayabilir, bu, LED şeridine farklı PWM sinyalleri uygulayarak elde edilir.

Nasıl Test Edilir

Bu işlemleri gerçekleştirmek için aşağıda verilen talimatları izleyin:

• Uzaktan kumandanızda devreyi kontrol edeceğiniz herhangi 3 düğmeyi seçin. Bu düğmeler için onaltılık kodu bilmemiz gerekiyor

• IDE'yi açın, dosya> örnekler> IRremote> IRrecvDemo'ya gidin.

• Kurulum tamamlandıktan sonra USB'yi arduino ve PC'ye bağlayın (harici güç olmadan) kodu yükleyin ve seri monitörü açın.

• Şimdi her düğmeye bir kez basın, onaltılık kodunu seri monitörde göreceksiniz ve not alacaksınız. Bu onaltılık kodun verilen programla arduino'ya yüklenmesi gerekir.

NOT:

Önerilen devre, tek renkli LED şeridi kontrol etmek için tasarlanmıştır. Çok renkli LED şerit kısa RGB terminalleriniz varsa (beyaz renk verir), devrenin geri kalanı aynıdır.

Program kodu:

//---------Program developed by R.Girish---------//
#include
int X
int Y
int output = 9
int W = 5
int receive = 10
IRrecv irrecv(receive)
decode_results Z
void setup()
{
irrecv.enableIRIn()
Y=0
X=255
pinMode(output,OUTPUT)
}
void loop()
{
if (irrecv.decode(&Z))
{
if (Z.value==0x80C) // Hex code for ON/OFF
{
if(Y==0)
{
digitalWrite(output,HIGH)
Y=1
}
else
{
digitalWrite(output,LOW)
Y=0
X=255
}}
if (Z.value==0x811 && Y==1) // Hex code for reducing Brightness
{
if(X-255/W<0)
{
analogWrite(output,X)
}
else
{
X=X-255/W
analogWrite(output,X)
}}
if (Z.value==0x810 && Y==1) // Hex code for increasing Brightness
{
if(X+255/W>255)
{
analogWrite(output,X)
}
else
{
X=X+255/W
analogWrite(output,X)
}}
irrecv.resume()
}}
//---------Program developed by R.Girish---------//

NOT:
0x80C, 0x810 ve 0x811'i uzaktan kumandanızın '0x' ile başlayan onaltılık koduyla değiştirin




Önceki: Transistör Başıboş pikap Yanlış Tetikleme Sorunu Sonraki: Oteller için Otomatik Yiyecek Isıtıcı Lamba