“红外调光”的版本间的差异
(→软件调试) |
|||
第52行: | 第52行: | ||
==软件调试== | ==软件调试== | ||
− | * | + | *定义了led和红外接收的引脚。用户可以改其他引脚。 |
<source lang="cpp"> | <source lang="cpp"> | ||
#define PIN 6 //LED灯控制引脚 | #define PIN 6 //LED灯控制引脚 | ||
#define RECV_PIN 10 //红外接收引脚 | #define RECV_PIN 10 //红外接收引脚 | ||
− | + | </source> | |
+ | *电视机红外遥控编码定义,采用NEC编码格式,用户可以改其他键。 | ||
+ | <source lang="cpp"> | ||
#define INCREASE 0xFFA857 //增加+ | #define INCREASE 0xFFA857 //增加+ | ||
#define DECREASE 0xFFE01F //减少- | #define DECREASE 0xFFE01F //减少- | ||
第62行: | 第64行: | ||
#define NUM_2 0xFF18E7 //数字2 | #define NUM_2 0xFF18E7 //数字2 | ||
#define NUM_3 0xFF7A85 //数字3 | #define NUM_3 0xFF7A85 //数字3 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
− | [[File: | + | *红外遥控器的编码格式 |
+ | [[File:ir.jpg|600px|center] | ||
*接收红外遥控器信号,判断按键状态,控制LED的发光颜色和发光亮度 | *接收红外遥控器信号,判断按键状态,控制LED的发光颜色和发光亮度 | ||
<source lang="cpp"> | <source lang="cpp"> |
2015年11月24日 (二) 09:49的版本
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
[[File:ir.jpg|600px|center]
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的颜色和亮度。 视频 |