IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 国庆假期玩什么?蓝牙模块了解下! -> 正文阅读

[嵌入式]国庆假期玩什么?蓝牙模块了解下!


国庆假期到了,小编先祝大家节日玩的开心!然后小编又又又要出来发表文章了图片图片图片 今天,我们来聊一聊Arduino中常用的无线传输模块----蓝牙。

1.蓝牙的来历

介绍蓝牙之前,我们先了解一下蓝牙的来历,蓝牙这个名称来自于第十世纪的一位丹麦国王 Harald Blatand(Bluetooth) , 因为国王喜欢吃蓝莓,牙龈每天都是蓝色的所以叫蓝牙(据说是这个样子的图片,但实际并不是),这位国王统一了现在的挪威、瑞典和丹麦,后来在命名这一无线通信技术时,研究人员觉得这位国王和这种技术有相似之处,所以就用国王的名字来命名了这项高新技术。

2.蓝牙

图片蓝牙(Bluetooth)是由东芝、爱立信、IBM、Intel和诺基亚于1998年5月共同提出的近距离无线数据通讯技术标准。它能够在10 米的半径范围内实现单点对多点的无线数据和声音传输,其数据传输带宽可达1Mbps。通讯介质为频率在2.402GHz到2.480GHz之间的电磁波。目前蓝牙技术规范日渐成熟,新的蓝牙4.0标准以传输距离远和功耗低的特点,使得采用新的蓝牙4.0标准的终端已经抢占了一定的市场份额。
蓝牙模块

3.蓝牙模块的分类

蓝牙模块(Bluetooth module)是指集成蓝牙功能的芯片基本电路集合,用于短距离2.4G的无线通讯模块。
蓝牙模块有很多种类,如果按照应用和支持协议分类,大致可以分为两种:经典蓝牙模块和低功耗蓝牙模块
在这里插入图片描述

经典蓝牙模块

在这里插入图片描述
经典蓝牙模块(BT):支持蓝牙协议1.0、2.0和3.0的模块,一般用于数据量比较大的传输,如音乐等较高数据量传输。经典蓝牙模块还可以再细分为传统蓝牙模块(BR)和高速蓝牙模块(EDR)。传统蓝牙模块支持蓝牙2.1协议,被广泛应用于智能手机;高速蓝牙模块的传输速率是传统蓝牙模块的8倍,大约是24Mbps,一般用于高清电视、PC、打印机等设备之间的资料传输。

低功耗蓝牙模块

在这里插入图片描述低功耗蓝牙模块(BLE):是指支持蓝牙协议4.0或更高的模块,其最重要的特性是低功耗,比较省电,以不需占用太多带宽的设备连接为主,比如:智能家居类(蓝牙锁、蓝牙灯)、传感设备的数据发送(血压计、温度传感器)、消费类电子(电子烟、遥控玩具)等。

4.HC-05蓝牙模块

在Arduino中最常用的蓝牙模块有HC-05、HC-06、BT-05等,在本篇文章中,小编以HC-05为例,跟大家分享一下经典蓝牙在Arduino中的应用。
图片
HC-05模块上的主要引脚包括:
VCC 电源正极,接(3.3v~5v)
GND 电源负极,接GND
TXD 模块串口发送脚,接Arduino的RX引脚,也就是0号引脚。
RXD 模块串口接收脚,接Arduino的TX引脚,也就是1号引脚。

蓝牙模块与Arduino UNO的连线图:
图片蓝牙模块与Arduino UNO之间通过串口进行通信,所有串口通信的语法对蓝牙模块同样适用。

注意:Arduino UNO的0和1引脚为串口通信专用引脚,也是程序下载的专用引脚,如果蓝牙模块占用此引脚,那么下载程序前需要先拔掉蓝牙模块的接线,下载完程序后再接上。

5.通信实验

我们在Aduino UNO端编写接收蓝牙指令的程序,当蓝牙接收到指令后就控制Arduino UNO板上的LED灯点亮或者熄灭,程序如下:

char val;
void setup()
{
  Serial.begin(38400); //蓝牙模块默认波特率为38400
  pinMode(13, OUTPUT);//板载LED灯引脚
}
void loop()
{
  val = Serial.read();//读取串口缓冲区的数据
  if (val == 'n') //当接收到的数据为n时
  {
    digitalWrite(13, HIGH); //点亮LED灯
    Serial.println("LED ON!"); //串口输出LED ON!
  }
  else if (val == 'f') {//当接收到的数据为f时
    digitalWrite(13, LOW);//熄灭LED灯
    Serial.println("LED OFF!");//串口输出LED OFF!
  }
}

将程序下载到Arduino UNO上,然后连接好蓝牙模块作为数据接收端,蓝牙模块上的指示灯会快速闪烁,表示没有其他模块与之配对。
蓝牙发送端要借助手机APP了,由于小编没有苹果手机,所以只用安卓手机进行测试,大家有苹果手机的可以自行测试哦~
我们先在手机端下载一个蓝牙APP,可以在手机应用商店直接搜索“蓝牙调试器”,小编把“蓝牙调试器”的压缩包和程序一块传到网盘了,文章末尾有链接哦~

图片
安装完以后直接打开蓝牙APP,根据提示打开手机蓝牙,然后搜索附近的蓝牙设备,找到名为HC-05的蓝牙模块就是我们Arduino UNO上连接的蓝牙模块,然后选择连接HC-05蓝牙模块,在对话框输入配对密码就可以了,步骤截图如下:
图片
注意:小编购买的蓝牙模块没有做任何设置,直接就上手了,所以蓝牙模块还是默认的HC-05,配对密码是1234,波特率默认为38400,下一篇文章再跟大家分享如何修改蓝牙模块的名字、配对密码、波特率等信息。
然后我们选择软件中的“对话模式”,在输入框中输入指令n或f,点击发送按钮以后,数据就被发送到Arduino UNO端的蓝牙模块了,并且能控制LED灯的亮灭状态。

图片
其实在创客或者机器人教育中,蓝牙模块最经典的用途就是遥控Arduino小车了,所以小编最后再分享一个遥控小车的程序,该程序仅使用指令控制小车前、后、左右移动,并没有实现调速功能。
注意:
(1)蓝牙模块占用了Arduino UNO的0和1引脚,下载程序前需要先拔掉蓝牙模块的TX和RX接线,下载完程序后再接上。
(2)手机APP端要使用“按钮控制”选项,而且要在“编辑模式”中修改每个按钮的值,注意按下按键发送的数据要和Arduino UNO端接收的数据相同!
图片
蓝牙遥控小车的程序和蓝牙调试器的安装包已上传到网盘了,想要的小伙伴请关注公众号,然后在公众号回复“蓝牙遥控小车”即可获得下载链接图片
本期分享就到这里了,撰文不易,欢迎伙伴们持续关注我的公众号,更多惊喜等着你哦~在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-03 17:14:14  更:2021-10-03 17:14:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:42:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码