17099浏览
查看: 17099|回复: 21

精简Bluno官方demo,蓝牙控制

[复制链接]
本帖最后由 巫山冰 于 2014-1-29 01:25 编辑

官网的Bluno入门demo是基于Bluno + Arduino Accessory Shield扩展板。没有购买Bluno Accessory Sheild扩展板,是否仍然能够只在Bluno上搭建蓝牙测试呢?看看下面的图片:
精简Bluno官方demo,蓝牙控制图1


如上图,我用了一只蜂鸣器来做测试,你也可以换成二极管。把蜂鸣器的正极连接到数字8,把负极连接到任意一个GND即可。下面是大刀阔斧一翻之后的Arduino代码:
#include "PlainProtocol.h"
#define BuzzerPin 8
PlainProtocol BLUNOPlainProtocol(Serial,115200);
void setup() {
  Serial.begin(115200);
  pinMode(BuzzerPin, OUTPUT);
}

void loop()
{
  //valid frame received
  if (BLUNOPlainProtocol.available()) {
    if (BLUNOPlainProtocol.receivedCommand=="BUZZER") {
      digitalWrite(BuzzerPin, BLUNOPlainProtocol.receivedContent[0]);
    }
  }
}


简单吧,蓝牙通讯方面,全部交给 PlainProtocl 库去处理,我们只需要看看它返回从手机端发过来的数据就好。


而手机端可以完全不用修改任何代码(直接下载官方的“玩转布鲁诺”也可以),我们只需要测试那个蜂鸣器的功能就好。


最新版本,不需要使用到PlainProtocl库的,代码如下:
#define BuzzerPin 8
void setup() {
   Serial.begin(115200);
   pinMode(BuzzerPin, OUTPUT);
}
void loop()
{
   //valid frame received
   if (Serial.available() > 0) {
    String incomingString = Serial.readString();
    if (incomingString=="<BUZZER>1;") {
       digitalWrite(BuzzerPin, HIGH);
     }
     else if(incomingString=="<BUZZER>0;") {
       digitalWrite(BuzzerPin, LOW);
     }
  }
}





mickey  NPC

发表于 2013-12-26 12:12:10

点赞!
回复

使用道具 举报

John  见习技师

发表于 2013-12-26 23:09:52

楼主的头像很风骚啊!!顶一个,沙发
回复

使用道具 举报

秦皇岛岛主  初级技师

发表于 2013-12-27 08:48:38

好精简,顶起来
回复

使用道具 举报

赛外奇雪  初级技师

发表于 2013-12-27 21:42:05

:victory:巧妙!
回复

使用道具 举报

John  见习技师

发表于 2013-12-31 22:34:56

兄弟,表示我的刚用,Misco usb就掉了
回复

使用道具 举报

赛外奇雪  初级技师

发表于 2014-1-1 00:50:56

好牛掰!
回复

使用道具 举报

lauren  高级技师

发表于 2014-1-22 20:06:37

这个帖子略霸气!够精简
回复

使用道具 举报

Ricky  NPC

发表于 2014-1-23 10:34:33

John 发表于 2013-12-31 22:34
兄弟,表示我的刚用,Misco usb就掉了

有申请换吗?
回复

使用道具 举报

fswk  学徒

发表于 2014-1-28 18:29:36

為什麼這句總是編譯不到:

PlainProtocol BLUNOPlainProtocol(Serial,115200);
回复

使用道具 举报

巫山冰  初级技匠
 楼主|

发表于 2014-1-29 01:21:29

本帖最后由 巫山冰 于 2014-1-29 01:23 编辑
fswk 发表于 2014-1-28 18:29
為什麼這句總是編譯不到:

PlainProtocol BLUNOPlainProtocol(Serial,115200);

你下载 PlainProtocol 库了没有?要下载这个库才可以的,其实你不用PlainProtocol库也是可以进行蓝牙通讯的,这个程序,还可以象下面这么简单:
#define BuzzerPin 8
void setup() {
   Serial.begin(115200);
   pinMode(BuzzerPin, OUTPUT);
}
void loop()
{
   //valid frame received
   if (Serial.available() > 0) {
    String incomingString = Serial.readString();
    if (incomingString=="<BUZZER>1;") {
       digitalWrite(BuzzerPin, HIGH);
     }
     else if(incomingString=="<BUZZER>0;") {
       digitalWrite(BuzzerPin, LOW);
     }
  }
}
回复

使用道具 举报

fswk  学徒

发表于 2014-1-29 11:38:54

搞妥了。謝謝幫忙!
回复

使用道具 举报

taelons  中级技师

发表于 2014-2-6 21:22:26

bluno官方资料说要蓝牙4.0且安卓4.3的手机,手里没有这么高档的手机。
这段代码能和普通蓝牙、安卓4.0的手机通讯吗?
回复

使用道具 举报

巫山冰  初级技匠
 楼主|

发表于 2014-2-7 00:10:18

taelons 发表于 2014-2-6 21:22
bluno官方资料说要蓝牙4.0且安卓4.3的手机,手里没有这么高档的手机。
这段代码能和普通蓝牙、安卓4.0的手 ...

这个,我不确定哦。理论上,这段代码没有直接和蓝牙打交道。是刷在这块板上的固件程序在管理蓝牙。
回复

使用道具 举报

wujingping  见习技师

发表于 2014-2-22 17:33:25

本帖最后由 wujingping 于 2014-2-22 17:34 编辑

貌似不用 PlainProtocol 库的那个版本接收手机指令有延迟,还很大啊。从bluno发到手机倒是反应非常快。
回复

使用道具 举报

zrf223  学徒

发表于 2014-3-26 21:32:01

是不是在玩手机上面把蜂鸣器的那一个键打开,蜂鸣器就会响呢。
回复

使用道具 举报

Angelo  初级技匠

发表于 2014-3-26 23:06:06

哈哈~~这个有意思~~

顺便做个宣传~~这个库有更新过哦,用起来更简单,等有时间了翻译成中文~~

http://www.dfrobot.com/community ... otocol-ver-1-1.html
回复

使用道具 举报

巫山冰  初级技匠
 楼主|

发表于 2014-3-27 02:52:14

zrf223 发表于 2014-3-26 21:32
是不是在玩手机上面把蜂鸣器的那一个键打开,蜂鸣器就会响呢。

:) 嗯,还会一直响,直到你在手机上拨回关闭状态。
回复

使用道具 举报

zrf223  学徒

发表于 2014-3-27 10:39:16

巫山冰 发表于 2014-3-27 02:52
嗯,还会一直响,直到你在手机上拨回关闭状态。

我直接把你写的这个代码复制到arduino什么都没有改直接下到bluno中,用手机连接上去。没有响,经测试蜂鸣器没有问题,是不是驱动的功率不够,还是怎么样的呢?
回复

使用道具 举报

巫山冰  初级技匠
 楼主|

发表于 2014-3-28 09:17:05

zrf223 发表于 2014-3-27 10:39
我直接把你写的这个代码复制到arduino什么都没有改直接下到bluno中,用手机连接上去。没有响,经测试蜂鸣 ...

手机连接上去,不发送蜂鸣指使,当然不会响。
另外,自己在adruino代码中,让蜂鸣器发声看看响不响,不响的话,看看数字线接对没有。
这个实验应该还是相当容易测试的。
回复

使用道具 举报

叶干干  学徒

发表于 2014-4-24 16:39:12

楼主~用您前面那个用到PlainProtocl库的代码测试成功,但是后面那个就不行,Link的等显示是连着的,就是不响。
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail