“红外调光”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{{Language| 红外调光}} {| style="width: 800px;" |- | ==目的== 通过红外遥控器控制RGBLED的颜色和亮度。 ==原理== 利用红外接收传感器接收遥控...")
 
第14行: 第14行:
 
|模块||数量||功能
 
|模块||数量||功能
 
|-
 
|-
|[[Microduino-CoreUSB/zh]]||1||核心板
+
|[[mCookie-CoreUSB/zh]]||1||核心板
 
|-
 
|-
|[[Microduino-Sensorhub/zh]]||1||传感器转接板
+
|[[mCookie-Hub/zh]]||1||传感器转接板
 
|-
 
|-
| [[Microduino-IR receiver/zh]]||1||红外接收传感器  
+
|[[Microduino-IR receiver/zh]]||1||红外接收传感器  
 
|-
 
|-
| [[Microduino-Lantern/zh]]||1||彩色LED灯
+
|[[Microduino-Color led/zh]]||1||彩色LED灯
 
|}
 
|}
[[File:IR_Lantern.jpg|600px|center|thumb]]
+
*其他设备
 +
**红外遥控器
 +
**USB数据连接线
 +
**传感器连接线*2
 +
[[File:IR_Lantern.jpg|600px|center]]
  
 +
==准备==
 +
*Setup 1:将彩灯接到Hub的D6引脚。将红外接收传感器接到Hub的D10引脚上。
 +
[[file:mCookie-color led-IR-hub.JPG|600px|center]]
 +
*Setup 2:将所有设备连接在一起。通过USB数据线将接入电脑。
 +
[[file:mCookie-color led-IR-pc.JPG|600px|center]]
 +
 +
==调试==
 +
*打开Arduino IDE,将下列代码复制到IDE中。
 +
<source lang="cpp">
 +
 +
</source>
 +
*选择正确的板卡和COM端口
 +
[[file:upload.JPG|600px|center]]
 +
*编译
 +
**编译时会提示保存项目,用户可以自己命名保存到你的文件夹即可。
 +
*下载
 +
**编译成功后可以直接下载,提示下载成功表示程序下载完毕。
 +
[[file:upload-ir-color led.JPG|600px|center]]
 +
*结果
 +
**通过“+”控制亮度增强,“-”控制亮度减弱。
 +
**数字1-3控制红、绿、蓝颜色。
  
==搭建硬件==
 
*Setup 1:将CoreUSB与Sensorhub叠堆。
 
[[File:CoreUSB_Sensorhub.jpg|600px|center|thumb]]
 
*Setup 2:将红外接收传感器接到Sensorhub的D10引脚上。
 
[[file:Microduino-sensorhub_rule.JPG|thumb|800px|center]]
 
[[File:light_ir_transmitter.jpg|600px|center|thumb]]
 
*Setup 3:将LED灯接到Sensorhub的D6引脚上。
 
  
 
==软件调试==
 
==软件调试==
第95行: 第113行:
 
   }
 
   }
 
</source>
 
</source>
 
==程序==
 
[[https://github.com/Microduino/Microduino_Tutorials/tree/master/MCookie_Tutorial/MicroduinoRemoteRGB MicroduinoRemoteRGB]]
 
  
 
==结果==
 
==结果==

2015年11月24日 (二) 09:47的版本

Language English

目的

通过红外遥控器控制RGBLED的颜色和亮度。

原理

利用红外接收传感器接收遥控器的红外信号,通过判断不同的红外编码来控制LED的发光颜色和发光亮度。

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
Microduino-IR receiver/zh 1 红外接收传感器
Microduino-Color led/zh 1 彩色LED灯
  • 其他设备
    • 红外遥控器
    • USB数据连接线
    • 传感器连接线*2

准备

  • Setup 1:将彩灯接到Hub的D6引脚。将红外接收传感器接到Hub的D10引脚上。
  • Setup 2:将所有设备连接在一起。通过USB数据线将接入电脑。

调试

  • 打开Arduino IDE,将下列代码复制到IDE中。

  • 选择正确的板卡和COM端口
Upload.JPG
  • 编译
    • 编译时会提示保存项目,用户可以自己命名保存到你的文件夹即可。
  • 下载
    • 编译成功后可以直接下载,提示下载成功表示程序下载完毕。
  • 结果
    • 通过“+”控制亮度增强,“-”控制亮度减弱。
    • 数字1-3控制红、绿、蓝颜色。


软件调试

  • 电视机红外遥控编码定义,此处控制的是长虹电视机,采用NEC编码格式
#define PIN 6           //LED灯控制引脚
#define RECV_PIN 10     //红外接收引脚

#define INCREASE 0xFFA857    //增加+
#define DECREASE 0xFFE01F    //减少-
#define NUM_1 0xFF30CF       //数字1
#define NUM_2 0xFF18E7       //数字2
#define NUM_3 0xFF7A85       //数字3

Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);    //LED灯控制

IRrecv irrecv(RECV_PIN);     //红外接收
decode_results results;

boolean red = 1;
boolean green = 0;
boolean blue = 0;
int rate = 255;
  • 接收红外遥控器信号,判断按键状态,控制LED的发光颜色和发光亮度
  if(irrecv.decode(&results))       //接收红外编码
  {
     switch(results.value)         //判断按键
     {
       case INCREASE:        //亮度增强
         rate += 10;
         if(rate > 255)
            rate = 255;
         break;
       case DECREASE:       //亮度减弱
         rate -= 10;
         if(rate < 0)
           rate = 0;
         break;
       case NUM_1:       //按键1,显示红色
         red = 1;
         green = 0;
         blue = 0;
         break;
       case NUM_2:       //按键2,显示绿色
         red = 0;
         green = 1;
         blue = 0;
         break;
       case NUM_3:       //按键3,显示蓝色
         red = 0;
         green = 0;
         blue = 1;
         break;
       default:
         break; 
     }
     irrecv.resume();    //接收下一个信号
     strip.setPixelColor(0, strip.Color(red*rate, green*rate, blue*rate));
     strip.show();   
  }

结果

红外遥控按下不同的按键,可以改变LED的颜色和亮度。

视频