极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

123
返回列表 发新帖
楼主: eagler8

【Arduino】168种传感器模块系列实验(173)---四键无线遥控...

[复制链接]
 楼主| 发表于 2021-1-1 20:23:45 | 显示全部楼层
本帖最后由 eagler8 于 2021-1-1 20:44 编辑




PT2262/2272模块测试与应用:
硬件接好后,为了便于测试电路,在四个输出脚接发光管正极,发光管负极接2K-4.7K电阻到地,测试时按遥控键,相应的发光管会亮(2272分两种,L4和M4,前者会锁定输出,直道接收到其它按键信号该发光管才灭,另一个对应的发光管亮;后者当有对应遥控器键按下时亮,时间小于一秒,怎么应用就看你自己了)。

需要控制较大负载的话加8050,其基极接4.7K-10K电阻到2272.或使用2003驱动。后面可接继电器,用220V继电器控制380V交流接触器的话,可控制电机正反转(如电动栅栏门),别忘了另接一个用来给交流接触器控制线断电的继电器,不然电机会冒火的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-1 20:47:22 | 显示全部楼层


PT2262/2272模块使用注意事项
1.天线用软导线或其它硬质金属(如拉杆天线),长度大约24cm(315MHz)或18cm(434MHz),尽量拉直使用。不要靠近金属物体。
2.电源电压要求稳定且波纹系数低,需多级滤波(如增加磁珠、电感、电容等)。
3若配合单片机使用建议MCU时钟频率在4MHZ以下并且晶体尽量远离RF接收模块,否则晶体的高次谐波会影响通讯距离。
4注意编码IC和解码IC的速率一致和码的格式一致,否则将会影响距离乃至不能通讯。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-1 20:51:52 | 显示全部楼层
PT2262/PT2272无线遥控模块使用介绍(5分钟视频)

https://v.youku.com/v_show/id_XMzAwMDM3ODczMg==.html?spm=a2hzp.8253869.0.0



回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-4 16:27:01 | 显示全部楼层
  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  3.   实验一百七十三:2262/2272四路无线遥控套件 M4非锁接收板 四键无线遥控器发射模块  
  4. */

  5. /*以下四个管脚定义,对应遥控器上的四个按键(遥控器为推荐的无线遥控器315MHz(SKU:FIT0355))*/
  6. int D0 = 8;    //解码芯片数字输出管脚D0,串口值0001,按键A
  7. int D1 = 9;    //解码芯片数字输出管脚D1,串口值0010,按键B
  8. int D2 = 10;   //解码芯片数字输出管脚D2,串口值1000,按键C
  9. int D3 = 11;   //解码芯片数字输出管脚D3,串口值0100,按键D
  10. int ledPin = 13;   //接收指示灯

  11. volatile int state = LOW;

  12. void setup()
  13. {
  14.   Serial.begin(9600);
  15.   /*以下管脚的顺序分别对应遥控器的4个按键*/
  16.   pinMode(D3, INPUT);  //分别初始化为输入端口,读取解码芯片输出管脚的电平
  17.   pinMode(D1, INPUT);
  18.   pinMode(D0, INPUT);
  19.   pinMode(D2, INPUT);
  20.   pinMode(ledPin, OUTPUT);
  21.   attachInterrupt(1, blink, RISING); //数字口2,中断1,对应解码芯片的接收中断管脚
  22.   digitalWrite(ledPin, LOW);
  23. }

  24. void loop()
  25. {
  26.   if (state != LOW) //如果接收到遥控器的命令,则进入该语句
  27.   {
  28.     state = LOW;
  29.     delay(1);   //适当延时,等待管脚电平稳定
  30.     digitalWrite(ledPin, HIGH);
  31.     Serial.print(digitalRead(D3));  //分别读取解码芯片输出管脚的电平,并打印出来
  32.     Serial.print(digitalRead(D1));
  33.     Serial.print(digitalRead(D0));
  34.     Serial.println(digitalRead(D2));
  35.     delay(300);
  36.     digitalWrite(ledPin, LOW);
  37.   }
  38. }

  39. void blink()
  40. {
  41.   state = ! state;
  42. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-4 16:30:21 | 显示全部楼层
实验串口输出

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-4 16:45:50 | 显示全部楼层
实验场景图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-4 17:29:09 | 显示全部楼层
  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
  3.   实验一百七十三:2262/2272四路无线遥控套件 M4非锁接收板 四键无线遥控器发射模块
  4.   程序之二:Arduino IC 2262/2272遥控器
  5. */

  6. #define PIN_D2_INT  0
  7. #define R06A_VT 2
  8. #define R06A_D0 3
  9. #define R06A_D1 4
  10. #define R06A_D2 5
  11. #define R06A_D3 6

  12. bool r06a_0, r06a_1, r06a_2, r06a_3 = false;
  13. int dirty = 0;

  14. void pinD2ISR() {
  15.   digitalWrite(13, !digitalRead(13));

  16.   if (digitalRead(R06A_D0) == HIGH) {
  17.     r06a_0 = !r06a_0;
  18.   }

  19.   if (digitalRead(R06A_D1) == HIGH) {
  20.     r06a_1 = !r06a_1;
  21.   }

  22.   if (digitalRead(R06A_D2) == HIGH) {
  23.     r06a_2 = !r06a_2;
  24.   }

  25.   if (digitalRead(R06A_D3) == HIGH) {
  26.     r06a_3 = !r06a_3;
  27.   }

  28.   dirty = 1;
  29. }

  30. void setup() {
  31.   attachInterrupt(PIN_D2_INT, pinD2ISR, RISING);
  32.   pinMode(R06A_D0, INPUT);
  33.   pinMode(R06A_D1, INPUT);
  34.   pinMode(R06A_D2, INPUT);
  35.   pinMode(R06A_D3, INPUT);
  36.   Serial.begin(9600);
  37. }

  38. void loop() {
  39.   if (dirty) {
  40.     dirty = 0;

  41.     Serial.print("A: ");
  42.     Serial.println(r06a_2 ? "HIGH" : "LOW ");

  43.     Serial.print("B: ");
  44.     Serial.println(r06a_0 ? "HIGH" : "LOW ");

  45.     Serial.print("C: ");
  46.     Serial.println(r06a_3 ? "HIGH" : "LOW ");

  47.     Serial.print("D: ");
  48.     Serial.println(r06a_1 ? "HIGH" : "LOW ");

  49.     Serial.println("");
  50.   }
  51. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-4 17:49:09 | 显示全部楼层
实验二串口输出

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-25 16:18 , Processed in 0.038815 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表