onepiece07 发表于 2013-11-4 12:43:28

求助,关于arduino r3 蓝牙模块的问题,找不到原因,求大神帮忙.

本帖最后由 onepiece07 于 2013-11-5 09:59 编辑

本人新手,第一次用arduino uno r3 + Arduino Motor Shield is based on the L298 + Stackable Bluetooth Shield for Arduino 这3个模块做东西, 我现在 给蓝牙做个AT设置了, 然后我把3个板叠加拼起来了( 因为这3个板都是可以叠加拼的). 然后我给了arduino uno r3板一个外接电源 9V DC 650mA的. 板里面也写了基础的测试码了 用的是LED灯测试.

#define AT 2
#define LED 10
int val;
void setup(){
       Serial.begin(38400);
       pinMode(LED,OUTPUT);
       pinMode(AT,OUTPUT);
}
void loop(){
val = Serial.read();
if (val =='r') {
while(true) {
   digitalWrite(LED,HIGH);
   delay(1000);
   digitalWrite(LED,LOW);
   delay(1000);
   Serial.write('ok');
}
}
}


就是这么一个简单的测试代码, 不用蓝牙串口 用USB的时候是可以运行的, 但是连接蓝牙串口之后,一点反应都没有. 我确定我的AT都是设置好了,电脑上已经能搜索并且连接到蓝牙设备了.
求大神帮忙,指一条明路啊!!!

i7456 发表于 2013-11-4 12:56:14

神马问题?

onepiece07 发表于 2013-11-4 13:01:21

i7456 发表于 2013-11-4 12:56 static/image/common/back.gif
神马问题?

就是 比方说我这里 蓝牙串口是 COM5, 然后我用串口调试助手 连接上COM5, 按照指令往里头输入'r', 然后LED灯没有变化, 串口监视器也没有得到 'ok'的反馈

i7456 发表于 2013-11-4 14:21:51

onepiece07 发表于 2013-11-4 13:01 static/image/common/back.gif
就是 比方说我这里 蓝牙串口是 COM5, 然后我用串口调试助手 连接上COM5, 按照指令往里头输入'r', 然后LED ...

先把蓝牙的TX,RX短接。用串口监视器发字符,看看能否收到。
蓝牙模块用AT指令设置的波特率是多少?

onepiece07 发表于 2013-11-4 15:05:48

本帖最后由 onepiece07 于 2013-11-4 15:09 编辑

i7456 发表于 2013-11-4 14:21 static/image/common/back.gif
先把蓝牙的TX,RX短接。用串口监视器发字符,看看能否收到。
蓝牙模块用AT指令设置的波特率是多少?

9600 和 38400我都试了, 你说的这个短接是在USB连接的情况下再连接USB的COM吗?

我在连接USB的状态下连接USB的那个COM 一切都是正常的了

还有, 我需要在代码里定义一下 RX 和TX的pin吗?

i7456 发表于 2013-11-4 16:30:23

onepiece07 发表于 2013-11-4 15:05 static/image/common/back.gif
9600 和 38400我都试了, 你说的这个短接是在USB连接的情况下再连接USB的COM吗?

我在连接USB的状态下 ...

蓝牙的TX,RX不和arduino的管脚接,单单短接蓝牙的rx,tx。用串口监视器发字符,看看能否收到。
目的是测试蓝牙模块和电脑通过蓝牙是否连接成功。

学慧放弃 发表于 2013-11-4 21:56:02

我的蓝牙都没测试呢,等着你测试好了告诉我哈

onepiece07 发表于 2013-11-5 08:33:02

i7456 发表于 2013-11-4 16:30 static/image/common/back.gif
蓝牙的TX,RX不和arduino的管脚接,单单短接蓝牙的rx,tx。用串口监视器发字符,看看能否收到。
目的是测 ...

短接实验过了 没有问题, 还有什么能测试的吗? 还是找不出原因啊

hh515 发表于 2013-11-5 09:04:50

好吧,我来给你解决一下
把程序中所有的 Serial 改为Serial1.   e.gSerial1.begin(38400);Serial1.read();
因为UNO等等默认的版上写的Serial其实等于Serial0(默认Serial)

onepiece07 发表于 2013-11-5 09:58:30

hh515 发表于 2013-11-5 09:04 static/image/common/back.gif
好吧,我来给你解决一下
把程序中所有的 Serial 改为Serial1.   e.gSerial1.begin(38400);Serial1. ...

解决了, 我没有把Bt的Rx和Tx跳线接对, 换过来后就好了,
谢谢你啊~!

234687552 发表于 2013-11-5 18:05:18

楼主 电脑是用什么上位机弄的啊~?
页: [1]
查看完整版本: 求助,关于arduino r3 蓝牙模块的问题,找不到原因,求大神帮忙.