arduino蓝牙通讯代码_Arduino蓝牙模块实现通信
蓝牙参数特点
1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接
2.led指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口
3.输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!
4.可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接
5.在未建立蓝牙连接时支持通过AT指令设置波特率、名称、配对密码,设置的参数掉电保存。蓝牙连接以后自动切换到透传模式
6.体积 3.57cm*1.52cm
7.该蓝牙为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、Android、PDA、PSP等智能终端配对,从机之间不能配对。
Arduino 与蓝牙模块连接方法
VCC:接Arduino的5V。
GND:接Arduino的GND。
TXD:发送端,一般表示为自己的发送端,接Arduino的RX。
RXD:接收端,一般表示为自己的接收端,接Arduino的TX。
正常通信时候本身的TXD永远接设备的RXD!正常通信时RXD接其他设备的TXD,
接下来就是写程序了。为了测试通讯,PC通过无线连接向arduino发送一个字符't',arduino收到后闪一下灯,并向PC反馈一个字符串"echo"。程序如下:
const int ledpin = 13;
const int pinRx = 0;
const int pinTx = 1;
void setup()
{
Serial.begin(9600);
pinMode(ledpin, OUTPUT);
}
void loop()
{
int val = Serial.read();
if (val == 't')
{
digitalWrite(ledPin, HIGH); // set the LED on
delay(500);
digitalWrite(ledpin, LOW);
delay(500);
Serial.println("echo");
}
}
相对上一个程序,这里面有些新的东西,就是串口对象Serial,这个对象对应于0,1接口的串口设备;当然,其他3个串口也有对应的串口对象,名字分别为Serial1, Serial2, Serial3。编程参考可以看这个链接:http://arduino.cc/en/Reference/Serial。这里使用的对象接口函数很简单,Serial.begin(波特率),用于初始化串口并指定通讯的波特率;Serial.read()是从串口的接收缓冲区中读出一个字符,如果没有,返回-1;Serial.println(字符串)用于输出一个带回车符的字符串。需要提一下的是,arduino的第一个串口和FTDI USB-to-TTL串口芯片相接,也就是说这个串口设备可以通过USB线连接PC。
程序写完,就可以上传运行了。蓝牙模块背面有2个灯,分别是power和state,通电后power就亮了,state灯却一直闪烁,这是因为蓝牙还没有连接。PC端这时需打开蓝牙管理,然后搜寻新的设备,会找到一个叫linvor的蓝牙设备。打开,这个设备只有一个蓝牙串口。点右键连接,跳出配对密码输入框,输入密码"1234"即可。连接完成后,可以看到蓝牙模块上的state灯长亮了,这表明连接正常,就可以进行通讯了。
既然是通讯,PC端也要有个基于串口的通讯程序。除了使用arduino开发环境自带的Serial Monitor,自己也可以找一个流行的。咱是懒人,就用开发环境自带的好了,反正应用很简单,这个程序也够用了。点击开发环境最右面Serial Monitor那个图标,就跳出下面这个界面。不过要注意,在TOOL菜单下的COM选择,应该是对应蓝牙串口所用的那个串口编号,而不是USB的,否则,呵呵,就不是蓝牙无线通讯而是USB串口通讯了。
最后补充一下,蓝牙模块的信息是可以通过AT命令来进行改动的,缺省情况下,蓝牙设备名是"linvor", 通讯波特率为9600,配对密码为"1234"。具体说明如下:
通过串口与电脑连接,再通过串口调试助手给模块发送命令可以配置模块的一些参数,
具体的配置方式如下:
1)、测试通讯:发送AT 命令,返回ok
2) 更改波特率
模块默认的波特率是9600
发送AT BAUD1 返回OK1200
发送AT BAUD2 返回OK2400
……
BAUD1------------1200
BAUD2------------2400
BAUD3------------4800
BAUD4------------9600
BAUD5------------19200
BAUD6------------38400
BAUD7------------57600
BAUD8------------115200
BAUD9------------230400
A--------------------460800
B--------------------921600
C--------------------1382400
不建议使用超过115200 的波特率,因为大多系统都没有提供高
于115200 的波特率,PC 机也是如此,波特率设置超过115200 以后,
电脑无法使用,要使用波特率高于115200 的系统才能重新发AT 命令
设置低的波特率,否则无法恢复低波特率了。
用AT 命令设置好波特率后,下次上电不需要再设置,掉电可以
保存波特率。
3)更改蓝牙名字
发送:AT NAMEname
返回:OKname
参数name:你所要设置的名字,也就是蓝牙被搜索到的名字,
20 个字符以内。
例:发送AT NAMEJYOO
返回返回JYOO
参数可以掉电保存,只需设置一次
4)更改蓝牙配对密码
发送:AT PINXXXX
返回:OKsetpin
参数XXXX:所需设置的密码4 位,只需更改一次,掉电保存。
arduino蓝牙通讯代码_Arduino蓝牙模块实现通信相关推荐
- arduino蓝牙通讯代码_蓝牙4.0模块 无线数据传输模块 无线蓝牙串口 Arduino
产品介绍: 蓝牙4.0模块是专为智能无线数据传输而打造的.该模块遵循BT2.1+EDR/3.0/4.0(BLE)蓝牙规范,支持SPP 蓝牙串口协议等.本模块集成了MCU 和蓝牙芯片,支持UART.SP ...
- arduino使用oled代码_Arduino指纹传感器模块使用方法(FPM10A)
这篇文章是有关如何在Arduino上使用指纹传感器模块的入门指南.我们将向您展示如何注册新的指纹ID,以及如何找到指纹匹配项. 指纹传感器模块介绍 (如下图所示)使指纹识别更易于访问,并且易于添加到您 ...
- arduino蓝牙通讯代码_在两块Arduino开发板之间实现蓝牙通信
HC-05蓝牙模块是任何Arduino项目必不可少的蓝牙模块!很容易进行连接以及在Arduino IDE中编写代码.在大多数项目中,我们通常将HC05连接至Arduino,并使用它与其他智能设备(如手 ...
- arduino蓝牙通讯代码_「Arduino」OLED屏使用教程,显示内容听谁的?我不管,听我的...
玩转Arduino小伙伴肯定都接触过OLED屏吧,不管是在Arduino还是树莓派中都起到浓墨重彩的一笔,会写编程的同学也可以变换更多的花样. 材料清单: Arduino驱动板 x 1 OLED模块 ...
- 虾扯蓝牙(一)获取蓝牙当前状态,监听蓝牙手动开关,代码开关蓝牙
前言 半年没有更新博客了,首要原因就是我太懒了,其次是换了新工作,新环境,一直都处于适应与学习阶段,因为涉及到的领域以前都是没接触的–有幸外派到海尔做智能家居,第一次到这种大的公司来敲代码,很多东西都 ...
- android蓝牙通讯方法,Android蓝牙通信开发教程(详解版)
Android 系统提供蓝牙 API 包 android.bluetooth,允许手机设备通过蓝牙与其他设备进行无线连接. Android 的蓝牙 API 可提供以下功能: 需要说明的是,Androi ...
- android蓝牙开发代码,Android蓝牙开发(示例代码)
Android蓝牙开发 近期做蓝牙小车,须要Android端来控制小车的运动.以此文记录开发过程. 使用HC-06无线蓝牙串口透传模块.对于其它的蓝牙设备本文相同适用. 蓝牙开发的流程: 获取本地蓝牙 ...
- android 蓝牙通讯实现手机蓝牙的开启,并扫描附近可见的蓝牙设备
蓝牙是一种重要的短距离无线通信协议,广泛应用于各种设备(手机,医疗,汽车等).蓝牙是比较常用的无线通信设备,早研究成为手机的标配.现在的安卓手机基本上都有蓝牙,所有通过蓝牙对数据有很好的硬件基础 在A ...
- arduino蓝牙通讯代码_通过手机控制蓝牙串口模块与Arduino通讯
功能 通过手机APP向蓝牙模块发送指令,蓝牙模块通过串口将指令传递给Arduino开发板,并由Arduino做出反馈,传递给手机. 工具材料Arduino 开发板 ×1 蓝牙串口模块×1 Androi ...
- arduino蓝牙通讯代码_一种基于Arduino的蓝牙通信系统的制作方法
本实用新型涉及无线通信技术领域,具体来说,涉及一种基于Arduino的蓝牙通信系统. 背景技术: 随着通信技术的发展,无论是在物联网,还是互联网,传统的有线传输技术已经越来越不能满足企业和个人的需求. ...
最新文章
- 浅析企业网站建设潜在价值有哪些?
- OSI网络体系结构各层协议:
- php广告屏如何同步,户外LED大屏广告如何投放才能更吸引人?
- 温度压力测试软件什么好,温度压力测试_鲁大师温度压力测试多少度正常
- android 判断 飞行模式,Android 设置飞行模式,判断是否是飞行模式
- 代码之谜(五)- 浮点数(谁偷了你的精度?)
- Axure chrome插件安装
- flash actionscript MovieClip(电影剪辑)控制
- esim卡与ms卡的区别_什么是eSIM,它与SIM卡有何不同?
- Audition 2021(Au)下载安装及详细安装教程
- Disk Expert 3.6.1 可视化磁盘清理工具
- 与鲨共舞:当AI遇见海洋杀手
- 讯飞离线语音合成接入
- 利用 OpenCC 工具进行文字的简繁转换
- 联发科天玑800适配鸿蒙系统,联发科天玑800U 5G芯片加持,Redmi Note9实际表现究竟如何?...
- 正确使用 protobuf 的姿势
- 全国电子设计大赛历年考题归类分析--太行山麓创客空间基地
- 解决M1芯片版本安装Sketch问题 M1芯片安装那个Sketch版本?Sketch已完美支持M1芯片安装 支持big sur系统
- celery5.2.1以下版本任务调用多耗费1秒
- 《蓝海战略》读书笔记