通过Android连接HC-05控制arduino
2019-05-27 本文已影响5人
Houwing
之前我们已经使用HC-05进入AT模式进行配置\查看配置。现在我们需要用手机连接HC-05控制小灯的亮灭
使用材料
- arduino uno board
- HC-05 bluetooth module(with en pin and state pin)
- 电阻1个
- 二极管小灯1个
- 杜邦线若干
-
andriod手机(APP:蓝牙串口)
蓝牙串口app
连接电路
hc-05_test_with_light.pngarduino code
#include <SoftwareSerial.h>
#define AnalogPin 9
char ch=' ';//用来存储手机发送过来的数据
SoftwareSerial BT(3,2);//RX TX on the board
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);//这里应该和你的模块通信波特率一致
delay(100);
Serial.println("Arduino is ready.");
pinMode(AnalogPin,OUTPUT);
Serial.println("Analog pin is ready.");
BT.begin(9600);//初始化蓝牙模块波特率
Serial.println("Bluetooth is ready.");
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available())
BT.write(Serial.read());
//把hc-05的串口输出的字符 输出到电脑串口中
if(BT.available()){
ch=BT.read();
Serial.write(ch);
}
switch(ch){
case '1':Serial.println("Read from bluetooth is 1.");
analogWrite(AnalogPin,100);
ch=' ';
break;
case '2':Serial.println("Read from bluetooth is 2.");
analogWrite(AnalogPin,120);
ch=' ';
break;
case '3':Serial.println("Read from bluetooth is 3.");
analogWrite(AnalogPin,180);
delay(500);
analogWrite(AnalogPin,60);
ch=' ';
break;
default: analogWrite(AnalogPin,0);
break;
}
delay(1000);
}
操作步骤
- 按照电路图连接电路,烧写arduino代码进芯片,上电
- 先进入系统设置里面的蓝牙设置,和HC-05进行配对(name:HC-05 pin:1234/0000)如果是默认配置进行配对,pin码一般是1234或者0000pin码都是4位数
- 打开下载好的app,开始发送内容
- 发送1,触发case1中的代码块,发送2触发case2中的代码块。
发现的问题(有大牛可以给解答一下吗?谢谢)
- 用这个手机app发送串口数据,在pc的串口能够正常接收,但是pc端口发送的数据在手机里面接收是乱码。我认为这个问题要么是手机接收的波特率不对,要么是手机设置的字符集不对,但是具体应该怎么设置到现在我还没能摸索到。
以上就是关于用手机通过串口控制arduino的测试内容。可以基于此基础开发其他物联网或者智能家居的设备。