通过Android连接HC-05控制arduino

之前我们已经使用HC-05进入AT模式进行配置\查看配置。现在我们需要用手机连接HC-05控制小灯的亮灭

使用材料

  • arduino uno board
  • HC-05 bluetooth module(with en pin and state pin)
  • 电阻1个
  • 二极管小灯1个
  • 杜邦线若干
  • andriod手机(APP:蓝牙串口)


    通过Android连接HC-05控制arduino_第1张图片
    蓝牙串口app

连接电路

通过Android连接HC-05控制arduino_第2张图片
hc-05_test_with_light.png

arduino code

#include 
#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的测试内容。可以基于此基础开发其他物联网或者智能家居的设备。

你可能感兴趣的:(通过Android连接HC-05控制arduino)