在这篇文章中,我们将使用Arduino构建LED带控制器电路,它可以使用普通的红外(红外)遥控器打开/关闭和降低/增加LED亮度。
什么是LED条形灯?(新手)
如果你不熟悉LED条灯,让我们来了解一下它是什么。
LED条(有时也称为色带灯)是由一系列明亮的LED和控制器电路组成的柔性PCB板,LED条上的组件是表面贴装的(SMD)。
它用于装饰家庭,派对房间和户外在节日季节等。
背面有粘性层,可粘在墙壁、木材或任何光滑的表面上,无需粘合剂。
它有不同的长度,宽度,颜色,在这个项目中,我们将控制单色LED条。但如果你想单独控制RGB颜色,你可以修改给定的代码和电路。
LED条根据规格在12V或24V下工作,但在本项目中,24V不适合,因为arduino板不适合处理24V。也有USB型LED条,可以在5V下工作,需要对电路进行适当的修改后才能在本项目中使用。
现在你应该已经了解了LED灯条。
LED灯条需要控制电路,这是现成的市场上,但那些是昂贵的。在这个项目中,我们将构建简单和廉价的电路,可以通过任何红外遥控控制LED灯条。
线路图:
电路由耦合电容调压器、TSOP1738红外传感器、MOSFET IRFZ44N、LED带和arduino Uno脑组成。你可以为这个项目选择你最喜欢的arduino板。
TSOP1738传感器接收来自遥控器的红外信号,并以微控制器可以理解的方式解码。n通道MOSFET将来自arduino的信号放大并馈送到LED条上。
该稳压器为arduino和LED带供电。确保您的电源供应充足的电流,为LED条。
该电路是为12V LED条设计的,您可以根据LED条的规格更改电压调节器。建议不要使用额定电压高于20V的LED带,arduino的绝对最大值为20V。
该电路可实现LED灯条的开关;它可以通过对LED条施加不同的PWM信号来实现亮度上下5步调节。
如何测试
要完成这些操作,请遵循以下说明:
•在你的遥控器上选择任何3个按钮,你将控制电路。我们需要知道这些按钮的十六进制代码
•打开IDE,打开文件>examples>IRremote>IRrecvDemo。
•安装完成后,将USB连接到arduino和PC(无需外接电源)上传代码并打开串行监视器。
•现在按下每个按钮一次,你会看到它的十六进制代码在串行显示器上,并记下它。这些十六进制代码需要与给定的程序上传到arduino。
注意:
该电路主要用于单色LED的控制。如果你有多色LED条短RGB端子(给白色),其余电路是相同的。
程序代码:
//--------- 项目由R.Girish ---------//
# include < IRremote.h >
int X;
int Y;
Int输出= 9;
int W = 5;
Int receive = 10;
IRrecv IRrecv(接收);
decode_results Z;
无效的设置()
{
irrecv.enableIRIn ();
Y = 0;
X = 255;
pinMode(输出,输出);
}
无效循环()
{
如果(irrecv.decode (z))
{
if (Z.value==0x80C) // ON/OFF的十六进制代码
{
如果(Y = = 0)
{
digitalWrite(输出、高);
Y = 1;
}
其他的
{
digitalWrite(输出、低);
Y = 0;
X = 255;
}}
if (Z.value==0x811 && Y==1) //减少亮度的十六进制代码
{
如果(x - 255 / W < 0)
{
analogWrite(输出,X);
}
其他的
{
X = X - 255 / W;
analogWrite(输出,X);
}}
if (Z.value==0x810 && Y==1) //增加亮度的十六进制代码
{
如果(X + 255 / W > 255)
{
analogWrite(输出,X);
}
其他的
{
X = X + 255 / W;
analogWrite(输出,X);
}}
irrecv.resume ();
}}
//--------- 项目由R.Girish ---------//
注意:
用以" 0x "开头的十六进制代码替换0x80C, 0x810和0x811