精简Bluno官方demo,蓝牙控制
2013-12-252.9万
AI 快速预览详细
本文介绍了如何在不使用Bluno Accessory Shield扩展板的情况下,通过Bluno实现蓝牙控制。硬件清单包括Bluno、蜂鸣器或二极管。将蜂鸣器的正极连接到数字8,负极连接到GND。代码方面,最新版本不再需要使用PlainProtocol库,而是直接通过Serial.available()读取串口数据,并根据接收到的数据控制蜂鸣器的开关状态。这个项目适合初学者和零基础的新手,可以快速上手蓝牙控制。
|
官网的Bluno入门demo是基于Bluno + Arduino Accessory Shield扩展板。没有购买Bluno Accessory Sheild扩展板,是否仍然能够只在Bluno上搭建蓝牙测试呢?看看下面的图片: ![]() 如上图,我用了一只蜂鸣器来做测试,你也可以换成二极管。把蜂鸣器的正极连接到数字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); } } } |






顺便做个宣传~~这个库有更新过哦,用起来更简单,等有时间了翻译成中文~~
http://www.dfrobot.com/community/dfrobot-wireless-communication-protocol-ver-1-1.html
另外,自己在adruino代码中,让蜂鸣器发声看看响不响,不响的话,看看数字线接对没有。
这个实验应该还是相当容易测试的。
这段代码能和普通蓝牙、安卓4.0的手机通讯吗?
PlainProtocol BLUNOPlainProtocol(Serial,115200);
#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=="
digitalWrite(BuzzerPin, HIGH);
}
else if(incomingString=="
digitalWrite(BuzzerPin, LOW);
}
}
}