智能手机控制的RGB情绪灯

31,062

397

40

简介:智能手机控制的RGB心情灯

关于:所以基本上我是一个疯狂的人,喜欢用最奇怪的方式思考,他想什么就做什么,别人也做什么。看看我的疯狂项目,如果你愿意的话,跟着我:D

心情灯对我来说总是很吸引人的,从Arduino开始是一个非常好的项目。

什么是情绪灯?

情绪灯是一种照明设备,用于在房间内建立特定的感觉或情绪。在某些情况下,这种类型的灯可能是一个插入插座的小装置,在房间地板线附近产生光点。情绪灯的其他例子可以用来照亮沿着墙壁的特定点,或者在房间里的一件较大的家具上投射柔和的光线。

情绪照明与其他灯具有些不同,因为它们的用途与其说是实用的,不如说是美观的。例如,阅读灯倾向于为给定的空间提供明亮的光线,以便能够阅读书籍或杂志而不会对眼睛造成压力。当需要照亮大部分空间(如教室或实验室)时,使用高架照明。相比之下,情绪灯是用来帮助创造一个特定的氛围在房间内作为一种手段,使空间更具吸引力和欢迎在某种程度上。

注意:如果你喜欢的话,这个指示是接受彩虹比赛做投票。

为即将到来的视频订阅我的频道。

https://www.youtube.com/user/pious67

步骤1:组件

组件列表太小,但列表中存在差异。我实际上复习了三种类型
不管怎样,名单上没有。

  • 阿杜伊诺
  • RBG发光二极管
  • HC-05型
  • 跳线
  • 面包板

所有变体的比较

RGB led:易趣和所有电台棚或本地商店都可以轻松买到。

高色彩输出。用arduino可以很容易地获得动力。
RGB贴片:这是作为模块销售我测试一个共同的阴极版本似乎不是与arduinos内部电源伟大。
RGB LED条:这些都是最好的高颜色范围输出与正确的驱动程序,你可以驱动他们给疯狂的颜色水平。
印度人可以在这里找到这些链接
你也需要这个应用程序用蓝牙控制它

第2步:什么是RGB Led?

普通led发出单色颜色输出,可以是红色、绿色或红色蓝色。到获得我们需要的其他颜色来组合RGB颜色。这将导致7种不同的结果颜色。到产生7种以上的颜色,每个颜色通道应该能够改变亮度,而不是仅仅打开或关闭。
一种流行的控制方法是PWM,其占空比范围决定可用的亮度水平。级别越多,产生的颜色就越多。RGB混色技术除了在城市户外装饰照明、舞台照明设计、家居装饰照明、LED显示矩阵等应用中的广泛应用外,在LCD背光和投影仪中也有应用。
我们将在本教程的后面部分学习PWM。

RGB可以是两种类型

共阴极或共阳极
共阴极三个led通道有一个阴极

共阳极三个led通道有一个阳极

步骤3:连接RGB Led和RGB Led条带

RGB LED:以RGB led为例,接口非常容易,我们讨论了共阴极和共阳极。

共阴极

R到任何可用的PWM通道

G到任何可用的PWM通道

B到任何可用的PWM通道

阴极对地

共阳极

R到任何可用的PWM通道
G到任何可用的PWM通道

B到任何可用的PWM通道

阳极至5V

RGB Led条

如果需要用Mosfet或晶体管来开关剥离,我就用晶体管。
我做了驱动程序,它也在示意图中给出。

步骤4:控制RGB

为了控制RGB,我们需要学习如何控制正常的LED亮度。
答案是PWM脉冲宽度调制。它是通过改变脉冲占空比来表示模拟信号的数字信号。

在arduino中,我们使用analogwrite函数来获得PWM波该函数生成一个指定占空比的方波,其值由用户定义。

在下图中,绿线表示一个固定的时间段。此持续时间或周期与PWM频率相反。换句话说,在Arduino的PWM频率约为500Hz的情况下,每条绿线的测量值为2毫秒。对analogWrite()的调用的范围是0-255,因此analogWrite(255)请求100%的占空比(始终打开),analogWrite(127)请求50%的占空比(一半时间)

第5步:连接

模式灯的连接很简单
首先我们连接rgb led或条带。

RGB LED/RGB条

红色至Arduino的针脚3

蓝色至Arduino的针脚5

绿色至Arduino的针脚6

阳极至5V
If带
驱动器接地至Arduino接地

HC-05连接

Rx至Arduino的针脚12

发送至Arduino的针脚11

vcc至5v

地对地

第6步:代码

#include#include//包含库:SoftwareSerial&Wire SoftwareSerial BT(11,12);//将PIN11和PIN12定义为RX和TX引脚//RGB LED引脚int PIN_RED=3;int PIN_GREEN=5;int PIN_BLUE=6;//引脚13处的红色LED int RED_LED=13;字符串RGB=“”;//存储来自BT字符串RGB的RGB代码,字符串RGB_Previous=“255.255)”;//为LED开关保留以前的RGB颜色,默认白色字符串on=“on”;//检查是否收到on命令字符串off=“off”;//检查是否收到off命令布尔值RGB_Completed=false;void setup(){序列号.开始(9600);//Arduino串口波特率:9600开始(9600);//我的HC-05模块默认波特率是9600RGB储备(30);pinMode(RED_LED,OUTPUT);//将pin13设置为LED的输出,//此LED位于Arduino mini pro上,而不是RGB LED}void loop(){//将主代码放在此处,反复运行://读取串行端口(蓝牙)中的每个字符,同时(BT可用()){char ReadChar=(char)BT.read公司(); //右圆括号)表示字符串的complett if(ReadChar=='){RGB\u Completed=true;}else{RGB+=ReadChar;}}//(如果(RGB\u Completed){//在串行输出窗口打印出调试信息,则在接收到以''结尾的命令代码时序列号.打印(“RGB:”);序列号.打印(RGB);序列号.打印(“预RGB:”);序列号.println(RGB\u Previous);if(RGB==ON){digitalWrite(13,高);RGB=RGB\u Previous;//我们只接收到'ON',因此将上一个RGB颜色返回以打开指示灯RGB\u LED();}否则if(RGB==OFF){digitalWrite(13,低);RGB=“0.0.0)”;//发送OFF字符串以关闭指示灯RGB\u LED();}else{//根据蓝牙串口灯的颜色代码旋转颜色{RGB{LED();RGB{u Previous=RGB;}//重置RGB字符串RGB=“”;RGB{u Completed=false;}//结束if of check if RGB Completed}//结束循环无效灯{u RGB}LED(){int SP1=RGB索引('.');int SP2=RGB索引('.',SP1+1);int SP3=RGB索引('.',SP2+1);字符串R = RGB.子字符串(0,SP1);字符串G=RGB.子字符串(SP1+1,SP2);字符串B=RGB.子字符串(SP2+1,SP3);//在串行输出窗口打印调试信息序列号.打印(“R=”);序列号.println(约束(R.toInt(),0255));序列号.打印(“G=”);序列号.println(约束(G.toInt(),0255));序列号.打印(“B=”);序列号.println(约束(B.toInt(),0255));//用颜色代码//**2014-09-21//点亮LED,因为这些RGB LED是公共阳极(公共正极)//所以我们需要取255减去R,G,B值以获得正确的RGB颜色代码analogWrite(PIN_红色,(R.toInt());analogWrite(PIN_绿色,(G.toInt());analogWrite(PIN_蓝色,(B.toInt());

如果你喜欢这个项目支持我在Facebook我喜欢我的网页

https://www.facebook.com/makewithRex/

,你也可以在网页上谈论你的疑问

2016自动化大赛

亚军
2016自动化大赛

2016彩虹大赛

亚军
2016彩虹大赛

第一个分享

    建议

    • 让它发光比赛

      让它发光比赛
    • 第一次作家大赛

      第一次作家大赛
    • PCB挑战

      PCB挑战

    40次讨论

    0
    典当

    三年前

    你不需要在Uno上的tx输出和HC05之间安装一个分压器来将电压降到3.3伏吗??

    0
    米莎也一样

    三年前

    干得好。谢谢,我很高兴

    恭喜你,这真是太棒了,我喜欢你的家庭自动化教程。恭喜你两次!!:-D个

    0
    geekrex公司

    4年前回复

    谢谢古斯曼,也恭喜你。
    你的CNC很酷,我会尽快做一个CNC。

    0
    目的地28

    4年前

    很好的解释和良好的指导!祝比赛好运!;-)188bet比分直播吧

    0
    geekrex公司

    4年前回复

    谢谢你

    0
    姆加里

    4年前

    你好

    我来自伊朗

    我没学过rdurino

    我想学阿杜里诺

    我学电气工程师

    你怎么能学我?

    储罐u

    姆加里

    0
    帕萨尔

    4年前

    我住在印度,你能给我钱吗

    0
    geekrex公司

    4年前回复

    你住在哪里

    0
    geekrex公司

    4年前回复

    伟大的

    很好,但您需要在Uno上的tx输出和HC 05之间插入一个分压器,以将电压降至3.3伏,否则它将在一段时间后停止工作。

    0
    geekrex公司

    4年前回复

    有一个接口板,所以不用担心

    0
    拉芬戈

    4年前

    很好!=D

    0
    帕萨尔

    4年前

    你能列出所有需要的东西和网站吗

    0
    geekrex公司

    4年前回复

    步骤2中给出

    0
    efbe1840型

    4年前回复

    这似乎是原来的,并与共同的阳极发光二极管工程