找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3735|回复: 1
打印 上一主题 下一主题
收起左侧

arduino的APc200无线遥控

[复制链接]
跳转到指定楼层
楼主

  1. //主机程序
  2. int button_open =4;//开灯按钮连在数字端口4
  3. int button_close =5; //关灯按钮连在数字端口5
  4. char flag;//向从机发送灯的亮灭标志
  5. void setup(){
  6. pinMode(button_open, INPUT);
  7. pinMode(button_close, INPUT);
  8. Serial.begin(9600);//设置串行通信的波特率 }
  9. void loop() {
  10. //如果开灯按钮按下同时关灯按钮松开
  11. if( digitalRead(button_open)==LOW&&digitalRead(button_close)==HIGH)
  12. {
  13. flag='a';
  14. Serial.print(flag);//向从机发送灯亮标志}
  15. if(digitalRead(button_close)==LOW&&digitalRead(button_open)==HIGH)
  16. { flag='b';
  17. Serial.print(flag);//向从机发送灯灭标志
  18. }
  19. delay(20);//延时,等待数据发送成功
  20. }
  21. //从机程序
  22. int ledpin=9;//声明LED的数字接口编号
  23. int val;//接受主机发来的LED灯状态标志
  24. void setup()
  25. {
  26. pinMode(ledpin,OUTPUT);//设置LED灯为输出
  27. digitalWrite(ledpin,HIGH);//初始化是LED灯熄灭
  28. Serial.begin(9600);//设置串行通信的波特率
  29. }
  30. void loop() { if(Serial.available()>0) //查询串口有无数据
  31. { val=Serial.read();//读取主机发送的数据
  32. if(val=='a')//如果主机发送字符'a',则熄灭LED
  33. {
  34. digitalWrite(ledpin,LOW);//LED点亮
  35. }
  36. if(val=='b')//如果主机发送字符'b',则亮LED
  37. {
  38. digitalWrite(ledpin,HIGH);//LED熄灭
  39. }
  40. }
  41. //用APC220无限数传向上位机传数据不能太快
  42. //如果delay(40)会出问题
  43. delay(80);
  44. }<!--EndFragment-->
复制代码


如上接线图

程序.pdf

61 KB, 下载次数: 10, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:373684 发表于 2022-2-27 18:27 | 只看该作者
2个设备之间距离可以拉到多远呢?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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