XIAOBAI 发表于 2014-10-28 14:00:50

求助

如何用红外遥控器“—”,“+”来调节LED灯的亮度!

业余小玩家 发表于 2014-10-28 14:37:01

你得先知道加按键的实际编码值,然后在loop里边加个if语句,来判断是否与接收到的编码一致,如果一致则让变量value加加,让后用anlongWrite函数将value从PWM端口输出(Uno的是3、6、9、10、11),这样就可以控制LED的亮度了

XIAOBAI 发表于 2014-10-28 14:40:39

业余小玩家 发表于 2014-10-28 14:37 static/image/common/back.gif
你得先知道加按键的实际编码值,然后在loop里边加个if语句,来判断是否与接收到的编码一致,如果一致则让变 ...

有类似的参考例子吗?

XIAOBAI 发表于 2014-10-28 14:46:13

业余小玩家 发表于 2014-10-28 14:37 static/image/common/back.gif
你得先知道加按键的实际编码值,然后在loop里边加个if语句,来判断是否与接收到的编码一致,如果一致则让变 ...

帮个忙!有点急!不太懂!刚刚接触!

zoologist 发表于 2014-10-28 15:06:27

你手中现在有什么了,能做出来什么了,都说一下。

就是你现在有什么东西,是什么型号的

硬件东西之间差别蛮大的。

XIAOBAI 发表于 2014-10-28 15:10:29

zoologist 发表于 2014-10-28 15:06 static/image/common/back.gif
你手中现在有什么了,能做出来什么了,都说一下。

就是你现在有什么东西,是什么型号的


arduino开发板!红外遥控器和红外接收头(H50038)!LED灯!

zoologist 发表于 2014-10-28 15:12:06

XIAOBAI 发表于 2014-10-28 15:10 static/image/common/back.gif
arduino开发板!红外遥控器和红外接收头(H50038)!LED灯!

LED 是多少 V 的?

XIAOBAI 发表于 2014-10-28 15:15:21

zoologist 发表于 2014-10-28 15:12 static/image/common/back.gif
LED 是多少 V 的?

发光二极管1.7v左右!

XIAOBAI 发表于 2014-10-28 15:20:28

zoologist 发表于 2014-10-28 15:06 static/image/common/back.gif
你手中现在有什么了,能做出来什么了,都说一下。

就是你现在有什么东西,是什么型号的


能给个例子参考一下吗?

zoologist 发表于 2014-10-28 15:31:44

XIAOBAI 发表于 2014-10-28 15:15 static/image/common/back.gif
发光二极管1.7v左右!

噢就是说你手上现在有 uno 遥控模块 和一个 1.7v 二极管

那么你首先调试遥控模块,用它控制你uno上面的pin13的led

做完了这个之后,再尝试调整PWM输出

用PWM来模拟电压的变化就可以了

XIAOBAI 发表于 2014-10-28 15:37:08

zoologist 发表于 2014-10-28 15:31 static/image/common/back.gif
噢就是说你手上现在有 uno 遥控模块 和一个 1.7v 二极管

那么你首先调试遥控模块,用它控制你uno上面 ...

我可以让灯亮!但不会调节灯亮度!

XIAOBAI 发表于 2014-10-28 15:38:39

zoologist 发表于 2014-10-28 15:31 static/image/common/back.gif
噢就是说你手上现在有 uno 遥控模块 和一个 1.7v 二极管

那么你首先调试遥控模块,用它控制你uno上面 ...

这是让灯亮的程序!怎么修改灯亮度!
#include <IRremote.h>

int RECV_PIN = 11;   //红外线接收器OUTPUT端接在pin 11
int LED1 = 10;      // 定义LED引脚为10
IRrecv irrecv(RECV_PIN);   // 定义IRrecv 对象来接收红外线信号
decode_results results;   //解码结果放在decode_results构造的对象results里
void irdisplay(unsigned long value)//按下按键后,显示本遥控对应的按键
{
switch(value){         //判定按下的是哪个按键,串口显示按钮名称
case 0xFFA25D:
    Serial.println("POWER");
    digitalWrite(LED1, LOW);    //电源键按下,执行关闭LED灯
    break;
case 0xFFE21D:
    Serial.println("MUTE");
    digitalWrite(LED1, HIGH);      //静音键按下,执行点亮LED灯
    break;
case 0xFFA857:
    Serial.println("-");

    break;
case 0xFF906F:
    Serial.println("+");
    break;
      }
}

void setup()
{
pinMode(LED1,OUTPUT);          // 定义LED为输出引脚
   Serial.begin(9600);          //开启串口通信,并设定波特率为9600
irrecv.enableIRIn();          //启动红外解码
}
void loop() {
if (irrecv.decode(&results))
{
    //解码成功,收到一组红外线信号
    irdisplay(results.value);   
    irrecv.resume();         
}

}

业余小玩家 发表于 2014-10-28 15:53:28

XIAOBAI 发表于 2014-10-28 14:40 static/image/common/back.gif
有类似的参考例子吗?

你现在做到哪一步了?

zoologist 发表于 2014-10-28 15:54:58

LED接到PWM脚,用它控制输出不同占空比的值。

现在手边没有,回头给你试试

XIAOBAI 发表于 2014-10-28 15:58:45

zoologist 发表于 2014-10-28 15:54 static/image/common/back.gif
LED接到PWM脚,用它控制输出不同占空比的值。

现在手边没有,回头给你试试

谢谢!非常感谢!:handshake
页: [1] 2
查看完整版本: 求助