arduino使用HC05蓝牙模块和手机通讯

arduino使用HC05蓝牙模块和手机通讯:手机通过蓝牙发送数据给arduino,arduino根据手机发送的数据控制一个灯的亮灭。

一、需要的材料:arduino 系列的板子(这里我用的是UNO板)、HC05蓝牙模块、蓝牙串口APP。

二、准备工作:

1、HC05蓝牙模块的参数设置:

关于HC05的参数设置大家可以去看下面的这个视频,设置起来并不难的:

我的参数是这样的:蓝牙模块名称:lanya                    密码:1234 

                                波特率:9600                                设置主从:从机

2.arduino UNO板和Hc05的接线:

        HC05    →     UNO

        VCC     →    VCC

        GND     →    GND     

        RXD     →    9

        TXD      →    8

按理说RXD和TXD应该对应接板子的TXD和RXD,这里我却没有接,为什么呢?这里我说明一下原因:

正常RXD和TXD如果接板子的TXD和RXD,那么在下载的时候就需要将蓝牙模块先拔掉,而且数据传输也会有影响,所以我使用软串口,模拟rx和tx接口,这样板子的下载和运行就不会受什么影响了,下面是程序的图片,看了就很清楚了:

软串口程序

3.程序图:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(8,9);//rx,tx

char a;

void setup() {

  // put your setup code here, to run once:

  pinMode(13,OUTPUT);

mySerial.begin(9600);

Serial.begin(9600);

}

void loop() {

  // put your main code here, to run repeatedly:

//如果硬件串口有数据

  if(Serial.available())

  {

    //从硬件串口读出一字节,写入软件串口

    mySerial.write(Serial.read());

  }

  //如果软件串口有数据

  if(mySerial.available()>0)

  {

    //从软件串口读出一字节,写入硬件串口

    a=mySerial.read();

   if( a=='1')

  {       

          digitalWrite(13,HIGH);

          mySerial.write("power on");

    }

   else if(a=='2')

   {

          digitalWrite(13,LOW);

          mySerial.write("power off");   

    }

}    

}

接收部分的程序是这样的:

串口接收程序

原理:串口首先判断是否接收到字符,如果接收到字符,判断字符是几,为1则点亮13号引脚的LED灯,为2则关闭13号引脚的LED灯。

4.用手机到应用商店里下载蓝牙串口的软件:

很多软件都可以,我下载的是红框的软件:

下载好之后,可以先点开手机的蓝牙,搜索HC05的蓝牙名称,点击连接,输入密码就行:(我的密码是1234)

打开软件之后可以看到,右上角有个连接

点击连接,可以看到我的HC05名称是蓝牙,点击就可以连接:

连接完成的图片:

连接好了之后就可以输入对应的1和2 ,就可以看到串口也输出了对应的字符

下面是亮灭的实际图:


我的主页有展示的视频,想看的话可以去看。好了,arduino使用HC05蓝牙模块和手机通讯的教程就到这里了。

本文为我原创

本文禁止转载或摘编

-- --
  • 投诉或建议
评论