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\n B-flash the lamp B\n C-flash the lamp C\n D-flash the lamp D\n");
Serial.print(" a-open the lamp A\n b-open the lamp B\n c-open the lamp C\n d-open the lamp D\n\n");
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\n");
mySwitch.send("010101010101010100001100");//遥控器-A
Serial.print(" OK!!! The LED A has been DONE\n");
}
if(M=='a')
{
Serial.print("The command is a\n");
Serial.print(" OK!!! TheLED A has hlod ON\n");
while(Serial.available()<=0)
{
mySwitch.send("010101010101010100001100");//遥控器-A 按下不放
}
}
if(M=='B')
{
Serial.print("Thecommand is B\n");
mySwitch.send("010101010101010111000000");//遥控器-B
Serial.print(" OK!!! The LED B has been DONE\n");
}
if(M=='b')
{
Serial.print("The command is b\n");
Serial.print(" OK!!! The LED B has hlod ON\n");
while(Serial.available()<=0)
{
mySwitch.send("010101010101010111000000");//遥控器-B 按下不放
}
}
if(M=='C')
{
Serial.print("Thecommand is C\n");
mySwitch.send("010101010101010100000011");//遥控器-C
Serial.print(" OK!!! The LED C has been DONE\n");
}
if(M=='c')
{
Serial.print("The command is c\n");
Serial.print(" OK!!! TheLED C has hlod ON\n");
while(Serial.available()<=0)
{
mySwitch.send("010101010101010100000011");//遥控器-C按下不放
}
}
if(M=='D')
{
Serial.print("Thecommand is D\n");
mySwitch.send("010101010101010100110000");//遥控器-D
Serial.print(" OK!!! The LED D has been DONE\n");
}
if(M=='d')
{
Serial.print("The command is d\n");
Serial.print(" OK!!! TheLED D has hlod ON\n");
while(Serial.available()<=0)
{
mySwitch.send("010101010101010100110000");//遥控器-D按下不放
}
}
}
}
Arduino 433 + 串口的更多相关文章
- C#与Arduino通过串口通信来控制LED灯的状态
一.引言 最近摆弄了一段时间的Arduino,发现Arduino做一些电子类项目.监控.机器人.电子玩具比较容易,并且Arduino与.NET程序集成也不难.接下来介绍一个简单的小程序,C#做的一个W ...
- 手机与Arduino蓝牙串口通讯实验及完整例程
安卓手机与Arduino之间采用蓝牙串口通讯,是很多智能装置和互动装置常用的控制方法,简单而有效,无需网络环境,很实用的技术. 实验采用Arduino UNO板,加了一块1602LCD屏做显示(因为只 ...
- 关于arduino清空串口缓存(转)
在arduino1.0之前的版本 Serial.flush()的作用是是清空串口缓存( dropping received incoming data).但在1.0之后的版本 Serial.flush ...
- 【ARDUINO】串口无法打开问题
1.查看是否串口被锁 sudo arduino ls /var/lock sudo rm /var/lock/LCK..ttyACM* 2.查看arduino安装位置 dpkg -S XXXX 3.原 ...
- Arduino通过串口监视器收发数据
在串口监视器中发送数据,板子收到数据并打印出来. 不需要额外电路,但是板子必须连接电脑,Arduino IDE的串口监视器也需要被打开. 代码 /* 串口事件 当新的串口数据到来时,我们会将它添加到一 ...
- Arduino在串口监视器上输出字母表
程序会在Arduino IDE的串口监视器上输出一个字母表. 不需要额外电路,但是板子必须通过串口线或USB线连接到电脑. 代码 程序在setup()函数中建立串口连接,然后逐行输出a~z的字母I表, ...
- Arduino通讯串口
串口是Arduino与其它设备进行通信的接口 所有的Arduino控制板有至少一个串口(又称作为UART或USART).它通过0(RX)和1(TX)数字引脚经过串口转换芯片连接计算机USB端口与计算机 ...
- [Arduino] 在串口读取多个字符串,并且转换为数字数组
功能如题目.在串口收到逗号分割的6串数字比如100,200,45,4,87,99然后在6个PWM端口3, 5, 6, 9, 10, 11输出对应PWM值代码注释很详细了,就不再说明了. //定义一个c ...
- PMS5003ST+Arduino Nano 串口读取数据
先上代码: 库文件是在guihub上的大神写的https://github.com/jbanaszczyk,我拿来小改下用以支持5003ST #include <Arduino.h> #i ...
随机推荐
- [转]Material使用08 MdDialogModule、MdAutocompleteModule
本文转自:https://www.cnblogs.com/NeverCtrl-C/p/8125346.html 1 MatDialog 1.1 简要描述 MdDialog是一个服务,可以利用它来打开一 ...
- SQL 行列转换数据转换为字符串
行列转换,将列数据转换为字符串输出 ) SET @center_JZHW = ( SELECT DISTINCT STUFF( ( SELECT ',' + ce_code FROM ap_cente ...
- 清除电脑垃圾.bat
echo.title delete cachecolor 0aecho.echo please enter any key start.....@echo offecho execuing delet ...
- 性能监控(3)–linux下的iostat命令
iostat可以显示cpu与磁盘信息,添加-d参数可以只显示磁盘信息
- java——线程
线程与进程 1.线程:程序中单独顺序的控制流 线程本身是通过程序进行运行 线程是程序中的顺序控制流,只能使用分配给程序的资源与环境 2.进程:执行中的程序 一个进程可以包含一个或多个线程 一个进程至少 ...
- InheritParasitic.js
// 寄生式继承 // 其基本思路是类似创建对象时的工厂模式,将继承过程封装在一个函数里,然后返回一个对象 function createObject(o){ var clone = Object.c ...
- Callable接口--有返回值的线程
Callable java5之前是没有返回值的,Java5新增了Callable接口获得线程的返回值,可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口.Cal ...
- Ubuntu中针对问题 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)的解决方案
一.问题描述: 在ubuntu中有时因为错误的操作,而导致在执行 sudo apt-get install xxxx出现如下错误: E: Could not get lock /var/lib/dpk ...
- 【Java入门提高篇】Day24 Java容器类详解(七)HashMap源码分析(下)
前两篇对HashMap这家伙的主要方法,主要算法做了一个详细的介绍,本篇主要介绍HashMap中默默无闻地工作着的集合们,包括KeySet,values,EntrySet,以及对应的迭代器:HashI ...
- 简单易懂的程序语言入门小册子(3):基于文本替换的解释器,let表达式,布尔类型,if表达式
let表达式 let表达式用来声明一个变量. 比如我们正在写一个模拟掷骰子游戏的程序. 一个骰子有6个面. 所以这个程序多次用到了6这个数字. 有一天,我们忽然改变主意,要玩12个面的骰子. 于是我们 ...