Control de llum de tira LED ON / OFF i brillantor amb qualsevol control remot

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest post anem a construir un circuit de control de tira de LED mitjançant Arduino, que pot encendre / apagar i disminuir / augmentar la brillantor dels LED mitjançant un control remot IR (infraroig) ordinari.



Què és la llum de tira LED? (Per a noobs)

Si no esteu familiaritzat amb els llums de tires LED, comprenem de què es tracta.

Les tires LED (de vegades anomenades llums de cinta) són PCB flexibles que consisteixen en una sèrie de LEDs brillants i circuits de control, els components de la tira LED són de superfície acumulada (SMD).



S'utilitza per decorar cases, sales de festes i a l'aire lliure durant les temporades de festivals, etc.

Té una capa enganxosa a la part posterior que es pot enganxar a les parets, la fusta o qualsevol superfície llisa sense necessitat d'adhesiu.

Es presenta en diverses longituds, amplada i colors, en aquest projecte controlarem la tira LED d’un sol color. Però si voleu controlar els colors RGB individualment, podeu modificar el codi i el circuit donats.

Les tires LED funcionen a 12V o 24V segons les especificacions, però en aquest projecte el 24V no és adequat, ja que la placa arduino no està dissenyada per manejar 24V. També hi ha disponibles tires LED de tipus USB que poden funcionar a 5V i només es poden utilitzar en aquest projecte després d’una modificació adequada del circuit.

A hores d'ara ja hauríeu entès sobre la tira de llum LED.

La llum de tira LED necessita un circuit de controlador que estigui disponible al mercat però que sigui car. En aquest projecte construirem un circuit senzill i econòmic que pugui controlar les llums de tira LED mitjançant qualsevol comandament a distància IR.

Esquema de connexions:

Controlador de llum de tira LED amb Arduino

El circuit consta de pocs components: regulador de voltatge amb condensadors d'acoblament, sensor IR TSOP1738, MOSFET IRFZ44N, tira LED i cervell del projecte arduino Uno. Podeu triar la vostra placa arduino preferida per a aquest projecte.

El sensor TSOP1738 rep senyals IR des del comandament a distància i es descodifica de manera que es pugui entendre el microcontrolador. El MOSFET de canal N amplifica els senyals de l’arduino i s’alimenta a la tira LED.

El regulador de voltatge alimenta arduino i tira LED. Assegureu-vos que la font d'alimentació pugui proporcionar una quantitat adequada de corrent per a la tira LED.

El circuit proposat està dissenyat per a tires LED de 12 V, podeu canviar el regulador de voltatge en funció de les especificacions de les tires LED. Es recomana no utilitzar cap tira LED que tingui una tensió nominal superior a 20V, ja que el màxim absolut d’arduino és de 20V.

Aquest circuit pot activar i desactivar la tira LED, pot ajustar la brillantor cap amunt i cap avall en 5 passos, això s’aconsegueix aplicant diferents senyals PWM a la tira LED.

Com provar

Per dur a terme aquestes operacions, seguiu les instruccions següents:

• Trieu els 3 botons del control remot que voleu controlar el circuit. Hem de conèixer el codi hexadecimal d’aquests botons

• Obriu IDE, aneu a fitxer> exemples> IRremote> IRrecvDemo.

• Amb la configuració completa, connecteu l'USB a arduino i el PC (sense alimentació externa) pengeu el codi i obriu el monitor sèrie.

• Ara premeu cada botó una vegada, veureu el codi hexadecimal al monitor sèrie i l’anotareu. Aquest codi hexadecimal s’ha de carregar amb el programa donat a arduino.

NOTA:

El circuit proposat està dissenyat per controlar la tira LED d’un sol color. Si teniu terminals RGB curts de tira LED multicolor (dóna color blanc), la resta del circuit és el mateix.

Codi del programa:

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

NOTA:
Substitueix 0x80C, 0x810 i 0x811 pel codi hexadecimal del comandament que comença per '0x'




Anterior: Transistor Stray Pickup False Triggering Problem Següent: làmpada d’escalfament automàtic d’aliments per a hotels