红外控制RGB LED

10,077

35

15

简介:红外控制RGB LED

这将允许完全RGB控制RGB LED(约。160万色)。这仅仅是概念的证明;真正的应用程序可能是连接和RGB LED srtip为您的房间或PC照明。

零件清单:

  • Arduino UNO第3版
  • RGB LED(或RGB LED条带/其他RGB显示屏)
  • 红外遥控接收器
  • 3个220R电阻器
  • 原型板(我也使用了原型板)
  • 6根跨接电缆

在这里,我使用遥控器(4-9)底部的两行数字来控制每种颜色的强度。

第1步:布线

你可能需要摆弄一下所用的别针。我不得不换了我的,直到我找到一些工作。我想我使用的IR库有一个bug;我需要用这个做更多的实验。

第二步:代码

首先,您需要安装IR库:https://github.com/z3t0/Arduino-IRremote

请在此处查找代码:https://gist.github.com/Marcel-Robitaille/bebb855812428b19bb2c

您可能需要根据您的遥控器更改代码。

#包括
int pinR=9;int pinG=6;int pinB=5;int pinSignal=11;

IRrecv(pinSignal);解码结果;

长码[6]={0xFD28D7,//4 0xFD18E7,//7 0xFDA857,//5 0xFD9867,//8 0xFD6897,//6 0xFD58A7//9};int valR=0;int valG=0;int valB=0;

void setup(){Serial.begin(9600);依那普利();

pinMode(pinR,输出);pinMode(pinG,输出);pinMode(pinB,输出);

}

void loop(){if(irrecv.decode(&results)){if(results.value==codes[0]&&valR<255){valR++;}

否则,如果(results.value==代码[1]&&valR>0){valR--;}

else if(results.value==codes[2]&&valG<255){valG++;}

否则,如果(results.value==代码[3]&&valG>0){valG--;}

else if(results.value==codes[4]&&valB<255){valB++;}

else if(results.value==codes[5]&&valB>0){valB--;}显示(valR、valG、valB);连载打印(“红色:”);串行打印(valR);Serial.print(“绿色:”);串行打印(valG);串行打印(“蓝色:”);串行打印(valB);Serial.println(“”);irrecv.resume();}}

void display(int red,int green,int blue){模拟写入(pinR,constrain(red,0,255));模拟写入(pinG,constrain(绿色,0,255));模拟写入(pinB,约束(蓝色,0,255));}

2016年全光谱激光大赛

参加了
2016年全光谱激光大赛

所有的事情!竞赛

参加了
所有的事情!竞赛

第一个分享

    建议

    • 主办方:学生设计挑战赛

      主办方:学生设计挑战赛
    • 飞鸟速度挑战赛

      飞鸟速度挑战赛
    • 方块挑战赛

      方块挑战赛

    15评论

    0
    坦卡波塔默斯

    5个月前

    您应该在代码中添加一些注释。帮助初学者学习(和调试!)。

    0
    克雷格5

    小费1年前

    你好。
    谢谢你的“爱”。。。我有一些问题,但得到了它的工作。
    如果有人被困住了我就得这么做。
    我的遥控器在串行监视器中响应,但一直返回RGB全零。
    原来我的遥控器密码是
    长代码[6]={
    0xFF10EF,//4
    0xFF42BD,//7
    0xFF38C7,//5
    0xFF4AB5型,//8
    0xFF5AA5型,//6
    0xFF52AD型//9
    };
    在改变了这些值之后,效果很好。
    我用这个网站的信息找到了我的远程代码。。。http://www.circuitbasics.com/arduino-ir-remote-receiver-tutorial/
    我还改变了代码,增加了10每按按钮的颜色与下面的代码位。。。
    if(results.value==代码[0]&&valR<255){
    valR=valR+10;

    感谢你给我灵感,让我终于可以用5年前买的遥控器和传感器做点什么了:)

    0
    欧文M5

    两年前

    公共阳极rgb发光二极管,有何程序?

    Mijn arduino是een arduino Nano,zou dit Mijn probleem zijn,ik zie de kleuren niet veranderen

    你能帮帮我吗


    谨致问候

    0
    法莱纳连22

    3年前回复

    没有更多的信息我是不可能帮助你的。仔细检查你的线路。确保所有内容都正确编译。

    0
    特拉维斯92

    4年前

    我出错了。退出状态1

    编译单板时出错

    0
    法莱纳连22

    4年前回复

    确保在“工具”中选择了正确的板。

    0
    法莱纳连22

    5年前回复

    很高兴你发现它有用。

    0
    颓圮

    5年前

    好主意,好解释!

    0
    法莱纳连22

    5年前回复

    谢谢。

    0
    塞姆斯特

    5年前

    很酷的主意。又好又简单!

    0
    法莱纳连22

    5年前回复

    非常感谢。如果你喜欢,请在“Arduino all things”比赛中投我一票。