新手上道 之前用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!");
}
}
|