[MM32软件] 【EV Board (MM32L0136C7P)测评】红外遥控器

[复制链接]
1447|12
 楼主| wuxiubo 发表于 2022-12-16 17:14 | 显示全部楼层 |阅读模式

f5bc5592cb231917b53986ee366ecb07
仔细看这块板子的外设中还蕴藏这两个东西,一个红外发射管,一个是红外接收管。我们可以利用这两个管子做遥控器了。
2008b46f50c7d43e00026ef97c4b1556
原理图上的管脚。
43160f7c146ec7d31d6408291973d141
我们利用irm例程中的ask例程。
992eddce5c4cbee5b144adaca24d7015
我们都知道红外发射需要载波的,这里使用了定时器进行发生。
69dc32cb61184470c9a1e540c4e6af46
其发射例子比较简单,就是一发一收的,所以我们用手机可以开摄像头观察。
然后我们在其基础上进行修改,主要就是按照自己电器需要的逻辑进行变换。
  1. uint8_t AUX_ON[13]={0xC3,0x97,0xE0,0x00,0xA0,0x00,0x20,0x00,0x00,0x20,0x00,0x05,0x00};

  2. void irm_start()

  3. {

  4. IRM_WriteBit(BOARD_IRM_PORT, 1u);

  5. delay_ms(9);

  6. IRM_WriteBit(BOARD_IRM_PORT, 0u);

  7. delay_us(4500);

  8. }

  9. void irm_stop()

  10. {

  11. IRM_WriteBit(BOARD_IRM_PORT, 1u);

  12. delay_us(900);

  13. IRM_WriteBit(BOARD_IRM_PORT, 0u);

  14. }

  15. void irm_write_0()

  16. {

  17. IRM_WriteBit(BOARD_IRM_PORT, 1u);

  18. delay_us(560);

  19. IRM_WriteBit(BOARD_IRM_PORT, 0u);

  20. delay_us(560);

  21. }

  22. void irm_write_1()

  23. {

  24. IRM_WriteBit(BOARD_IRM_PORT, 1u);

  25. delay_us(560);

  26. IRM_WriteBit(BOARD_IRM_PORT, 0u);

  27. delay_us(1690);

  28. }

  29. void irm_send(uint8_t *s,int n)

  30. {

  31. uint8_t i,j,temp;

  32. irm_start();

  33. for(i=0;i<n;i++)

  34. {

  35. for(j=0;j<8;j++)

  36. {

  37. temp=(s[i]>>j)&0x01;

  38. if(temp==0)//发射0

  39. {

  40. irm_write_0();

  41. }

  42. if(temp==1)//发射1

  43. {

  44. irm_write_1();

  45. }

  46. }

  47. }

  48. irm_stop();

  49. }

  50. void AUX_SET_HOT()

  51. {

  52. uint8_t i;

  53. uint8_t checksum = 0;

  54. uint8_t checksum_Two = 0;

  55. for (i = 0; i < 12; i++)

  56. {

  57. checksum += AUX_ON[i];

  58. }

  59. AUX_ON[12] = checksum;

  60. irm_send(AUX_ON,13);

  61. }

defaf689cf0c045a7d60954beb46dcda
我设备的协议这样,所以就按照上面进行发送即可,我们可以通过逻辑分析仪看其状态。
91d30c49ba67b040212eeda1d345f58c
整个发送流程都是按照上面来的。
814ee4a6161ed23e03b6a94564c55047
其方波频率也是对的,所以测试也是可以通过的。

xu@xupt 发表于 2022-12-19 10:29 | 显示全部楼层
学习啦,感谢分享
loutin 发表于 2023-1-5 11:51 | 显示全部楼层
有空调的编码原理的吗?              
Jacquetry 发表于 2023-1-5 17:08 | 显示全部楼层
loutin 发表于 2023-1-5 11:51
有空调的编码原理的吗?

空调有什么编码原理
robincotton 发表于 2023-1-6 17:00 | 显示全部楼层
怎么确定要传递的数据是我们所需要的数据呢?
 楼主| wuxiubo 发表于 2023-1-6 17:04 | 显示全部楼层
robincotton 发表于 2023-1-6 17:00
怎么确定要传递的数据是我们所需要的数据呢?

逻辑分析仪,根据协议来说,按照标准的时序就可以了
uiint 发表于 2023-1-6 17:19 | 显示全部楼层
这个是自定义的时长的吗?              
abotomson 发表于 2023-1-6 18:17 | 显示全部楼层
这个可以做遥控器 了。              
sdCAD 发表于 2023-1-6 18:49 | 显示全部楼层
这个送的过程好复杂呢。              
qiufengsd 发表于 2023-1-6 19:50 | 显示全部楼层
这个的红外通信的格式是什么?              
burgessmaggie 发表于 2023-1-6 20:22 | 显示全部楼层
红外编码的原理在哪里看到的?              
jtracy3 发表于 2023-1-7 16:22 | 显示全部楼层
做物联网控制的首选通信协议了。              
janewood 发表于 2023-1-7 17:11 | 显示全部楼层
33Khz的频率怎么产生的呢?              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

259

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部