“红外调光”的版本间的差异
(Created page with "{{Language| 红外调光}} {| style="width: 800px;" |- | ==目的== 通过红外遥控器控制RGBLED的颜色和亮度。 ==原理== 利用红外接收传感器接收遥控...") |
|||
第14行: | 第14行: | ||
|模块||数量||功能 | |模块||数量||功能 | ||
|- | |- | ||
− | |[[ | + | |[[mCookie-CoreUSB/zh]]||1||核心板 |
|- | |- | ||
− | |[[ | + | |[[mCookie-Hub/zh]]||1||传感器转接板 |
|- | |- | ||
− | | [[Microduino-IR receiver/zh]]||1||红外接收传感器 | + | |[[Microduino-IR receiver/zh]]||1||红外接收传感器 |
|- | |- | ||
− | | [[Microduino- | + | |[[Microduino-Color led/zh]]||1||彩色LED灯 |
|} | |} | ||
− | + | *其他设备 | |
+ | **红外遥控器 | ||
+ | **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控制红、绿、蓝颜色。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==软件调试== | ==软件调试== | ||
第95行: | 第113行: | ||
} | } | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
==结果== | ==结果== |
2015年11月24日 (二) 09:47的版本
Language | English |
---|
目的通过红外遥控器控制RGBLED的颜色和亮度。 原理利用红外接收传感器接收遥控器的红外信号,通过判断不同的红外编码来控制LED的发光颜色和发光亮度。 设备
准备
调试
软件调试
#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;
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的颜色和亮度。 视频 |