zoukankan      html  css  js  c++  java
  • Arduino 433 + 串口

    http://www.freebuf.com/articles/wireless/105398.html

    /*本作品使用的例程中包含RCSwitch库文件用于信号的解码和编码发送*/
    #include <RCSwitch.h>
    RCSwitch mySwitch = RCSwitch();
    void setup() {
      Serial.begin(9600);
    //串口打印命令帮助信息
     Serial.print("HELP:A-flash the lamp A
         B-flash the lamp B
         C-flash the lamp C
         D-flash the lamp D
    ");
      Serial.print("     a-open the lamp A
         b-open  the lamp B
         c-open the lamp C
         d-open  the lamp D
    
    ");
        mySwitch.enableReceive(1);
      mySwitch.enableTransmit(10);}2
    void loop()
    {
        if(mySwitch.available())
        {
        output(mySwitch.getReceivedValue(),mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(),mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
       mySwitch.resetAvailable();
        }
      /* Same switch as above,but using binary code */
      if(Serial.available()>0)//如果串口有数据进入的话
      { delay(10);           //延时50 可以一次性发送多个命令
       char M=Serial.read();//每次读一个字符,是ASCII码的
       if(M=='A')
        {
      Serial.print("Thecommand is A
    ");
     mySwitch.send("010101010101010100001100");//遥控器-A
      Serial.print("      OK!!! The LED A has been DONE
    ");
        }
           if(M=='a')
        {
         Serial.print("The command is a
    ");
         Serial.print("      OK!!! TheLED A has hlod ON
    ");
         while(Serial.available()<=0)
          {
          mySwitch.send("010101010101010100001100");//遥控器-A 按下不放
          }
        }
      if(M=='B')
        {
      Serial.print("Thecommand is B
    ");
     mySwitch.send("010101010101010111000000");//遥控器-B
      Serial.print("      OK!!! The LED B has been DONE
    ");
        }
         if(M=='b')
        {
         Serial.print("The command is b
    ");
          Serial.print("      OK!!! The LED B has hlod ON
    ");
         while(Serial.available()<=0)
          {
          mySwitch.send("010101010101010111000000");//遥控器-B 按下不放
          }
        }
      if(M=='C')
        {
      Serial.print("Thecommand is C
    ");
     mySwitch.send("010101010101010100000011");//遥控器-C
      Serial.print("      OK!!! The LED C has been DONE
    ");
        }
             if(M=='c')
        {
         Serial.print("The command is c
    ");
         Serial.print("      OK!!! TheLED C has hlod ON
    ");
         while(Serial.available()<=0)
          {
          mySwitch.send("010101010101010100000011");//遥控器-C按下不放
          }
        }
      if(M=='D')
        {
      Serial.print("Thecommand is D
    ");
     mySwitch.send("010101010101010100110000");//遥控器-D
      Serial.print("      OK!!! The LED D has been DONE
    ");
        }
             if(M=='d')
        {
         Serial.print("The command is d
    ");
         Serial.print("      OK!!! TheLED D has hlod ON
    ");
         while(Serial.available()<=0)
          {
          mySwitch.send("010101010101010100110000");//遥控器-D按下不放
          }
        }
      }
    }
    

      

  • 相关阅读:
    【网络流24题】方格取数问题(最大流)
    运维之思科篇——NAT基础配置
    NAT地址转换常用命令详解
    NAT(地址转换技术)详解
    Linux命令之grep用法详解:grep与正则表达式 [转]
    curl查询公网出口IP
    CentOS下安装Telnet服务
    Linux之Xinetd服务介绍
    上市公司年报发布时间是什么时候?
    jackson序列化字段字母大小写及字段名重复
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/8213903.html
Copyright © 2011-2022 走看看