Arduino连接蓝牙模块及L298n
注意事项
1、Arduino与电脑和蓝牙模块通讯都使用串口TX/RX,同时操作时产生冲突,程序写入Arduino时要断开与蓝牙相连的RX。
2、 执行时要注意,Serial.println()会将内容输出到蓝牙的另一端,而不是在电脑端显示信息。
3、蓝牙的默认密码是0000或1234。
4、如果外接驱动模块L298n时,需要将模块L298n和Arduino连接在同一电源上,保证信号输入电压一致。
5、对于不同版本的Arduino要注意pin是否支持数据类型,本次uno板pin3、5、6、9、10、11支持analog输出。
6、把05的蓝牙模块进入绝对AT状态(也就是34脚接高电平,模块上电,38400波特率),按着KEY不要放,上电,使用软件“获取模块信息”,可以读出所有信息。
7、本软件可以测试HC-03和HC-05,不可以测试HC-04 -06 -07,他们有另一个专用测试软。
需要的工具
蓝牙模块HC-05,Arduino uno,杜邦线
Arduino供电方法
方法一:使用USB端口为Arduino供电
方法二:使用Vin引脚为Arduino供电
Vin引脚可用于为Arduino开发板供电使用。但使用Vin引脚为Arduino开发板供电时,直流电源电压必须为7V ~ 12V。使用低于7V的电源电压可能导致Arduino工作不稳定。使用高于12V电源电压存在着毁坏Arduino开发板的风险。
方法三:使用5V引脚为Arduino供电
Arduino开发板电源引脚中的5V引脚不仅可以用于为外部电子元件提供+5V电源,也可以用于为Arduino开发板供电使用。方法四:使用电源接口为Arduino供电
可以使用直流电源通过Arduino开发板电源接口为Arduino供电。通过此方法为Arduino开发板供电时,直流电源电压为9V ~ 12V。使用低于9V的电源电压可能导致Arduino工作不稳定。使用高于12V电源电压存在着毁坏Arduino开发板的风险。
以上信息来源:http://www.taichi-maker.com/homepage/arduino-projects-index/arduino-power-supply/#power4
蓝牙模块和Arduino接线
正常接线方式:
VCC:接Arduino的5V或者3.3V
GND:接Arduino的GND
TXD:发送端,接Arduino的RX
RXD:接收端,接Arduino的TX
本次实验采用更改pin口的方式接线:
VCC:接Arduino的5V或者3.3V
GND:接Arduino的GND
TXD:发送端,接Arduino的pin8
RXD:接收端,接Arduino的pin9
修改方法:
#include <SoftwareSerial.h> //库文件
SoftwareSerial BT(8, 9);
char X;
Arduino程序
初始化波特率,默认38400。为了同步我修改成9600。
void setup()
{
Serial.begin(9600); //串口监视器通信速率,38400
Serial.println("蓝牙连接正常"); //串口监视器显示蓝牙正常状态
BT.begin(9600); //蓝牙通信速率,默认一般为 38400
}
主循环里面进行信号检测
void loop() //大循环,执行。
{
if (Serial.available()) //检测:【串口】如果数据写入,则执行。
{
X = Serial.read(); //把写入的数据给到自定义变量 X
BT.print(X); //把数据给蓝牙
}
if (BT.available()) //检测:【蓝牙】如果数据写入,则执行。
{
X = BT.read(); //把检测到的数据给到自定义变量 X
Serial.print(X); //把从蓝牙得到的数据显示到串口监视器
}
}
添加各种东西以后的成品。