单片机加红外编解码模块(自带破解空调遥控器功能)实现控制空调开关

  • 获取空调遥控器的红外编码(制冷模式)
    • 格力空调遥控器:YAP0F3型号
      • 制冷开机编码
      • 制冷关机编码
      • 制冷调高一度编码
      • 制冷调低一度编码
    • 三菱空调遥控器:型号ND09AS TD704
      • 制冷开机
      • 制冷关机
      • 制冷调高一度
      • 制冷调低一度
  • 单片机控制思路
    • 注意:获得的十六进制字符相应的十进制数应该存储到unsigned char型的字符串中,因为char型的取值范围是 -128 ~ +127,而十六进制对应的十进制数的范围是 0 ~ 255,对于unsigned char型的取值范围是 0 ~ 255
  • 代码实现
    • 注意:用write函数向串口写控制指令时,第三个参数要用 sizeof ,不能用 strlen !!!当遇到 0 时,strlen结束计数

获取空调遥控器的红外编码(制冷模式)

通过串口获取红外编解码模块(某宝上三四十块)破解到的空调遥控器编码

格力空调遥控器:YAP0F3型号

制冷开机编码

23度开机:FD FD 30 03 40 17 00 34 15 01 32 02 64 00 2A 00 1F 00 2A 00 E6 04 25 00 CF 09 26 00 1A 01 33 02 00 00 22 00 FF FF FF FF 01 22 12 22 21 11 22 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 12 14 51 22 12 22 21 11 22 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 12 16 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 75 3F 7D DF DF

24度开机:FD FD 30 03 40 17 00 34 15 01 33 02 63 00 2A 00 1E 00 2A 00 E5 04 25 00 D0 09 25 00 1A 01 33 02 00 00 21 00 FF FF FF FF 01 22 12 22 22 22 12 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 21 12 14 51 22 12 22 22 22 12 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 21 12 16 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76 00 30 DF DF

25度开机:F1 FD FD 30 03 40 17 00 34 15 01 34 02 64 00 2A 00 1F 00 2A 00 E6 04 26 00 CF 09 25 00 19 01 33 02 00 00 21 00 FF FF FF FF 01 22 12 22 21 22 12 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 21 14 51 22 12 22 21 22 12 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 21 16 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 76 00 BA DF DF

制冷关机编码

FD FD 30 03 40 17 00 34 15 01 32 02 63 00 2A 00 1F 00 2A 00 E6 04 26 00 CF 09 25 00 1A 01 33 02 00 00 22 00 FF FF FF FF 01 22 22 22 21 11 22 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 12 24 51 22 22 22 21 11 22 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 12 26 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 76 FC 94 DF DF

制冷调高一度编码

23度调高一度:FD FD 30 03 40 17 00 34 14 01 35 02 62 00 2C 00 1E 00 2A 00 E7 04 26 00 D0 09 26 00 1B 01 33 02 00 00 21 00 FF FF FF FF 01 22 12 22 22 22 12 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 21 12 14 51 22 12 22 22 22 12 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 21 12 16 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 76 3E 48 DF DF

24度调高一度:FD FD 30 03 40 17 00 34 13 01 34 02 63 00 2A 00 1F 00 2A 00 E7 04 26 00 CF 09 26 00 1A 01 33 02 00 00 21 00 FF FF FF FF 01 22 12 22 21 22 12 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 21 14 51 22 12 22 21 22 12 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 21 16 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 76 3F 14 DF DF

25度调高一度:FD FD 30 03 40 17 00 34 14 01 34 02 64 00 2A 00 1E 00 2A 00 E7 04 26 00 D1 09 26 00 19 01 33 02 00 00 22 00 FF FF FF FF 01 22 12 22 22 12 12 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 21 21 14 51 22 12 22 22 12 12 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 21 21 16 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 76 00 E8 DF DF

制冷调低一度编码

26度调低一度:FD FD 30 03 40 17 00 34 14 01 33 02 62 00 2C 00 1D 00 2C 00 E6 04 26 00 CE 09 25 00 1A 01 33 02 00 00 22 00 FF FF FF FF 01 22 12 22 21 22 12 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 21 14 51 22 12 22 21 22 12 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 21 16 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 76 00 72 DF DF

25度调低一度:FD FD 30 03 40 17 00 34 13 01 35 02 62 00 2C 00 1D 00 2C 00 E6 04 25 00 CF 09 25 00 1A 01 33 02 00 00 22 00 FF FF FF FF 01 22 12 22 22 22 12 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 21 12 14 51 22 12 22 22 22 12 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 21 12 16 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 75 3E 92 DF DF

24度调低一度:FD FD 30 03 40 17 00 34 13 01 33 02 62 00 2C 00 1D 00 2C 00 E8 04 25 00 D0 09 25 00 1A 01 33 02 00 00 22 00 FF FF FF FF 01 22 12 22 21 11 22 22 22 22 22 12 22 22 21 21 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 12 14 51 22 12 22 21 11 22 22 22 22 22 12 22 22 21 11 22 12 32 22 22 22 22 22 22 22 22 22 22 22 22 22 22 12 16 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 76 7E 7B DF DF

三菱空调遥控器:型号ND09AS TD704

制冷开机

23度:FD FD 30 03 4C 47 00 34 64 00 D6 00 49 00 1E 00 12 00 1E 00 1A 00 1A 00 51 00 17 00 A4 03 15 00 6A 00 D4 00 00 00 0C 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 23 32 32 23 22 33 33 23 13 33 33 11 33 31 11 33 33 33 14 33 34 43 34 33 31 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 14 00 00 44 34 35 64 43 33 43 31 43 43 34 43 44 33 13 34 33 33 33 33 33 33 33 33 33 33 43 33 33 44 33 34 44 33 33 33 44 33 34 43 34 33 34 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 44 44 34 37 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 75 3E C6 DF DF

24度:FD FD 30 03 4C 47 00 34 61 00 D8 00 49 00 1F 00 12 00 1E 00 1A 00 19 00 51 00 18 00 A9 03 15 00 6C 00 D2 00 00 00 0C 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 22 22 23 33 33 33 33 33 13 33 33 11 32 33 33 13 33 33 11 33 31 43 31 33 31 33 33 33 33 33 33 33 33 33 33 33 32 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 31 11 00 00 11 31 25 61 13 33 43 31 43 13 31 12 11 33 43 31 33 33 23 33 33 33 33 33 33 33 43 33 33 44 33 33 33 43 33 33 44 33 34 43 34 33 34 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 34 44 44 34 37 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 75 3E DD DF DF

25度:FD FD 30 03 4C 47 00 34 63 00 D6 00 49 00 1E 00 11 00 1F 00 19 00 1B 00 51 00 17 00 A9 03 15 00 6C 00 D2 00 00 00 0B 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 32 23 33 33 33 33 33 33 43 33 33 41 33 31 33 13 33 33 11 33 31 43 34 33 31 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 00 00 33 11 35 61 13 33 13 31 13 13 31 43 11 33 13 31 33 33 33 33 33 33 33 33 33 33 43 33 33 44 33 34 33 43 33 33 44 33 34 43 34 33 34 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 44 37 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 76 3E 2E DF DF

制冷关机

FD FD 30 03 4C 47 00 34 62 00 D7 00 49 00 1F 00 12 00 1F 00 1A 00 19 00 51 00 18 00 AA 03 15 00 6C 00 D2 00 00 00 0C 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 22 22 23 22 32 33 33 33 33 23 33 11 33 31 11 33 32 33 11 32 31 43 31 23 31 33 33 33 33 33 33 33 33 23 33 33 33 33 33 33 32 33 33 33 33 33 33 33 33 33 33 33 33 33 14 00 00 11 13 25 61 12 33 13 31 13 43 31 43 11 32 13 31 33 33 23 33 33 33 33 33 33 33 33 33 33 44 33 34 44 33 33 33 44 33 34 43 34 33 34 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 44 44 43 37 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 76 00 2F DF DF

制冷调高一度

23度调高一度:FD FD 30 03 4C 47 00 34 64 00 D6 00 4A 00 1E 00 12 00 1E 00 1A 00 19 00 A9 03 15 00 6C 00 D2 00 52 00 18 00 00 00 0C 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 22 22 23 32 33 32 33 33 13 23 33 11 33 32 33 13 23 33 11 33 31 13 31 33 31 33 23 33 32 33 33 33 33 33 32 33 33 33 33 33 33 33 33 32 33 33 23 33 33 33 33 33 33 31 11 00 00 11 21 34 51 12 33 13 31 13 13 31 63 11 33 13 31 33 33 32 33 23 33 33 33 33 33 13 33 33 66 33 33 33 63 33 33 66 33 36 63 36 33 36 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 36 66 66 36 37 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 76 01 7C DF DF

24度调高一度:FD FD 30 03 4C 47 00 34 61 00 D8 00 49 00 1E 00 13 00 1E 00 1B 00 19 00 51 00 19 00 A3 03 17 00 6B 00 D2 00 00 00 0A 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 22 22 22 22 22 22 22 22 12 22 22 11 22 31 22 12 22 22 11 22 31 42 31 22 21 22 22 22 22 22 22 22 23 22 22 22 22 22 22 22 22 22 23 22 32 23 22 32 23 22 22 22 22 22 22 00 00 23 14 25 61 12 22 12 21 12 12 21 42 11 22 13 34 23 33 33 33 33 33 33 33 33 33 43 33 33 44 33 34 33 43 33 33 44 33 34 43 34 33 34 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 44 37 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 75 3F 72 DF DF

25度调高一度:FD FD 30 03 4C 47 00 34 62 00 D8 00 49 00 1F 00 11 00 1F 00 1A 00 1A 00 51 00 18 00 A2 03 16 00 6B 00 D4 00 00 00 0D 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 22 22 22 23 33 33 33 33 13 33 33 11 33 33 13 13 33 33 41 33 31 13 31 33 31 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 31 33 00 00 33 11 35 61 13 33 13 31 13 13 31 43 11 33 13 31 33 33 33 33 33 33 33 33 33 33 13 33 33 44 33 33 43 43 33 33 44 33 34 43 34 33 34 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 34 33 33 44 37 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 76 00 90 DF DF

制冷调低一度

26度调低一度:FD FD 30 03 4C 47 00 34 64 00 D6 00 4A 00 1E 00 12 00 1E 00 1A 00 18 00 A5 03 15 00 6C 00 D2 00 52 00 18 00 00 00 0C 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 22 22 23 33 33 32 33 33 13 32 33 11 33 21 33 13 33 33 11 33 31 13 31 33 31 33 33 33 23 33 33 33 33 23 33 33 33 32 33 33 32 33 33 33 33 23 33 33 33 33 23 33 33 33 33 00 00 33 11 24 51 13 33 12 31 13 12 31 63 11 33 13 31 33 33 32 33 23 33 33 33 33 33 13 33 33 16 33 36 33 63 33 33 66 33 36 63 36 33 36 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 66 37 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 76 00 98 DF DF

25度调低一度:FD FD 30 03 4C 47 00 34 61 00 D8 00 48 00 1F 00 16 00 1F 00 50 00 19 00 A4 03 15 00 6A 00 D4 00 1C 00 16 00 00 00 11 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 22 22 22 22 22 22 22 22 12 22 22 31 22 22 22 12 22 22 11 22 23 32 21 22 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 21 33 00 00 11 23 24 53 32 22 32 23 32 32 23 32 33 22 32 23 22 22 22 22 22 22 22 22 22 22 32 22 22 33 22 22 22 32 22 22 33 22 23 32 23 22 23 22 22 22 22 22 22 22 22 22 22 62 22 22 22 22 22 22 62 22 22 22 62 22 22 22 26 22 26 63 33 33 23 27 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 75 00 62 DF DF

24度调低一度:FD FD 30 03 4B 47 00 34 62 00 D7 00 4A 00 1F 00 12 00 1F 00 15 00 28 00 1A 00 19 00 AA 03 15 00 6C 00 D2 00 52 00 16 00 01 12 23 12 21 12 12 21 12 11 22 12 21 22 22 22 22 22 44 24 44 44 44 14 44 44 11 44 41 11 44 44 44 11 44 21 14 41 42 41 44 24 44 44 44 44 44 44 44 42 44 44 42 44 42 44 44 44 44 44 44 44 44 44 44 44 44 44 44 11 00 00 11 41 25 61 14 24 14 41 14 14 21 14 11 24 14 41 44 44 44 44 44 24 44 44 44 44 14 44 44 77 44 47 77 44 44 44 77 44 47 74 47 44 47 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 77 77 47 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 76 3E 97 DF DF

单片机控制思路

现在得到了空调遥控器的编码,那么我们要做的就是将该由字符串表示的16进制编码转化成对应的由字符串表示的10进制编码(有点拗口),再通过串口发送给红外编码器,使其发送控制空调的的红外编码信号。

上面的编码中,每两个字符组成的一个十六进制数,两个十六进制数中间由空格隔开。

提取思路:在for循环中,先读取第一个字符,判断其是否为空格。若不为空格,则再++,读取下一个字符,将两个字符分别转化为相应的十进制数,再通过第一个十进制数 x 16 + 第二个十进制数,这样就获得了十六进制字符相应的十进制数;若为空格,则++,再执行一样的操作

注意:获得的十六进制字符相应的十进制数应该存储到unsigned char型的字符串中,因为char型的取值范围是 -128 ~ +127,而十六进制对应的十进制数的范围是 0 ~ 255,对于unsigned char型的取值范围是 0 ~ 255

代码实现

以下是树莓派加红外编解码模块的代码

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <wiringPi.h>
#include <wiringSerial.h>int HexChar(char c) //获取十六进制字符对应的十进制数
{if((c >= '0') && (c <= '9'))return c-0x30;else if((c >= 'A') && (c <= 'F'))return c-'A'+10;else if((c >= 'a')&&(c <= 'f'))return c-'a'+10;else //错误的十六进制字符return 0x10;
}int main()
{int fd, n, status = 0, nread = 0;wiringPiSetup();fd = serialOpen("/dev/ttyAMA0", 9600);printf("fd = %d\n", fd);//开机的编码char* str = "FD FD 30 03 4C 47 00 34 62 00 D7 00 49 00 1F 00 12 00 1F 00 1A 00 19 00 51 00 18 00 AA 03 15 00 6C 00 D2 00 00 00 0C 00 01 12 22 12 21 12 12 21 12 11 22 12 21 22 22 22 22 23 22 32 33 33 33 33 23 33 11 33 31 11 33 32 33 11 32 31 43 31 23 31 33 33 33 33 33 33 33 33 23 33 33 33 33 33 33 32 33 33 33 33 33 33 33 33 33 33 33 33 33 14 00 00 11 13 25 61 12 33 13 31 13 43 31 43 11 32 13 31 33 33 23 33 33 33 33 33 33 33 33 33 33 44 33 34 44 33 33 33 44 33 34 43 34 33 34 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 44 44 43 37 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 76 00 2F DF DF ";int t, t1;int rlen=0, len=strlen(str);unsigned char ctrl[236] = {'\0'};for(int i=0; i<len; ){char l, h=str[i];if(h == ' '){i++;continue;}i++;l = str[i];t = HexChar(h);t1 = HexChar(l);if((t == 16)||(t1 == 16))break;elset = t*16 + t1;i++;printf("%x ", t);ctrl[rlen] = (unsigned char)t;rlen++;}printf("\nstrlen = %d; sizeof = %d\n",strlen(ctrl),sizeof(ctrl));write(fd, ctrl, sizeof(ctrl));printf("\n");return 0;
}

注意:用write函数向串口写控制指令时,第三个参数要用 sizeof ,不能用 strlen !!!当遇到 0 时,strlen结束计数

单片机加红外编解码模块(自带破解空调遥控器功能)实现控制空调开关相关推荐

  1. 基于51单片机的红外测温智能空调

    设计简介: 本设计是基于单片机的红外测温智能空调控制器设计,主要实现以下功能: 可实现LCD1602显示温度的示数和空调开关: 可实现通过按键可以设置温度的最大值以及最小值: 可实现通过红外遥控控制空 ...

  2. Proteus8仿真:51单片机IrLink红外发送加接受模块的使用

    51单片机IrLink红外的使用 元器件 原理图部分 代码 单片机1发送main.c 单片机2接受main.c 工程文件 注意:本篇的密码接受有问题,不够仍然可以使用,想优化可以看我最新文章:最新优化 ...

  3. STC单片机获取红外解码从串口输出

    STC单片机获取红外解码从串口输出 串口数据演示 所使用的红外接收头VS1838 VS1838引脚定义 电气特性 所使用的红外按键板 红外遥控接收模块 VS/HX1838 相关的资料: https:/ ...

  4. 基于8086单片机的PWM调光(带汇编)

    之前网上并没有详细的基于8086的PWM调光设计,做完课程设计,给大家分享一下使用DAC8032提供电压的设计思路. 1. 总体设计 在这次设计中,使用了PWM脉宽调制输出方式,即通过对一系列脉冲的宽 ...

  5. 39、基于51单片机小车红外循迹、避障、遥控控制系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.程序 部分代码 七.资料包括 摘要 随着计算机.微电子.信息技术的快速进 ...

  6. 红外报警c语言,基于单片机的红外报警系统设计 (毕业论文).docx

    基于单片机的红外报警系统设计 (毕业论文) 基于单片机的红外报警系统设计 摘要:随着社会经济的发展,人们生活水平的不断提高,与此同时对人生安全和财产安全提到了一个新的高度,盗窃.入室抢劫等刑事案件的多 ...

  7. 【毕业设计】43-基于单片机的红外无线防盗报警系统设计与实现(原理图工程源文件+源代码+实物图+答辩论文)

    typora-root-url: ./ [毕业设计]43-基于单片机的红外无线防盗报警系统设计与实现(原理图工程源文件+源代码+实物图+答辩论文) 文章目录 typora-root-url: ./ [ ...

  8. 110报警声+单片机c语言,基于单片机的红外报警系统设计毕业论文.docx

    基于单片机的红外报警系统设计 摘要:随着社会经济的发展,人们生活水平的不断提高,与此同时对人生安全和财产安全提到了一个新的高度,盗窃.入室抢劫等刑事案件的多发使得人们越来越渴望有一个安全生活的空间.传 ...

  9. 基于高精度单片机开发红外测温仪方案

    红外人体测温仪是一种利用红外线照射的测温设备,在此之前,红外测温都是作为工厂生产的用的,用来检测产品的温度,和监测设备的运行发热状态.逐渐的人们突发奇想,转变用于人体测温,来规避人员之间身体直接接触( ...

最新文章

  1. Java中的等待/通知机制(wait/notify)
  2. Python --金字塔
  3. 使用SAP C4C rule editor动态控制UI上某个按钮是否显示
  4. 给自己的程序添加BugReport
  5. wireshark出现rst的原因_长水口损毁,其主要原因是这三点造成的
  6. OSChina 周二乱弹 —— 这简直是对佛祖的DDoS攻击啊
  7. Kubernetes — 系统架构
  8. STM32 进阶教程 5 - 内联函数
  9. 解决STM32 SPI 半残废 NSS无法拉高
  10. Java技术:Mybatis-plus常用API全套教程,值得收藏!
  11. win7电脑0x000007b蓝屏怎么办
  12. nginx php上传大小设置
  13. python之堡垒机(第九天)
  14. Webstorm 2021 开启内存显示设置
  15. 吴恩达深度学习第三周
  16. 我在Slager上的LaTeX排版之路|空格命令(连载)
  17. 如何在 mac os 上双开微信?
  18. 视频和视频帧:视频和帧基础知识整理
  19. Excel常用电子表格公式大全1-2
  20. html中颜色打字机效果,基于Css3和JQuery实现打字机效果

热门文章

  1. python编程基础之二十七
  2. 大数据理论与实践6 分布式ETL工具Sqoop
  3. 批量在线伪原创工具,文章聚合采集发布工具
  4. 几何画板绘制正方形网格的技巧
  5. Windows 10 1903 版本 打开 MMC无法创建管理单元
  6. web服务器和应用服务器的区别与分析
  7. D365 CRM Power Platform 前端开发概览
  8. app内录屏开发 ios_盘点APP开发者喜爱iOS企业签名的原因
  9. 小爱触屏音响用php接口,入手解析小米小爱触屏音箱Pro 8(白色)X08A评测如何?怎么样呢?专家们分析评测...
  10. Win10找回windowsz照片查看器