万能电视遥控器代码(打造万能电视遥控器:简单使用代码精准掌控电视机)

随着电视技术的不断发展,电视机已经成为日常娱乐不可或缺的一部分。然而,家中电视遥控器数量却也随之增加,每个品牌、每个型号均需配备不同的遥控器,令人烦恼。若有一款万能遥控器,无需再繁琐修改设置,直接掌控电视,岂不美哉?本文针对此问题提供一份全能万能电视遥控器代码,详细介绍其使用方法以及相关技巧。

基本使用方法

万能电视遥控器代码(打造万能电视遥控器:简单使用代码精准掌控电视机)

一个简单的万能电视遥控器代码包含了基本的遥控功能。只需将代码复制到Arduino IDE或Raspberry Pi等开发板中,连接红外发射器,将电视型号修改为自己所拥有的电视型号,即可开始使用。

代码框架如下:

#include <IRremote.h>

int RECV_PIN = 11; // 设置接收脚

IRrecv irrecv(RECV_PIN);

decode_results results;

unsigned long remote_code = 0x07F807F;

//设定代表遥控器按键的代码

unsigned power = 0xE0E040BF;

unsigned source = 0xE0E052AD;

unsigned channel_up = 0xE0E048B7;

unsigned channel_down = 0xE0E008F7;

unsigned volume_up = 0xE0E00EF1;

unsigned volume_down = 0xE0E00EF0;

void setup()
{
  serial.begin(9600);
  irrecv.enableIRIn(); //启用接收模式
}

void loop()
{
  if (irrecv.decode(&results)) {
    serial.println(results.value, HEX);
    irrecv.resume();
  }
}

代码中#include <IRremote.h>为添加红外遥控库,内设unsigned型变量记录各代表遥控器按键的代码。在setup()中启用接收模式,在loop()中检测是否有红外遥控接收。若接收到,则将接收的代码打印并重置接收模式,如此便利程度可见一斑。

修改电视型号

万能电视遥控器代码(打造万能电视遥控器:简单使用代码精准掌控电视机)

代码只有遥控代码与基本模板,还须将代码中红色部分修改为自己的电视型号,如下:

#include <IRremote.h>

int RECV_PIN = 11; // 设置接收脚

IRrecv irrecv(RECV_PIN);

decode_results results;

unsigned long remote_code = 0x007F807;

void setup()
{
  serial.begin(9600);
  irrecv.enableIRIn(); //启用接收模式
  irsend.begin();
  //下面为修改电视型号,以海信电视为例
  irsend.sendNEC(0x4FB1DEB4, 32);
  delay(500);
}

只需在void setup()下方的注释处将irsend.sendNEC()中的32修改为自己电视的位数,将0x4FB1DEB4修改为自己电视的红外代码即可。如果不确定电视红外代码,则需要借助专业的红外遥控学习仪进行扫描等操作。修改好后,将该代码上传,连接红外发射器即可控制电视。

扩展功能

万能电视遥控器代码(打造万能电视遥控器:简单使用代码精准掌控电视机)

除了基本遥控功能,还可以通过添加代码,实现更多功能。例如,支持多个电视遥控码,支持语音控制、支持联网等等。以下代码表示支持两个电视遥控码:

代码框架如下:

#include <IRremote.h>

int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long remote_code = 0x0;

//设定代表遥控器按键的代码
int code_length = 21;
unsigned code1[21] = {0x00,0x08,0x02,0xFF,0x00,0x03,0x01,0x02,0x54,0xAB,
           0x00,0xB6,0x92,0x46,0x02,
           0x06,0x01,0x01,0x4F,0x21};
unsigned code2[21] = {0x00,0x08,0x02,0xFF,0x00,0x03,0x01,0x02,0x79,0x8F,
           0x00,0xB6,0x92,0x46,0x02,
           0x06,0x01,0x01,0x4F,0x21};

//定义函数,切换电视电源开关

void toggle_power(bool state){
  unsigned power = 0xE0E040BF;
  if(state)
    irsend.sendNEC(power, 32);
  else
    irsend.sendNEC(power+1, 32);
}

//定义函数,切换电视信源

void toggle_source(int source_num){
  unsigned source = 0xE0E052AD;
  if(source_num == 1)
    irsend.sendNEC(source, 32);
  if(source_num == 2)
    irsend.sendNEC(source+1, 32);
}

//定义函数,增减频道、音量

void control(int code_num){
  irsend.sendNEC(remote_code+code_num, 32);
}

void setup(){
  Serial.begin(9600);
  irrecv.enableIRIn();
  irsend.begin();
  delay(100);
}

void loop(){
  if (irrecv.decode(&results)){
    Serial.println(results.value, HEX);
    irrecv.resume();
  }<br />
  
  //切换电源开关(注意开关已经被激活)
  if(results.value == 0xE0E08877){
    toggle_power(true);
  }
  if(results.value == 0xE0E008F7){
    toggle_power(false);
  }
  
  //切换信源
  if(results.value == 0xE0E0E01F){
    toggle_source(1);
  }
  if(results.value == 0xE0E0D02F){
    toggle_source(2);
  }
  
  //键入代码,控制电视
  for(int i = 0; i<code_length; i++){
    if (results.value == code1[i])
      control(i);
    if (results.value == code2[i])
      control(i);
  }
}

具有切换电源开关、切换信源、增减频道、增减音量功能,支持两个电视型号的掌控部分遥控功能。在control()函数中添加对应的遥控代码即可实现更多功能。如需添加遥控功能,则需通过遥控学习仪获取对应代码,再进行调整整合。

总结

万能电视遥控器代码(打造万能电视遥控器:简单使用代码精准掌控电视机)

本文从基础使用、修改电视型号、扩展功能三部分分别详细介绍了万能电视遥控器代码的使用,能够解决同一遥控器无法控制不同电视的问题。需要注意的是,在修改代码时,代码中涉及到的部分均需仔细核实和修改,以免出现不必要的错误。

文章来自互联网,只做分享使用。发布者:苇叶生活,转转请注明出处:https://www.weiyetrade.com/shyp/18696.html

净水器史密斯(史密斯净水器:陪伴你享受纯净水的可靠选择)
上一篇
马桶底座漏水(如何解决马桶底座漏水的问题)
下一篇

相关推荐