Kontrolowanie włączania / wyłączania i jasności taśmy LED za pomocą dowolnego pilota

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym poście zamierzamy zbudować obwód kontrolera taśm LED za pomocą Arduino, który może włączać / wyłączać i zmniejszać / zwiększać jasność diod LED za pomocą zwykłego pilota na podczerwień (podczerwień).



Co to jest taśma LED? (Dla noobów)

Jeśli nie znasz świateł na taśmie LED, zrozummy, co to jest.

Taśmy LED (czasami nazywane diodami wstążkowymi) to elastyczna płytka drukowana, która składa się z szeregu jasnych diod LED i obwodów kontrolera, elementy na taśmie LED są osadzone na powierzchni (SMD).



Służy do dekoracji domów, pokojów imprezowych i na zewnątrz podczas sezonów festiwalowych itp.

Na tylnej stronie ma lepką warstwę, która może przyklejać się do ścian, drewna lub dowolnej gładkiej powierzchni bez potrzeby stosowania kleju.

Występuje w różnych długościach, szerokościach, kolorach, w tym projekcie będziemy sterować jednokolorową taśmą LED. Ale jeśli chcesz indywidualnie kontrolować kolory RGB, możesz zmodyfikować podany kod i obwód.

Taśmy LED pracują pod napięciem 12V lub 24V w zależności od specyfikacji, ale w tym projekcie 24V nie jest odpowiednie, ponieważ płyta arduino nie jest przystosowana do obsługi 24V. Dostępne są również paski LED typu USB, które mogą pracować z napięciem 5V i mogą być zastosowane w tym projekcie dopiero po odpowiedniej modyfikacji obwodu.

Do tej pory zrozumiałbyś, czym jest taśma LED Light.

Taśma LED Światło wymaga obwodu kontrolera, który jest łatwo dostępny na rynku, ale jest drogi. W tym projekcie skonstruujemy prosty i niedrogi obwód, który może sterować oświetleniem taśm LED za pomocą dowolnego pilota na podczerwień.

Schemat obwodu:

Kontroler oświetlenia taśm LED z Arduino

Układ składa się z kilku elementów: stabilizatora napięcia z kondensatorami sprzęgającymi, czujnika podczerwieni TSOP1738, MOSFET IRFZ44N, taśmy LED oraz mózgu projektu arduino Uno. Do tego projektu możesz wybrać swoją ulubioną tablicę arduino.

Czujnik TSOP1738 odbiera sygnały IR z pilota i dekoduje w sposób zrozumiały dla mikrokontrolera. N-kanałowy tranzystor MOSFET wzmacnia sygnały z arduino i jest podawany na pasek LED.

Regulator napięcia zasila arduino oraz pasek LED. Upewnij się, że Twój zasilacz może dostarczyć odpowiednią ilość prądu dla paska LED.

Proponowany obwód przeznaczony jest do taśm LED 12V, istnieje możliwość zmiany regulatora napięcia w zależności od specyfikacji taśmy LED. Zaleca się, aby nie używać paska LED, który ma napięcie znamionowe wyższe niż 20 V, ponieważ bezwzględne maksimum arduino wynosi 20 V.

Ten obwód może włączać i wyłączać pasek LED, może regulować jasność w górę iw dół o 5 stopni, osiąga się to poprzez zastosowanie różnych sygnałów PWM do paska LED.

Jak testować

Aby wykonać te operacje, postępuj zgodnie z instrukcjami podanymi poniżej:

• Wybierz dowolne 3 przyciski na pilocie, którymi będziesz sterować obwodem. Musimy znać kod szesnastkowy tych przycisków

• Otwórz IDE, przejdź do pliku> przykłady> IRremote> IRrecvDemo.

• Po zakończeniu konfiguracji podłącz USB do arduino i komputera (bez zewnętrznego zasilania), załaduj kod i otwórz monitor szeregowy.

• Teraz naciśnij jeden raz każdy przycisk, zobaczysz jego kod szesnastkowy na monitorze szeregowym i zanotujesz go. Ten kod szesnastkowy należy załadować z danym programem do arduino.

UWAGA:

Proponowany obwód przeznaczony jest do sterowania jednokolorową taśmą LED. Jeśli masz wielokolorową taśmę LED z krótkimi zaciskami RGB (daje kolor biały), reszta obwodu jest taka sama.

Kod programu:

//---------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---------//

UWAGA:
Zastąp 0x80C, 0x810 i 0x811 kodem szesnastkowym pilota zaczynającym się od „0x”




Poprzedni: Transistor Stray Pickup False Triggering Problem Dalej: Automatyczna lampa do podgrzewania żywności dla hoteli