蓝牙模块——毕设之路
HC-05蓝牙模块
一、蓝牙模块使用基础
- RXD: 接收端
- TXD: 发送端
- AT: 设置工作模式
- 工作模式: 自动连接(automatic connection),又称为透传模式() 又稱為透通模式(transparent communication)
- AT指令设置模式: 命令回应(order-response),又称为AT模式(AT mode)
- VCC: 模块供电正极(5V)
- GND: 模块供电负极
二、蓝牙模块AT设置
1.蓝牙模块上自带USB转接口,直接和上位机进行串并转换通信,其实arduino就是充当中间人的角色,arduino在中间进行了PC USB-串口-并口-串口-HC-05,但是可以在arduino编程中加入控制逻辑。
2.第二种方法,直接把adruino作为上位机进行设置。蓝牙模块有key引脚和en引脚两种型号。其中:
(1)key:让HC-05模组进入AT模式,需要在通电之前,先把KEY引脚(蓝牙模组本身的34脚)接在高电位(通常3.3v,但是接5v也行),如果,只要一通电蓝牙模组就进入AT模式。
3.
1. 需要使用两组串口传输1) Serial(9600bps): PC和arduino的USB模拟串口传输,用于传输输入的AT指令以及蓝牙模组的回显2) SoftwareSerial(HC-05: 38400bps): arduino和蓝牙模组的串口传输,arduino作为中间人将PC发送的AT指令转换为串行序列发送到蓝牙模组
2. HC-05蓝牙模组规定性要求蓝牙模组的波特率为38400,所以SoftwareSerial模拟串口通信必须为38400,而PC和arduino的串口通信波特率只要两边协商一致即可,并没有硬性规定
#include <SoftwareSerial.h>
/** RX是数字引脚8(连接到蓝牙模组的TX)* TX是数字引脚9(连接到蓝牙模组的RX)*/
SoftwareSerial BTSerial(8, 9); // RX | TX
#define AT 2
#define LED 7void setup()
{ //设置AT为高电平,使蓝牙模块进入AT模式pinMode(AT,OUTPUT);pinMode(LED,OUTPUT); //这一步等效于按住蓝牙模组地板上的key按键不放,但是使用的USB无法产生对应频率的置位电平,所以时候使用手按住key按键不放然后再加电,使加电的一瞬间key引脚处于高电平位digitalWrite(AT,HIGH);digitalWrite(LED,HIGH); //设置和PC的串口通信波特率,两边协商一致即可Serial.begin(9600);while (!Serial) {; // 等待串口连接。Needed for Leonardo only}Serial.println("Enter AT commands:"); // HC-05 default speed in AT command moreBTSerial.begin(38400); while (!BTSerial) {; // 等待串口连接。Needed for Leonardo only} delay(1000);digitalWrite(LED,LOW);
}
void loop()
{ // Keep reading from Arduino Serial Monitor and send to HC-05 if (Serial.available()){ //digitalWrite(LED,HIGH); BTSerial.write(Serial.read()); } // Keep reading from HC-05 and send to Arduino Serial Monitorif (BTSerial.available()){digitalWrite(LED,HIGH); Serial.write(BTSerial.read()); } digitalWrite(LED,LOW); /*Serial.println("AT");delay(100);Serial.println("AT+NAME=OPENJUMPER-Bluetooth");//命名模块名delay(100);Serial.println("AT+ROLE=0");//设置主从模式:0从机,1主机delay(100);Serial.println("AT+PSWD=1234");//设置配对密码,如1234delay(100);Serial.println("AT+UART=9600,0,0");//设置波特率9600,停止位1,校验位无delay(100);Serial.println("AT+RMAAD");//清空配对列表*/
}
三、注意点
1. arduino和pc连接完毕后,用HC-05的rx、tx和arduino对用的tx、rx对接,gnd接好
2. 在不接通5v电源之前,先按下蓝牙模组的key按钮,接通电路
3. 然后再接通5v电源,这个时候,key使能会被置为高电位,随即蓝牙模组进入AT模式
四、CH340介绍
主要功能:H340是一个USB总线的转接芯片,实现USB转串口、USB转IrDA红外或者USB转打印口。 在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。
特点:
. 全速USB设备接口,兼容USB V2.0,外围元器件只需要晶体和电容
. 仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口
. 计算机端Windows操作系统下的串口应用程序完全兼容,无需修改
. 硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps~2Mbps
. 支持常用的MODEM联络信号RTS、DTR、DCD、RI、DSR、CTS
. 通过外加电平转换器件,提供RS232、RS485、RS422等接口
. 支持IrDA规范SIR红外线通讯,支持波特率2400bps到115200bps
. 软件兼容CH341,可以直接使用CH341的驱动程序
. 支持5V电源电压和3.3V电源电压
. 提供SSOP-20和SOP-16无铅封装,兼容RoHS
集成封装:
引脚:
蓝牙模块——毕设之路相关推荐
- 低功耗(BLE)蓝牙模块开发之路
2020/7/16更新:项目翻盘 一 项目流程概览:(已经将本项目中的敏感技术剔除,转化成通用的技术方案) 申请权限(位置权限.提示使用蓝牙需要打开位置信息.打开蓝牙的权限,) 扫描蓝牙 连接/断开蓝 ...
- 蓝牙模块智能灯控应用方案
当今是信息高速发展的时代,经济.文化的流行与传播都离不开信息.信息的传递直接影响着人们生活的方方面面,信息的传递方式又各有不同,如有线传输.无线传输等:而无线传输还可按协议不同分为:蓝牙.WIFI.z ...
- 通过手机控制蓝牙模块的实例
通过手机控制蓝牙设备的APP已经很多,不过自己动手开发一款蓝牙应用对我来说仍有很大吸引力. 首先需要一个蓝牙模块作为控制对象,网购了一个5V 4路蓝牙继电器模块,型号是LC-WM-Relay-5V-4 ...
- 关于两个蓝牙模块HC-05之间无线通信的AT指令设置
关于两个蓝牙模块HC-05之间无线通信的AT指令设置 广西●河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院:智控无人机小组 写作时间:2020.10.24 一 ...
- 智能物联网有哪些应用场景?_串口WiFi模块,蓝牙模块,WiFi+蓝牙组合模块
文章目录 前言 一.智能家居 二.智能交通 三.智慧农业 四.智能制造 五.智慧物流 六.智慧能源 七.智能医疗 八.智能安防 九.智慧建筑 十.智能零售 无线模块及应用方案 前言 物联网从萌芽到彷徨 ...
- Android App 连接ble蓝牙模块并进行通讯
Android App 连接ble蓝牙模块并进行通讯 对于蓝牙的基础知识我在这里就不赘述了,直接来干货,讲解连接ble蓝牙模块并进行通讯,通讯使用广播模式,结尾附上一个项目的demo.精彩内容即将开始 ...
- 安信可TB系列低功耗蓝牙模块选型表
摘要 安信可科技与泰凌微电子合作,基于TLSR8258系列低功耗蓝牙芯片,推出了数款模块,主打物联网应用,支持蓝牙Mesh,可连接天猫精灵.以下是各个模块的特点,各位开发者选型时可做参考. TB系列模 ...
- 51单片机蓝牙模块BT05一定要看这个!
前言: 推一下之前的教程文章(添加日期2021/8/11) 51单片机之路__基础部分完结(学习笔记) STM32白话文教程(一)固件库点灯 STM32白话文教程(三)内置按键模块.外接按键检测 三句 ...
- 安卓手机与蓝牙模块联合调试(六)-- 编写自己的蓝牙控制界
安卓手机与蓝牙模块联合调试(六)-- 编写自己的蓝牙控制界面控制单片机(下篇,STC单片机代码实现) 2018年09月18日 17:07:04 涛声依旧Cjt 阅读数:127 标签: 单片机蓝牙模块安 ...
最新文章
- pythonfor循环嵌套_python-嵌套和for循环中的字典和列表中的项...
- 修改linux bash shell PS1
- JVM 参数使用总结
- Java this关键字
- 801. Minimum Swaps To Make Sequences Increasing
- C++ const相关内容学习
- 【Gradle】配置详解(持续更正补充)
- python绘图数字_绘制一个绘图,其中Yaxis文本数据(非数字)和Xaxis数字d
- python开发网络小工具_Python 实现简单网络应用程序开发
- Linux使用PulseAudio设置音频card的默认profile
- #includefile.h与#includefile.h的区别
- esp32 micropython蓝牙 搜不到_esp 使用几次后蓝牙搜索不到问题?
- VUE通过自定义指令,只允许输入大写英文以及数字
- 拯救者进入BIOS模式
- 云服务器有哪些优势?如何租用云服务器?
- r语言lm函数找不到对象_R语言错误的提示(中英文翻译)
- rj45插座尺寸图_RJ45、RJ11 插座系列产品技术参数(中英文)
- 情感溢出:读《浣溪沙》
- 【git、gerrit】git 使用tag
- 新东方计算机考研排名,考研分数,机械考研院校排名?