极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 34606|回复: 15

求救:关于用蓝牙串口让arduino向电脑输数据问题

[复制链接]
发表于 2015-7-26 22:56:39 | 显示全部楼层 |阅读模式
本帖最后由 血阳 于 2015-7-26 22:58 编辑

就是最近玩超声波测距的时候,想到测完距,就用无线传输,把数据传输到手机或者电脑来,显示所测的距离。
但是遇到了问题,查了半天,就是找不到问题所在。
遇到的问题是这样的:
用蓝牙让arduino板子向电脑发送简单数据,电脑接收端没有反应。
于是我做了一个小小的测验,检查我的程序是否有问题:
1、小程序,当检测接收到‘1’时候,t+50,接收到‘2’时候,t-50,当收到‘3’时候,led灯亮,持续时间为t毫秒,然后把t返回发送给上位机电脑;
2、我先用数据线连接电脑和arduino板子,进行实验,结果很好,达到了我的要求,说明程序没问题。

3、断开数据线,加上蓝牙模块,给arduino板子单独供电,连接蓝牙,然后进行试验,结果是,arduino这边能够正常工作,接收到数据后,led灯也会亮起。但是,电脑的上位机接收端无接收数据,我一直不明白是什么问题。



我猜想出现的问题是我用的代码不对,不应该用Serial.println(),但是我也不知用什么,各位大神朋友,看到了,能不能为我解答解答,感激不尽啊~~

下面是我的代码:
代码:

int pin=13;
void setup()
{
  pinMode(pin,OUTPUT);
  Serial.begin(9600);
}

char comtemp;
int t=0;

void loop()
{
  if(Serial.available()>0)
  {
    comtemp=Serial.read();
    if(comtemp=='1') t=t+50;
    if(comtemp=='2') t=t-50;
&#160;&#160;&#160;&#160;if(t<0) t=0;   
&#160;&#160;&#160;&#160;if(comtemp=='3')
&#160;&#160;&#160;&#160;{
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;digitalWrite(pin,HIGH);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;delay(t);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;digitalWrite(pin,LOW);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Serial.println(t);      
&#160;&#160;&#160;&#160;}&#160;
&#160;&#160;}
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2015-7-27 10:02:13 | 显示全部楼层
你用的什么板子啊? Uno 还是什么

电路怎么接的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-27 11:10:17 | 显示全部楼层
zoologist 发表于 2015-7-27 10:02
你用的什么板子啊? Uno 还是什么

电路怎么接的

是Uno,
没有复杂电路,就是一个蓝牙模块堆叠在Uno上,然后13号引脚连上一个220Ω电阻和一个LED。就没有其他的了。
回复 支持 反对

使用道具 举报

发表于 2015-7-27 11:27:23 | 显示全部楼层
血阳 发表于 2015-7-27 11:10
是Uno,
没有复杂电路,就是一个蓝牙模块堆叠在Uno上,然后13号引脚连上一个220Ω电阻和一个LED。就没有 ...

检查蓝牙模块是否能正常通讯
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-27 11:40:16 | 显示全部楼层
zoologist 发表于 2015-7-27 11:27
检查蓝牙模块是否能正常通讯

蓝牙通讯正常,
因为写的程序是发送‘3’,当Uno接收到信号之后,led灯亮起。实验下没有问题。
就是电脑端不能收到Uno发出来的信息。
不知道无线发送用Serial.print()。对不对。
回复 支持 反对

使用道具 举报

发表于 2015-7-28 16:17:14 | 显示全部楼层
电脑蓝牙跟UNO蓝牙模块配对正确吗?蓝牙模块的波特率设置对了没有?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-28 16:44:33 | 显示全部楼层
guocongll 发表于 2015-7-28 16:17
电脑蓝牙跟UNO蓝牙模块配对正确吗?蓝牙模块的波特率设置对了没有?

配对正确,我写的是用电脑发送命令,Uno连接的led亮起。程序正常运行,led正常工作。
至于波特率,我不明白你说的意思,两边能够通信的话,波特率应该是没问题了吧。
我现在的问题就是,Uno发送的东西,电脑接收端没有接收显示,不知道是硬件问题还是代码语句用错。
回复 支持 反对

使用道具 举报

发表于 2015-7-28 17:01:03 | 显示全部楼层
是不是蓝牙模块主从设置有问题?你查一下使用的蓝牙型号。跟使用手册。看下,你的蓝牙模块是主从一体的,还是单纯一个收,一个发的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-29 12:15:29 | 显示全部楼层
guocongll 发表于 2015-7-28 17:01
是不是蓝牙模块主从设置有问题?你查一下使用的蓝牙型号。跟使用手册。看下,你的蓝牙模块是主从一体的,还 ...

哦哦哦,还真没有考虑到这点,我去看看,谢谢提醒哈。
回复 支持 反对

使用道具 举报

发表于 2015-7-31 10:11:01 | 显示全部楼层
guocongll 发表于 2015-7-28 17:01
是不是蓝牙模块主从设置有问题?你查一下使用的蓝牙型号。跟使用手册。看下,你的蓝牙模块是主从一体的,还 ...

請先弄清楚, 主从並不是 收/發 這個意思.  
回复 支持 反对

使用道具 举报

发表于 2015-7-31 10:14:24 | 显示全部楼层
血阳 发表于 2015-7-29 12:15
哦哦哦,还真没有考虑到这点,我去看看,谢谢提醒哈。

沒考慮是正常的, 去考慮的話就是把 主从 的意思弄錯了, 不要浪費時間去考慮.
主从 分別是在連線之前, 連線後是一樣的.  可以連線就可以收發了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-5 22:37:19 | 显示全部楼层
Super169 发表于 2015-7-31 10:14
沒考慮是正常的, 去考慮的話就是把 主从 的意思弄錯了, 不要浪費時間去考慮.
主从 分別是在連線之前, 連 ...

囧,,,,问题还是没有解决T T.
回复 支持 反对

使用道具 举报

发表于 2015-8-6 01:43:14 | 显示全部楼层
先用軟串口接藍牙, 用 USB 接電腦作 debug, 測試一下吧.
把藍牙接收到及要發送的東西, 都用 Serial 送到電腦檢查一下, 看看是那裡出了問題.  
完全沒問題, 才把軟串口改回硬串口, 不用太心急呢.
回复 支持 反对

使用道具 举报

发表于 2015-12-10 22:49:28 | 显示全部楼层
楼主有解决么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-12 22:27:24 | 显示全部楼层
worrior868 发表于 2015-12-10 22:49
楼主有解决么?

额,没有。
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 09:20 , Processed in 0.047269 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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