新手套件RGB-遥控LED-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5494|回复: 4

新手套件RGB-遥控LED

[复制链接]
发表于 2012-9-2 16:36 | 显示全部楼层 |阅读模式
本帖最后由 奈何col 于 2012-9-2 20:07 编辑

最重要的,请大家不要鄙视我,新人小玩玩,都是皮毛!不要笑话!
新手继续发第二贴,论坛里面没找到rgb相关的东西,(可能是我眼拙),为了方便和我一样的新人,发个关于rgb的帖子
零,用遥控器控制rgb 3色灯,可以单独控制颜色 和全部关掉,还能适用上下箭头控制亮度,同时串口监视器显示对应事件

一,首先新手套件里面的rgb是共+的,也就是说最长的那个脚接+5V,所以对于新手可能会摸不着头脑
二,了解了这点 接下去就好办了,把所有的东西都反一反就好了,就是原本out模式的pin脚变成in,原本255的 变成0(专业属于比较陌生,说不来)
三,很多新手可能想我一开始一样,对遥控器发出的编码比较混乱,不知道别的同学怎么弄的,我是写了几句带吗,逐个按遥控器然后找到对应的编码,不知道一不一样,发上来让新手看看吧
on
16753245
off
16769565
16720605
绿
16712445
16761405
16769055
16754775
16748655
16738455
16750695
16756815
1
16724175
2
16718055
3
16743045
4
16716015
5
16726215
6
16734885
7
16728765
8
16730805
9
16732845

代码如下:
[mw_shl_code=cpp,true]#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); //初始化红外遥控
}

void loop()
{
if (irrecv.decode(&results))
    {
        Serial.println(results.value);    //串口显示所按按键编码
        irrecv.resume(); // 接收下一个值
     }     
}
[/mw_shl_code]
四,就是我的接线图,比较丑,将就一下
led-kiwi.png
五,接下去是代码部分,备注都写了,操作的同时,串口监视器显示出所有的动作
[mw_shl_code=cpp,true]#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

int n = 0;       //控制亮度
int x = 0;       //控制颜色

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); //初始化红外遥控
  pinMode(2,0);
  pinMode(4,0);
  pinMode(6,0);
}

void loop() {

if (irrecv.decode(&results)) {

   if(results.value==16750695 && x!=0)        //亮
    {
       n=n+30;
       if(n>=120)
          n=120;
       if (n != 120)
          Serial.println("+++++");  
       else
          Serial.println("MAX");   
    }
   if(results.value==16756815 && x!=0)        //暗
    {
       n=n-30;
       if(n<=-120)
          n=-120;
       if (n !=-120)
          Serial.println("-----");  
       else
          Serial.println("MIN");     
    }

   if(results.value==16720605)      //RED
    {
       x = 2;
       Serial.println("RED");
    }
   if(results.value==16712445)      //GREE
    {
       x = 4;
       Serial.println("GREEN");
    }
    if(results.value==16761405)     //BLUE
    {
       x = 6;
       Serial.println("BLUE");
    }
    if(results.value==16769565)      //关灯重置
    {
        analogWrite(2,255);
        analogWrite(4,255);
        analogWrite(6,255);           //熄灭LED
        x = 0;
        n = 0;
        Serial.println("turn off LED");    //串口显示关灯
    }

    analogWrite(2,255);
    analogWrite(4,255);
    analogWrite(6,255);
    analogWrite(x,120-n);     //熄灭所有灯 打开所选颜色 所选亮度
    irrecv.resume(); // 接收下一个值
  }

}
[/mw_shl_code]
发表于 2012-9-3 20:12 | 显示全部楼层
顶一个~~
发表于 2012-9-11 22:37 | 显示全部楼层
顶一个,比我快。。。
发表于 2012-9-24 13:38 | 显示全部楼层
研究一下
发表于 2013-4-3 21:39 | 显示全部楼层
想知道这个RGB-LED灯的具体资料。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 15:58 , Processed in 0.077864 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表