##今天是我的短距离课程设计完工的日子,写篇博客纪念一下~~
说起来也是一个很简单的设计,只不过从软件到硬件都是一点一点搞出来的,话不多说进入正题。。。

设计目标:
用arduino与蓝牙(Hc06) 通过用手机APP控制开门开灯

材料准备

首先,你要有一块蓝牙,进入AT指令设置蓝牙的模式,这个可能会有帮助

然后买一块Arduino uno板子,至于开发环境 驱动 什么的某宝上买的就去找客服要

再然后准备一个led小灯、一个步进电机(用来做开关门演示)
软件的话就Android Studio开发环境用来开发 APP

线路连接
先说led灯
就只需要直接插在板子上就好(长正短负,我用长的接13引脚,短的接GND)

蓝牙与arduino连接,这里我是自定义了软串口11 12 引脚,两种都行
TX<----------->RX (11引脚)
RX<----------->TX (12引脚)
5V<----------->5V
GND<------>GND

然后是步进电机

步进电机的驱动模块与arduino连接,看图吧

java蓝牙sokect java蓝牙开门_步进电机


至于原理什么的一句话也说不清楚,朋友推荐的一个老师讲的Arduino与步进电机连接的视频可以看一下,还是很详细的,其实arduino板子就可以带动步进电机,要不要外接电源都行,我嫌麻烦就没整,直接接在板子上了,记得接地!!

 好了,准备工作做的差不多了,接下来就上代码了

#include <SoftwareSerial.h>
SoftwareSerial SerialBT(11,12);//自定义的软串口

void setup()
{
  // 初始化串口设置波特率为 38400
  Serial.begin(38400);
  SerialBT.begin(38400);
  pinMode(13, OUTPUT);
  //初始化与步进电机连接的引脚2,3,4,5
   for (int i = 2; i < 6; i++) { 
    pinMode(i, OUTPUT);
}
}
void loop()
{
  while(SerialBT.available())
  {
  //从串口读到来自APP发的信息
    char c=SerialBT.read();
      if(c=='1')
      {
        Serial.println("BT is ready!");
        //   灯亮,返回到手机调试程序上
        SerialBT.println("Serial--13--high");
        digitalWrite(13,HIGH);
      }
    if(c=='2')
     {
     //灯灭
       SerialBT.println("Serial--13--low");
       digitalWrite(13,LOW);
     }
     if(c=='3')
     {
     //这个循环用来控制电机转动的角度,60不是角度
       for (int count = 0; count < 60; count++)
        {
            for (int i = 2; i < 6; i++)
              {
              // 开门
                digitalWrite(i, HIGH);
                delay(3);
                digitalWrite(i, LOW);
              }
          }
       }
     if(c=='4')
     {
        for (int count = 0; count < 60; count++)
        {
          for (int i = 5; i > 1; i--)
            {
            //关门
              digitalWrite(i, HIGH);
              delay(3);
              digitalWrite(i, LOW);
            }
           }
         }  
  }
}

手机APP ,可以下载一个蓝牙串口助手,连上蓝牙,直接就可以使用,想要自己写程序就找源码

附上一张我的实拍图

java蓝牙sokect java蓝牙开门_引脚_02