极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12897|回复: 2

使用蓝牙连接自定义串口控制LED

[复制链接]
发表于 2013-11-22 16:31:45 | 显示全部楼层 |阅读模式
新手上道 之前用HC-05与arduino UNO R3 连接 (使用的0 、1脚),尝试多次未能成功(使用小米手机和带蓝牙的笔记本都不行),下面是具体过程
调试步骤
1、连接Arduino部分。
蓝牙的接法一定要注意:
蓝牙上的TXD--->arduino的RX
蓝牙上的RXD--->arduino的TX
刚好是相反的,这点一定要注意。
2、下程序
源程序如下:
char val;
int ledpin=13;void setup()
{
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
}
void loop()
{  
val=Serial.read();
if(val=='q')  
{    di
gitalWrite(ledpin,HIGH);   
Serial.println("LED ON!");
}
else if(val=='w')
{  
digitalWrite(ledpin,LOW);
Serial.println("LED OFF!");
}
}
3、安装手机蓝牙串口助手 Bluetooth SPP,下载地址http://www.wandoujia.com/apps/mobi.dzs.android.BluetoothSPP
4、手机与Arduino端蓝牙建立连接,密码多为:0000或1234.
5、发送字母q或w进行调试。
尝试多次,用AT命令将蓝牙模块进行设置后还是不行,发现模块只能接收不能发送,蓝牙模块回路测试没问题,线路也没问题,目前还不知道原因,下面上一种解决方法
最后尝试自定义RX TX口进行测试 ,结果成功,程序如下:
分别定义 2 、3口为串口的发送跟接收口;这里用到了NewSoftSerial.h  
#include <#include <NewSoftSerial.h>   //Software Serial Port
#define RxD 2
#define TxD 3
int ledpin=13;
char val;

NewSoftSerial blueToothSerial(RxD,TxD);

void setup()
{

Serial.begin(9600);         
pinMode(ledpin,OUTPUT);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
blueToothSerial.begin(9600);
}

void loop()
{
while(blueToothSerial.available()) //Receivedata            
{                                                            
    Serial.print(char(blueToothSerial.read()));
}
val=blueToothSerial.read();
if(val=='q')
{
   digitalWrite(ledpin,HIGH);
   Serial.println("LED ON!");
}else if(val=='w'){
digitalWrite(ledpin,LOW);
Serial.println("LED OFF!");
}

}
回复

使用道具 举报

发表于 2014-1-25 20:20:07 | 显示全部楼层
sketch_jan25a:4: error: 'NewSoftSerial' does not name a type 不行哦
回复 支持 反对

使用道具 举报

发表于 2015-7-25 18:50:51 | 显示全部楼层
遽終 发表于 2014-1-25 20:20
sketch_jan25a:4: error: 'NewSoftSerial' does not name a type 不行哦

解决了吗??
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 17:45 , Processed in 0.036258 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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