厦门免费自助建站模板,晋江论坛怎么搜索帖子,网站上线前的准备工作,小说网站开发实录一直想做无线传感器#xff0c;通过蓝牙来接收数据#xff0c;无奈因为arduino接收串口数据的一些问题#xff0c;一直搁到现在。因为学校里给学生开了选修课#xff0c;所以手边有一些nano和mega可以使用#xff0c;所以就做了用两个nano加上两个蓝牙模块来发射数据…一直想做无线传感器通过蓝牙来接收数据无奈因为arduino接收串口数据的一些问题一直搁到现在。因为学校里给学生开了选修课所以手边有一些nano和mega可以使用所以就做了用两个nano加上两个蓝牙模块来发射数据用mega加两个蓝牙模块来接收数据。因为mega可以同时使用4路串口所以考虑用mega来作为主控机用来接收来自传感器的数据每个传感器加一个nano和蓝牙来无线发射数据。因为是测试所以在nano中写了一个简单的发射信号的语句。以下四nano中的程序————————————————我是分界线——————————————————————int i1;void setup() {Serial.begin(9600); }void loop(){Serial.print(i);Serial.print($);delay(50);i;}————————————————我是分界线——————————————————————以下是mega中的程序——————————————————我是分界线————————————————————————String comdata ;String shuju;String shuju2;int i;void setup(){Serial.begin(9600);Serial1.begin(9600);Serial2.begin(9600);}void loop(){while (Serial1.available() 0){shuju char(Serial1.read());delay(2);}while (Serial2.available() 0){shuju2 char(Serial2.read());delay(2);}if (shuju.length() 0){ishuju.indexOf($);if(i!-1){comdatashuju.substring(0,i);Serial.print(#1);Serial.print(comdata);Serial.println($);shujushuju.substring(i1,shuju.length());comdata ;i0;}}if (shuju2.length() 0){ishuju2.indexOf($);if(i!-1){comdatashuju2.substring(0,i);Serial.print(#2);Serial.print(comdata);Serial.println($);shuju2shuju2.substring(i1,shuju2.length());comdata ;i0;} } }——————————————我是分界线————————————————————上篇忘记介绍蓝牙模块的设置了如果想要利用两路蓝牙来接收数据那么这两路蓝牙必须设置不同的密码以下是蓝牙模块的设置方法可以将蓝牙模块接到串口模块上然后里哟你串口软件发指令给蓝牙模块以下设置是针对DFrobot的蓝牙模块的它上面有开关可以设置接收命令状态。如果不是DFrobot的蓝牙模块只要将KEY针脚接高电平就是可以接受命令状态。将两个蓝牙模块设置为主然后设置不同的密码。再将另外两个设置为从设置对应主蓝牙的密码。以下是具体的命令设置在发送栏中输入AT(不分大小写)然后点击发送可看见模块返回OK这表示AT指令通讯正常。当AT指令设置完毕后将2号开关AT Mode拨到2端退出AT命令模式重新上电后设置才生效。1.AT指令集如下指令响应参数ATOK无2.模块重启指令指令响应参数ATRESETOK无3.设置和查询模块连接模式当模块无法被适配器、主机连接时需配置该参数配置为ATCMODE1。指令响应参数ATCMODE Param OKParam0 —— 指定蓝牙地址连接模式 (指定蓝牙地址由绑定指令设置)1 —— 任意蓝牙地址连接模式 (不受绑定指令设置地址的约束)默认连接模式0ATCMODE?CMODE: Param OK4.设置和查询模块角色当模块无法被适配器、主机搜索到时需配置该参数配置为从角色。模块角色说明Slave(从角色) ——被动连接可以和任意蓝牙适配器配对使用Master (主角色)——查询周围从设备并主动发起连接从而建立主、从蓝牙设备间的透明数据传输通道。Slave-Loop(回环角色) ———被动连接接收远程蓝牙主设备数据并将数据原样返回给远程蓝牙主设备5.设置和查询配对码6.设置和查询串口参数举例设置串口波特率1152001位停止位无校验AT UART115200,0,0\r\nOKAT UART?UART:115200,0,0OK注在应用中选择1位停止位无校验。