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 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

集成封装:

引脚:

蓝牙模块——毕设之路相关推荐

  1. 低功耗(BLE)蓝牙模块开发之路

    2020/7/16更新:项目翻盘 一 项目流程概览:(已经将本项目中的敏感技术剔除,转化成通用的技术方案) 申请权限(位置权限.提示使用蓝牙需要打开位置信息.打开蓝牙的权限,) 扫描蓝牙 连接/断开蓝 ...

  2. 蓝牙模块智能灯控应用方案

    当今是信息高速发展的时代,经济.文化的流行与传播都离不开信息.信息的传递直接影响着人们生活的方方面面,信息的传递方式又各有不同,如有线传输.无线传输等:而无线传输还可按协议不同分为:蓝牙.WIFI.z ...

  3. 通过手机控制蓝牙模块的实例

    通过手机控制蓝牙设备的APP已经很多,不过自己动手开发一款蓝牙应用对我来说仍有很大吸引力. 首先需要一个蓝牙模块作为控制对象,网购了一个5V 4路蓝牙继电器模块,型号是LC-WM-Relay-5V-4 ...

  4. 关于两个蓝牙模块HC-05之间无线通信的AT指令设置

    关于两个蓝牙模块HC-05之间无线通信的AT指令设置 广西●河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院:智控无人机小组 写作时间:2020.10.24 一 ...

  5. 智能物联网有哪些应用场景?_串口WiFi模块,蓝牙模块,WiFi+蓝牙组合模块

    文章目录 前言 一.智能家居 二.智能交通 三.智慧农业 四.智能制造 五.智慧物流 六.智慧能源 七.智能医疗 八.智能安防 九.智慧建筑 十.智能零售 无线模块及应用方案 前言 物联网从萌芽到彷徨 ...

  6. Android App 连接ble蓝牙模块并进行通讯

    Android App 连接ble蓝牙模块并进行通讯 对于蓝牙的基础知识我在这里就不赘述了,直接来干货,讲解连接ble蓝牙模块并进行通讯,通讯使用广播模式,结尾附上一个项目的demo.精彩内容即将开始 ...

  7. 安信可TB系列低功耗蓝牙模块选型表

    摘要 安信可科技与泰凌微电子合作,基于TLSR8258系列低功耗蓝牙芯片,推出了数款模块,主打物联网应用,支持蓝牙Mesh,可连接天猫精灵.以下是各个模块的特点,各位开发者选型时可做参考. TB系列模 ...

  8. 51单片机蓝牙模块BT05一定要看这个!

    前言: 推一下之前的教程文章(添加日期2021/8/11) 51单片机之路__基础部分完结(学习笔记) STM32白话文教程(一)固件库点灯 STM32白话文教程(三)内置按键模块.外接按键检测 三句 ...

  9. 安卓手机与蓝牙模块联合调试(六)-- 编写自己的蓝牙控制界

    安卓手机与蓝牙模块联合调试(六)-- 编写自己的蓝牙控制界面控制单片机(下篇,STC单片机代码实现) 2018年09月18日 17:07:04 涛声依旧Cjt 阅读数:127 标签: 单片机蓝牙模块安 ...

最新文章

  1. pythonfor循环嵌套_python-嵌套和for循环中的字典和列表中的项...
  2. 修改linux bash shell PS1
  3. JVM 参数使用总结
  4. Java this关键字
  5. 801. Minimum Swaps To Make Sequences Increasing
  6. C++ const相关内容学习
  7. 【Gradle】配置详解(持续更正补充)
  8. python绘图数字_绘制一个绘图,其中Yaxis文本数据(非数字)和Xaxis数字d
  9. python开发网络小工具_Python 实现简单网络应用程序开发
  10. Linux使用PulseAudio设置音频card的默认profile
  11. #includefile.h与#includefile.h的区别
  12. esp32 micropython蓝牙 搜不到_esp 使用几次后蓝牙搜索不到问题?
  13. VUE通过自定义指令,只允许输入大写英文以及数字
  14. 拯救者进入BIOS模式
  15. 云服务器有哪些优势?如何租用云服务器?
  16. r语言lm函数找不到对象_R语言错误的提示(中英文翻译)
  17. rj45插座尺寸图_RJ45、RJ11 插座系列产品技术参数(中英文)
  18. 情感溢出:读《浣溪沙》
  19. 【git、gerrit】git 使用tag
  20. 新东方计算机考研排名,考研分数,机械考研院校排名?

热门文章

  1. 左手 右手(5-8)
  2. 网络推广团队做网站SEO添加反向链接时的策略!
  3. 一个字节的网络漫游故事独白
  4. Unity学习笔记第一章:数据的存档
  5. android 录音的格式,Android录制声音 录音输输出格式
  6. 你的思考方式里,透露着你的能力与未来
  7. 挑战程序设计竞赛(第二章习题总结)
  8. 小学三年级计算机总结范文,小学三年级信息技术教学工作总结范文
  9. 梅西加冕!海信电视为潘帕斯雄鹰喝彩
  10. IaaS、PaaS、SaaS学习