当前位置: 首页 > news >正文

Arduino Uno R3连接HC-03

一、设备清单

Arduino Uno R3

HC-05

电源模块(串口多可以不需要)

二、连接步骤

代码

说明:这里先提供代码是因为我们需要根据硬件设置代码(mySerial.begin

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX=10, TX=11

void setup() {
  Serial.begin(9600);     // 电脑串口波特率
  mySerial.begin(9600);   // 必须与HC-05当前波特率一致

}

void loop() {
  // 1. 从电脑串口读取数据,并发送给HC-05
  if (Serial.available()) {
    char c = Serial.read();
    mySerial.write(c);
    Serial.write(c);
  }

  // 2. 从HC-05接收数据,并显示到电脑串口
  if (mySerial.available()) {
    char c = mySerial.read();
    Serial.write(c);
  }
}

连接图

HC-05串口连接

  • RXD ——> Arduino 11串口(软串口)
  • TXD ——> Arduino  12串口(软串口)
  • GND ——> GND
  • VCC ——> 3.6V~6V
  • STATE/EN ——> 需要AT模式时接3.3V/5V(高电平)

 三、实现步骤

  • 烧录代码
  • 设置Arduino IDE

将Arduino IDE 串口监视器设置为换行和回车

  • 硬件连接RXD、TXD、VCC、GND

如上图以及文案连接相关串口

  • 下载查看蓝牙串口消息辅助app

如果我们想要看到通信的消息,我们需要下载一些辅助app(蓝牙串口、Bluetoothterminal)

  • 发送和接收消息

在app上发送消息,可以在电脑的Arduino IDE中的串口监视器中看到信息,相反也一样

四、异常情况

注意:看到这一步的小伙伴如果你已经成功实现了蓝牙通信,那么恭喜你,如果到这一步小伙伴还没成功或是出现一些问题(比如乱码)的小伙伴那么也恭喜你,你和我一样可以深入学习Arduino了 !

先说一些常见的我遇到的问题

  • Arduino无法下载程序

步骤一:请检查下载线是否松动,以及IDE是否选择了正确的串口

步骤二:请检查Arduino是否有烧坏,如果不确定,那可以试试步骤三

步骤三:可能由于电脑供电不足导致的,可以尝试给Arduino外接电源,某宝上电源适配器器12V就可以(注意圆孔的哦),外接电源后可再次尝试烧录程序(博主很慢不幸遇到了此情况,希望大家不会上演同样的惨剧)

步骤四:如果步骤三还不行,那大概率是板子废了,这就是悲剧了

注意:如果只是连接HC-05时烧录报错,那么只需要断开RXD、和TXD的连接就可以(每次烧录时都需要如此)

  • Arduino与HC-05通信乱码

步骤一:检查IDE的串口监视器波特率是否和代码(Serial.begin)设置的波特率一致

步骤二:使用AT指令查看蓝牙设置的波特率,将STATE/EN同时连接至高电平,然后在设置IDE串口监视器的波特率为代码中设置的Serial.begin的波特率,然后发送AT如果返回OK则表示已经成功将HC-05切换至指令模式,再次发送以下指令查看蓝牙波特率

AT+UART?//预期返回23:17:11.560 -> +UART:9600,0,0(因为默认波特率为9600)

步骤三:检查代码设置的蓝牙波特率(mySerial.begin)是否和HC-05的一致

  • Arduino与HC-05一连接串口,乱码会在串口监视器中刷屏

解决方法:如果按照我的设置来不会出现此问题,因为这是使用了硬串口导致的,建议使用软串口

以上就是我在尝试使用HC-05通过连接Arduino进行通信时遇到的问题,如果大家未能解决问题,欢迎在评论区留言

相关文章:

  • MVC 模式深度解析与 Spring 框架实践研究
  • Python运算符
  • MySQL存过
  • VirtualBox 无法枚举 USB 设备的问题
  • 力扣刷题HOT100——438.找到字符串中所有字母异位词
  • DAY 44 leetcode 28--字符串.实现strStr()
  • 【技术文章的标准结构与内容指南】
  • GIC驱动程序分析
  • 自注意力的机制内涵和设计逻辑
  • 151. 反转字符串中的单词
  • AJAX原理与XMLHttpRequest
  • 榕壹云酒水定制系统:基于THinKPHP+MySQL+UniApp打造数字化时代的个性化购酒新体验
  • EasyCVR视频汇聚系统:AIoT+视频智能分析赋能食品安全生产全流程监管
  • golang-非orm数据库的操作与对比 database/sql、sqlx 和 sqlc
  • 鸿蒙开发-模块化-导入,导出模块
  • 【信息系统项目管理师】高分论文:论信息系统项目的整合管理(银行数据仓库项目)
  • C#进阶学习(二)泛型及泛型约束的认识
  • day25 学习笔记
  • Python字符串split()函数完全指南
  • 【解决】bartender软件换网之后神秘变慢
  • 国产手术机器人+5G技术,上海医生同一天远程为五地患者开刀
  • 中国与柬埔寨签署多领域合作文件
  • 为青少年写新中国成立的故事,刘统遗著《火种》出版
  • 《上海国际金融中心进一步提升跨境金融服务便利化行动方案》印发
  • 全球前瞻|中国印尼举行首次“2+2”部长级会议,美乌将签署矿产协议
  • 消息人士称哈马斯愿与以色列达成长期停火