You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tinkercad仿真中Arduino红外接收代码无法输出十六进制码求助

问题排查与解决方案

代码有效性确认

你提供的代码符合IRremote v2.x版本的语法规范,逻辑无错误,本地烧录到实体Arduino板配合正常的硬件连接可以正常打印红外按键编码。

故障原因定位

该故障属于Tinkercad仿真平台的兼容问题,共有三类常见触发原因:

  • Tinkercad内置的IRremote库做了功能阉割,不支持你使用的decode_results结构体、irrecv.blink13()等旧版语法,部分版本对模拟引脚A5的中断接收支持存在缺陷
  • 仿真场景下红外遥控器和接收模块的位置不对,存在遮挡或者距离过远,信号无法被捕获
  • 串口监视器波特率未配置为9600,导致打印内容无法正常显示

修复方案

1. 替换为Tinkercad适配的代码

#include <IRremote.h>

// 优先用数字引脚做接收,兼容性更好
const int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup(){
  Serial.begin(9600);
  // 打印启动日志确认串口正常
  Serial.println("IR Receiver init");
  irrecv.enableIRIn();
}

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

2. 调整仿真配置

  • 将红外接收模块的信号脚连接到代码对应引脚(示例为D2),确认VCC接5V、GND接地
  • 拖动红外遥控器到接收模块正前方,间距不超过2cm,仿真中无其他元件遮挡两者路径
  • 启动仿真后打开串口监视器,将波特率设置为9600,再按遥控器按键测试

内容的提问来源于stack exchange,提问作者karolxxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:36:07