在这篇文章中,我们将使用Arduino构建LED条控制器电路,它可以使用普通红外遥控器打开/关闭和降低/增加LED的亮度。
什么是LED长条灯?(新手)
如果你对LED长条灯不熟悉的话,让我们来了解一下它是什么。
LED灯带(有时也叫彩带灯)是由一系列发光二极管和控制电路组成的柔性PCB, LED灯带上的元件采用表面贴装(SMD)。
适用于节日期间装饰家庭、聚会场所、户外等。
背面有粘胶层,可贴于墙壁、木材或任何光滑表面,无需粘胶。
它有不同的长度,宽度,颜色,在这个项目中,我们将控制单色LED条。但是如果你想单独控制RGB颜色,你可以修改给定的代码和电路。
LED条工作在12V或24V取决于规格,但在这个项目中24V是不合适的,因为arduino板不是设计来处理24V。也有USB类型的LED带,可以工作在5V,需要对电路进行适当的修改才能在这个项目中使用。
到现在为止,你应该已经理解了LED长条灯。
LED长条灯需要控制电路,这是现成的市场,但那些是昂贵的。在这个项目中,我们将构建简单和廉价的电路,可以通过任何IR遥控器控制LED条形灯。
线路图:
该电路由几个组件组成:带耦合电容的稳压器、TSOP1738红外传感器、MOSFET IRFZ44N、LED带和arduino Uno项目的大脑。你可以为这个项目选择你最喜欢的arduino板。
TSOP1738传感器接收红外信号从远程解码的方式,以单片机可以理解。n沟道MOSFET放大来自arduino的信号并馈送到LED带。
稳压器为arduino和LED条供电。确保你的电源可以提供足够的电流为LED条。
所提出的电路是为12V LED带设计的,您可以根据LED带的规格改变电压调节器。建议不要使用额定电压高于20V的LED带,因为arduino的绝对最大值是20V。
该电路可以打开和关闭LED带;它可以上下调节亮度5步,这是通过对LED带施加不同的PWM信号实现的。
如何测试
要完成这些操作,请遵循下面给出的说明:
•选择遥控器上的任意三个按钮来控制电路。我们需要知道这些按钮的十六进制代码
•打开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) //开/关十六进制码
{
如果(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