蓝牙模块——毕设之路

HC-05蓝牙模块

一、蓝牙模块使用基础

  1. RXD: 接收端
  2. TXD: 发送端
  3. AT: 设置工作模式
    1. 工作模式: 自动连接(automatic connection),又称为透传模式() 又稱為透通模式(transparent communication)
    2. AT指令设置模式: 命令回应(order-response),又称为AT模式(AT mode)
  4. VCC: 模块供电正极(5V)
  5. 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 7
 
void 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 more
    BTSerial.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 Monitor
    if (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");//设置配对密码,如1234
    delay(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

集成封装:
在这里插入图片描述
引脚:
在这里插入图片描述

  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值