当前位置:首页 > 电子制作 > 正文内容

基于蓝牙串口的手机远程控制系统

十年前,手机基本只作为一种打电话发短信的通讯工具,得益于微电子技术和软件技术的迅猛发展,如今的手机已经具备了几乎可以与计算机相媲美的强大功能。一个不争的事实是:我们每天使用手机的时间远远超过使用计算机的时间。智能手机已成为我们生活中不可或缺的电子设备。作为一个电子发烧友,我一直在琢磨如何把我们每天捣鼓的那些硬件与手机建立起联系。最先想到的方法就是编写手机客户端软件,可是对于没有学过手机编程的我来说,这太难了。一次偶然的机会,我了解到有一款手机软件可以通过蓝牙与串口模块通信,由此开启了一扇人机交互的大门。
    蓝牙(Bluetooth):即一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换。串口(UART):通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器。下面介绍一种基于蓝牙串口的手机远程控制系统。该系统以爱好者最常用的51单片机为控制器,制作过程简单,而且无需编写上位机软件,搭好硬件后,只需安装一个手机APP,就可控制任意一台用电器,制作好后可以安装在家里,宿舍,实验室等场所。
制作的成品如下:
控制系统 
电子制作DIY——基于蓝牙串口的手机远程控制系统
 
 
电子制作DIY——基于蓝牙串口的手机远程控制系统

操作界面
电子制作DIY——基于蓝牙串口的手机远程控制系统
所需材料:
1.单片机最小系统
单片机型号:STC89C52RC(或其他同类型51单片机);
功能:      整个硬件系统的控制核心;
注意事项:  晶振 11.0592M。
电子制作DIY——基于蓝牙串口的手机远程控制系统
 
2.蓝牙串口模块

型号:       HC-05、HC-06等;

功能:       作为一个中间设备,一端通过蓝牙与手机建立连接,另一端通过串口与单片机建立连接,从而实现手机与单片机之间的互联;

注意事项:   出产时默认串口波特率为9600;

             6个引脚 EN、VCC、GND、TXD、RXD、STATE,本实验用到中间4个;

             模块通电后指示灯快闪,配对蓝牙成功后变为慢闪。

电子制作DIY——基于蓝牙串口的手机远程控制系统

电子制作DIY——基于蓝牙串口的手机远程控制系统
     3.继电器模块

型号:       不限;

通道:       4通道(也可以其他通道数);

功能:       继电器作为一个受电信号控制的机械开关,以单片机引脚输出的弱电信号控制交流220V级别的强电信号。

注意事项:   继电器模块包含4条控制线(IN1、IN2、IN3、IN4)用来控制对应通道的开与关,VCC和GND接直流5.0V。

             因单片机引脚能承受和提供的电流有限,一般不直接与继电器相连,继电器模块可以很好的解决此问题,而且带有光电隔离,能保护单片机。如果没有继电器模块,可参考随后附图进行连接。

 

警告:此处涉及220V强电,请谨慎操作,请务必做好必要的绝缘措施,因操作失误等造成触电事故或其他任何安全问题本博一概不负责任!

 

电子制作DIY——基于蓝牙串口的手机远程控制系统

 

附:

电子制作DIY——基于蓝牙串口的手机远程控制系统
        4.电源模块:

        型号:    不限,要求AC220V转DC5.0V;

        功能:    为单片机、蓝牙模块和继电器模块提供低压直流电;

        注意事项:该模块可通过拆解普通手机适配器获得,也可购买专用的DC5.0V电路模块。

 

警告:此处涉及220V强电,请谨慎操作,请务必做好必要的绝缘措施,因操作失误等造成触电事故或其他任何安全问题本博一概不负责任!

 

电子制作DIY——基于蓝牙串口的手机远程控制系统


        5.手机应用软件:SPP蓝牙串口

 

电子制作DIY——基于蓝牙串口的手机远程控制系统

 

        制作步骤

        第一步:搭建硬件电路

原理图:

电子制作DIY——基于蓝牙串口的手机远程控制系统
单片机引脚图:

电子制作DIY——基于蓝牙串口的手机远程控制系统

        说明:

        R 代表RXD,即串口的数据接收端,单片机第10脚;

        T 代表TXD, 即串口的数据发送端,单片机第11脚;

        P20代表I/0口P2^0,单片机第21脚;

        P21代表I/0口P2^1,单片机第22脚;

        P22代表I/0口P2^2,单片机第23脚;

        P23代表I/0口P2^3,单片机第24脚;

        +5V 和 GND 接电源模块的输出。

方法:将单片机最小系统板和电源模块固定到一块洞洞板上,电源模块的DC5.0V输出端口焊接到单片机最小系统的电源输入端口,注意正负极性;将电源模块的AC220V输入端口焊接到强电端子上,不分极性,裸露的强电接头要打上绝缘胶或贴上电工胶带;

效果1:

电子制作DIY——基于蓝牙串口的手机远程控制系统

 

绝缘措施:

电子制作DIY——基于蓝牙串口的手机远程控制系统

        将继电器模块和蓝牙串口模块固定到一块洞洞板上;

效果2:电子制作DIY——基于蓝牙串口的手机远程控制系统
        连接继电器模块、蓝牙模块的电源线、数据线,制作220V电源线;

效果3:电子制作DIY——基于蓝牙串口的手机远程控制系统

 

220V电源线:

电子制作DIY——基于蓝牙串口的手机远程控制系统第二步  编写单片机程序

#include "reg51.h"

typedef unsigned char BYTE;
typedef unsigned int WORD;

#define FOSC 11059200L      //System frequency
#define BAUD 9600           //UART baudrate

#define ON1   0X99      //Command on1  
#define OFF1  0X9A      //Command off1  
#define ON2   0XA9      //Command on2  
#define OFF2  0XAA      //Command off2  
#define ON3   0XB9      //Command on3  
#define OFF3  0XBA      //Command off3  
#define ON4   0XC9      //Command on4  
#define OFF4  0XCA      //Command off4

sbit Button1 = P2^0;           //P2.0 Control 1#
sbit Button2 = P2^1;           //P2.1 Control 2#
sbit Button3 = P2^2;           //P2.2 Control 3#
sbit Button4 = P2^3;           //P2.3 Control 4#
bit busy;
bit ProcessUartFlag = 0;

BYTE Command = 0x00;

void System_Init(void);
void Uart_Init(void);
void SendData(BYTE dat);
void SendString(char *s);
void ProcessUart(void);

void main()
{
  System_Init();
    while(1)
  {
   if(ProcessUartFlag)
   {
    ProcessUartFlag = 0;
    ProcessUart();
   }
  }
}


void System_Init(void)
{
 Button1 = 1;         //Set Initial status
 Button2 = 1;       //Set Initial

status
 Button3 = 1;         //Set Initial status
 Button4 = 1;         //Set Initial status
 Uart_Init();
}


void Uart_Init(void)
{
   SCON = 0x50;            //8-bit variable UART
    TMOD = 0x20;            //Set Timer1 as 8-bit auto reload mode
    TH1 = TL1 = -(FOSC/12/32/BAUD); //Set auto-reload vaule
    TR1 = 1;                //Timer1 start run
    ES = 1;                 //Enable UART interrupt
    EA = 1;                 //Open master interrupt switch
}


void Uart_Isr() interrupt 4 using 1
{
    if (RI)
    {
        RI = 0;             //Clear receive interrupt flag
        Command = SBUF;     //Refresh Command
    ProcessUartFlag = 1;
    }
    if (TI)
    {
        TI = 0;             //Clear transmit interrupt flag
        busy = 0;           //Clear transmit busy flag
    }
}


void SendData(BYTE dat)
{
    while (busy);           //Wait for the completion of the previous data is sent
    busy = 1;
    SBUF = dat;             //Send data to UART buffer
}


void SendString(char *s)
{
    while (*s)              //Check the end of the string
    {
        SendData(*s++);     //Send current char and increment string ptr
    }
}

void ProcessUart(void)
{
 switch(Command)
 {
  case ON1:  Button1 = 1;break;   
  case OFF1: Button1 = 0;break;   
  case ON2:  Button2 = 1;break;   
  case OFF2: Button2 = 0;break;   
  case ON3:  Button3 = 1;break;   
  case OFF3: Button3 = 0;break;   
  case ON4:  Button4 = 1;break;   
  case OFF4: Button4 = 0;break; 
  default:break;
 }
}

        编写完后把程序烧录到单片机中。

 

 

        第三步  手机软件配置

方法:硬件供电,此时若电源模块指示灯亮起,蓝牙模块指示灯快速闪烁,单片机最小系统指示灯亮起,表面系统正常工作。打开APP,配对蓝牙,配对成功后蓝牙模块指示灯慢闪,页面左上角显示已配对设备的名称。

然后将软件切换到开关模式,如下图:

电子制作DIY——基于蓝牙串口的手机远程控制系统
 

       选四个空白按钮逐一进行编辑,注意消息要设置成十六进制,如下图所示: 
 
 

电子制作DIY——基于蓝牙串口的手机远程控制系统

电子制作DIY——基于蓝牙串口的手机远程控制系统

电子制作DIY——基于蓝牙串口的手机远程控制系统

电子制作DIY——基于蓝牙串口的手机远程控制系统

 

        第四步:整机测试
方法:确保电源接通,蓝牙配对成功,点击页面上的按钮,对应的继电器应该会吸合或断开。伴随着按钮的按下,继电器啪啪作响!

        至此,基于蓝牙串口的手机远程控制系统已经制作成功,你可以将用电器的电源线接到继电器上,以控制它的运行与停止。

        总而言之,写这篇文章的初衷仅是抛砖引玉,你可以循着这个思路设计其他更有意思的东西,比如:蓝牙遥控锁、蓝牙遥控车、蓝牙游戏手柄、蓝牙机械臂、蓝牙充电桩、蓝牙远程数据采集传输系统等等。让我们尽情享受科技带给生活的便利吧。

扫描二维码推送至手机访问。

版权声明:本文由智凡单片机c语言入门发布,如需转载请注明出处。

分享给朋友:

相关文章

基于51单片机的蓝牙遥控灯调光设计制作

基于51单片机的蓝牙遥控灯调光设计制作

        这是一款基于51单片机的蓝牙遥控灯调光设计制作实例,系统:由51单片机最小系统、蓝牙模块、发光二极管组成...

破风小黄鸭喇叭灯方案

破风小黄鸭喇叭灯方案

小黄鸭又红了!但这次不是表情包也不是吹气橡皮鸭,而是一个安装在自行车把手上面的小黄鸭喇叭灯!这个时代一直给我们带来无限的惊喜,每一天的生活都会有新鲜的东西冒出来。最近因为刷抖音又再一次被这个小黄鸭喇叭...

自制甲醛检测仪

自制甲醛检测仪

新房装修、新车内饰的甲醛问题也随之而来。一些朋友网购了百十元的甲醛检测仪,也有三五百元的,找我来鉴定这些设备是否可靠。经过拆解部分的甲醛检测仪、以及在网上论坛的了解,发现甲醛检测仪这方面的水很深。比如...

ESP8266局域网AT指令控制小灯亮灭

ESP8266局域网AT指令控制小灯亮灭

(一)配置ESP8266模块(WIFI模块连接CH340插电脑,利用串口工具配置)1 工作模式STA模式:AT+CWMOD_DEF=1// _DEF后缀表示保存到flash中;2 连接到路由器:&nb...

对hc-sr04的理解

对hc-sr04的理解

该超声波模块工作电压为5V,一共四个引脚,其中一个接电源一个接地,trig引脚为启动引脚,即可理解为如果要让超声波模块开始工作,除了接通电源,还得通过程序控制trig引脚。控制方法十分简单,只需要给该...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。