clxw1834443209 2024-04-18 20:52 采纳率: 100%
浏览 7
已结题

Arduino红外遥控代码有问题

img


Arduino里面的红外遥控的代码class IRrev 里面没命名results怎么解决

  • 写回答

19条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2024-04-18 20:53
    关注

    🕗晚上好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:古来云海茫茫,八表神游,顶峰何在?行尽九洲四海,人间自有,谪仙风采。

    在使用Arduino的IRremote库时,IRrecv 类是用来接收红外信号,而 decode() 函数会尝试解析接收到的数据并将其存储在 results 中。如果你看到代码中没有明确提到 results 变量,那可能是因为库的版本更新或代码结构有所变化。

    以下是一个基本的使用IRremote库的例子,展示如何初始化接收器、监听红外信号,并在接收到数据后处理它。这个例子假设你已经安装了IRremote库(如果还没有,可以使用#include <IRremote.h>导入):

    #include <IRremote.h>
    #include <IRsend.h> // 这里也包含IRsend,用于发送红外信号
    
    // 定义红外接收器对象
    IRrecv irrecv(IR_PIN); // IR_PIN是你的红外接收器连接的引脚号
    decode_results results; // 这里声明了results变量
    
    void setup() {
      Serial.begin(9600); // 初始化串口通信
      irrecv.enableIRIn(); // 开启红外接收
    }
    
    void loop() {
      if (irrecv.decode(&results)) { // 如果接收到新的红外数据
        Serial.println("Received code: ");
        for (int i = 0; i < results.value.length(); i++) {
          Serial.print(results.value[i], HEX);
          if (i != results.value.length() - 1) {
            Serial.print(", ");
          }
        }
        Serial.println(); // 输出接收到的十六进制代码
        // 在这里你可以根据接收到的代码执行相应操作
      }
      irrecv.resume(); // 恢复接收,防止连续多次解码
      delay(10); // 稍微延时,让接收器准备好下一次接收
    }
    

    在这个例子中,decode_resultsdecode() 函数的结果类型,它包含了接收到的红外信号的详细信息。如果你在某个特定版本的库中找不到 results,请检查库的文档或者更新到最新版本以获取正确的变量名。

    如果你的问题是关于其他编程错误或库的使用问题,请提供更具体的错误信息或代码片段,以便我能给出更准确的帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(18条)

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 已采纳回答 4月22日
  • 创建了问题 4月18日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。