arduino红外遥控不了风扇

基于arduino esp8266设计了一个温控,人体感应,红外遥控,手机APP控制的一个多功能的风扇控制,其他三个功能都实现了,就红外遥控功能一直不起作用,怎么按遥控都没有用,是什么原因导致的,按遥控风扇一点反应都没有,问题是出在哪了呢

#include 
#include                                        //默认,加载WIFI库
#include                                  //默认,加载HTTPClient库
#include "PubSubClient.h"                                      //默认,加载MQTT库
#include 
#include 
#include 
#include 

const char *ssid     = "xxxxxx";                             //修改WIFI名称
const char *password = "xxxxxxxxxxxxxxxxxxx";                            //修改WIFI密码
const char* mqtt_server = "bemfa.com";                         //默认,MQTT服务器地址
const int mqtt_server_port = 9501;                             //默认,MQTT服务器端口

//#define ID_MQTT  "私钥"                                    
#define ID_MQTT  "xxxxxxxx"             //mqtt客户端ID,个人开发者密钥

const char * DHT11topic = "DHT11";                              //主题名字
const char * IRtopic = "IR";                                    //主题名字
const char * motortopic = "MOTOR";                                 //主题名字

#define IR 5
#define DHT11PIN 4
#define PWM1 12
#define PWM2 14
int kRecvPin = 13;

#define F1 0xFF30CF
#define F2 0xFF18E7
#define F3 0xFF7A85
#define F0 0xFF6897

long timeval = 3000;                                            //上传的传感器时间间隔,默认3秒
long lastMsg = 0;                                              


dht11 DHT11;
IRrecv irrecv(kRecvPin);
decode_results results;
WiFiClient espClient;
PubSubClient client(espClient);                                 //mqtt初始化

//回调函数
void callback(char* topic, byte* payload, unsigned int length)
{
  Serial.print("发送消息 [");
  Serial.print(topic);
  Serial.print("] ");
  String Mqtt_Buff = "";
  for (int i = 0; i < length; i++)
  {
    Mqtt_Buff += (char)payload[i];
  }
  Serial.println(Mqtt_Buff);
  if (Mqtt_Buff == "ON") {
    Serial.println("ON"); delay(1000);
    analogWrite(PWM1, 200);analogWrite(PWM2, 0);
  }
  if (Mqtt_Buff == "OFF") {
    Serial.println("OFF"); delay(1000);
    analogWrite(PWM1, 0);analogWrite(PWM2, 0);
  }
  //Mqtt_Buff = "";
}

void reconnect() {
  if (!client.connected())
  {
    Serial.print("连接 MQTT...");
    if (client.connect(ID_MQTT))
    {
      //连接mqtt
      Serial.println("connected");
      client.subscribe(DHT11topic);
      client.subscribe(IRtopic);
      client.subscribe(motortopic);
    }
    else
    {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println("500ms后重试");
      delay(500);
    }
  }
}

void setup() {
  Serial.begin(115200);
  pinMode(DHT11PIN, INPUT);
  pinMode(IR, INPUT);
  pinMode(PWM1, OUTPUT);
  pinMode(PWM2, OUTPUT);
  irrecv.enableIRIn();  // Start the receiver
  //WiFi初始化
  Serial.print("连接wifi");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  //判断是否连接成功
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println("WiFi connected");
  Serial.println("IP address: ");                                  //输出IP地址
  Serial.println(WiFi.localIP());
  client.setServer(mqtt_server, mqtt_server_port);
  client.setCallback(callback);
  Serial.println("start!");
}

void loop() {
  int IR_value = digitalRead(IR);
  int chk = DHT11.read(DHT11PIN);
  float H = DHT11.humidity;
  float T = DHT11.temperature;
  if (irrecv.decode(&results))
  {
    serialPrintUint64(results.value, HEX);
    Serial.println("");
    irrecv.resume();  // Receive the next value
  } 
  delay(500);
  if (results.value == F1) {
    Serial.println("1");
    analogWrite(PWM1, 100);analogWrite(PWM2, 0);
  } else if (results.value == F2 || T > 33 || IR_value == 1) {
    Serial.println("2");
    analogWrite(PWM1, 175);analogWrite(PWM2, 0);
  } else if (results.value == F3) {
    Serial.println("3");
    analogWrite(PWM1, 255);analogWrite(PWM2, 0);
  } else if(results.value == F0 || (T < 33 && IR_value == 0)) {
    Serial.println("0");
    analogWrite(PWM1, 0);analogWrite(PWM2, 0);
  }
  reconnect();
  long now = millis();                                              //获取当前时间
  if (now - lastMsg > timeval)
  {
    //如果达到3s,进行数据上传
    lastMsg = now;
    String  msg1 = " " + (String)T  + "*C" + " " + (String)H + "%"; //数据封装DHT11 temp hum
    client.publish(DHT11topic, msg1.c_str());                       //数据上传
    String  msg2 = " " + (String)IR_value;                          //数据封装DHT11 temp hum
    client.publish(IRtopic, msg2.c_str());                          //数据上传
  }
  client.loop();                                                   
}

运行日志能不能找出来发给我