arduino教程-13. 蓝牙


智能移动设备和Arduino微电脑,两者相辅相成,可各自发挥所长。例如,用手机当成Arduino的显示器或输入设备,Arduino当做手机的硬件扩展口,控制灯光和自走车,或者返回温湿度传感器的数据给手机。

13.1 电波、频段和无线传输简介

利用电波或红外线来传输数据。可见光、红外线和电波都是一种电磁波,并非所有的频段和无线电设备都需要使用执照,世界各国都有保留某些给工业(industrial)、科学研究(Scientific)和医疗(Medical)方面的频段,简称ISM频段,2.4GHZ是世界各国共同的ISM频段,因此市面上许多无线通信产品都采用2.4GHZ。
NFC是一种采用电磁波,用于1~2米内的短距离无线通信技术,全名是Near Field Communicatin(进场通信,或近距离无线通信)。在联机范围内的两台机器要相连时,只要在屏幕上点选是否接收另一方的联机即可。

13.2 认识蓝牙(Bluetooth)

蓝牙是一种近距离无线数据和语音传输技术,主要用于取代线材和红外线传输。蓝牙主要用于无线耳机和数据传输,蓝牙技术联盟(Bluetooth Special Interest Group,简称SIG),定义了多种蓝牙规范(Profile,或译为“协议”):

  • HID:制定鼠标、键盘和游戏杆等人机接口设备(human interface device)所要遵循的规范。
  • HFP: 泛指用于行动设备,支持语音拨号和重拨等功能的免提听筒设备
  • A2DP: 可传输16位、44.1kHZ取样频率的高质量立体声音乐,主要用于随身听和影音设备。
  • SPP:用于取代有线串口的蓝牙设备规范。Bluetooth 2.1 + EDR代表“加强资料传输率(Enhanced Data Rate)

动手做13-1 使用软件串口程序连接Arduino与蓝牙模块

**实验说明:**在电脑上通过蓝牙与Arduino板联机,控制端口13上的LED。
蓝牙模块通过串口和Arduino板联机,不过,Arduino的程序和“串口监控窗口”也是通过串口传输。Arduino微电脑板默认只有一个串口(简称“系统串口”),应保留给串口监控窗口使用,本单元将通过SoftwareSerial(软件串口)扩展库,把其他端口变成串口给蓝牙模块使用。
**实验电路:**数字0和1是Arduino自带的串口端口,我们可以连接蓝牙模块。蓝牙模块的发送端(Tx)接Arduino的接收端(Rx),这种方式会占用系统串口,应该避免使用。
实验程序: Arduino软件自带的SoftwareSerial扩展库,能让我们指定任意两个端口充当串口

//蓝牙模块其实就是无线串口,程序写法和有线的串口相同。
#include <SoftwareSerial.h>
SoftwareSerial BT(10, 9);  //自定义SoftwareSerial类型对象,参数(接收端,发送端)
const byte ledPin = 13;
char val;
void setup() {
  pinMode(ledPin, OUTPUT); //
  /*初始化串口,请依照你的蓝牙模块设置联机速率,笔者的模块采用9600bps速率联机。*/
  BT.begin(9600);
  BT.print("BT is ready!"); //
}

void loop() {
  if (BT.available()) {
    val = BT.read();
    switch (val) {
      case '0':
        digitalWrite(ledPin, LOW);
        break;
      case '1':
        digitalWrite(ledPin, HIGH);
        break;
    }
  }
}

动手做14-2 用Android手机蓝牙遥控机器人

**实验说明:本单元的遥控机器采用Android手机蓝牙控制,架构图如下:
控制原理是从手机蓝牙传递字符给机器人,机器人的微电脑将依照收到的’w’、'a’等字符,执行前进和转弯等动作。
实验材料:
具备蓝牙的Android智能手机、采用两个碳刷电机的模型动力玩具、L298N电机模块、蓝牙接口模块、电池盒

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔚蓝慕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值