想象一下,您可以使用智能手机从房屋内的任何地方控制房屋的电子设备。在此项目中,我们将使用无线蓝牙技术通过Android Phone控制家用电器。蓝牙的范围为10-15米,因此您可以打开和关闭范围内的任何电子设备。我们还使用蓝牙模块和Arduino开发了由Android Phone控制的玩具车。
在这里,我们使用了具有蓝牙模块的8051微控制器,以无线方式接收从Android手机发送的数据。这样微控制器可以相应地打开和关闭家用电器。
主要成分
- 8051微控制器
- 蓝牙模块HC05
- 中继
- ULN2003
- 灯泡
- 持有人
- 线
- IC 7805
- Android手机
- 蓝牙控制器应用Android应用
- 10uf电容器
- 1000uf电容器
- 10K电阻
- 1K电阻
- 电源供应
蓝牙模块:
HC-05蓝牙模块由两部分组成,一是蓝牙串行接口模块,另一个是蓝牙适配器。蓝牙串行模块用于将串行端口转换为蓝牙。
蓝牙模块如何操作?
从市场上购买后,您可以直接使用蓝牙模块,因为不需要更改蓝牙模块的任何设置。新蓝牙模块的默认波特率是9600 bps。您只需要将rx和tx连接到控制器或串行转换器,并为模块提供5伏直流稳压电源即可。
蓝牙模块有两种模式,一种是主模式,第二种是从模式。用户可以通过使用一些AT命令来设置任何一种模式。甚至用户也可以使用AT命令来设置模块的设置。以下是一些命令用法:
首先,用户需要通过按蓝牙模块上的EN按钮或在EN引脚上提供HIGH电平,以38400 bps的波特率进入AT模式。注意:所有命令应以\ r \ n(0x0d和0x0a)或键盘输入ENTER结束。
之后,如果您将AT发送到模块,则模块将以OK响应
AT→测试指令
AT + ROLE = 0→从模式选择
AT + ROLE = 1→主模式选择
AT + NAME = xyz→设置蓝牙名称
AT + PSWD = xyz→设置密码
AT + UART =
例如。AT + UART = 9600,0,0
加速度计的引脚说明:
- 状态→打开
- Rx→串行接收引脚
- Tx→串行发送引脚
- GND→地
- Vcc→+5伏直流
- EN→进入AT模式
工作说明:
在该项目中,我们使用8051微控制器来控制该项目的整个过程。蓝牙模块用于无线控制家用电器。当用户触摸Android手机中的Bluetooth移动应用程序中的按钮时,家用电器将打开和关闭。要运行此项目,首先我们需要从Google Play商店下载蓝牙应用程序。我们可以使用任何可以通过蓝牙发送数据的蓝牙应用。以下是一些可以使用的应用名称:
- 蓝牙Spp Pro
- 蓝牙控制器
安装该应用程序后,您需要打开它,然后搜索蓝牙设备并选择HC-05蓝牙设备。然后配置密钥。
在此项目中,我们已使用蓝牙控制器应用程序。
- 下载并安装蓝牙控制器。
- 打开移动蓝牙。
- 现在打开蓝牙控制器应用程序
- 按扫描
- 选择所需的蓝牙设备(蓝牙模块HC-05)。
- 现在通过按屏幕上的设置按钮来设置键
要设置按键,我们需要按下“设置按钮”并根据以下图片设置按键:
设置键后,按确定。
您可以在上图中看到9个按钮,其中第一行用于风扇控制,第二行用于灯光控制,最后一个用于电视控制。意思是第一行的ON和OFF按钮用于打开和关闭风扇,第二行的按钮用于Light,第三行的用于电视。为了演示,我们使用了三种不同颜色的灯泡来代替电视和风扇。
现在,当我们触摸蓝牙控制器应用程序中的任何按钮时,Android手机会向蓝牙模块发送一个值,接收到该值后,蓝牙模块会将接收到的值发送给微控制器,然后微控制器读取该值并将其与预定义值进行比较。如果发生任何匹配,则微控制器执行相对操作。每次按下按钮将执行相同的操作。
现在,当用户触摸蓝牙控制器应用程序中的“风扇开启”按钮时,微控制器通过蓝牙模块接收“ 1”,然后控制器通过使用继电器驱动器和继电器将风扇“打开”。当用户触摸蓝牙控制器应用程序中的“风扇关闭”按钮时,微控制器将通过蓝牙模块接收“ 2”,然后控制器通过使用继电器驱动器和继电器将风扇“关闭”。
同样,当分别触摸“开”,“关”,“电视开”,“电视关”按钮时,Android手机会发送3、4、5、6个数字:
纽扣 |
数据 |
操作方式 |
范安 |
1个 |
风扇开启 |
风扇关闭 |
2 |
风扇关闭 |
点亮 |
3 |
灯打开 |
熄灭 |
4 |
灯熄灭 |
电视开 |
5 |
电视已开启 |
电视关闭 |
6 |
电视已关闭 |
电路图和说明
该项目的电路连接非常简单。蓝牙模块的Rx和Tx引脚直接连接到微控制器的Tx和Rx引脚。三个5伏继电器用作开关,用于打开和关闭在交流电源上运行的家用电器。继电器驱动器ULN2003用于驱动继电器。风扇,灯光和电视通过继电器和继电器驱动器连接到P2.1,P2.2和P2.3。该电路中使用11.0592 MHz的晶体振荡器为微控制器生成时钟信号。5伏特稳压器LM7805用于为整个电路提供5伏特。
程序说明:
在此程序中,首先我们包含了头文件并定义了输入,输出引脚和变量。
#包括
此后,我们创建了一个延迟功能。
void delay(int time){unsigned int i,j; 对于(i = 0; i
在这里,我们有一些在程序中使用的功能。在此,我们在11.0592MHz的晶体频率下配置了9600bps的波特率。
void Serialwrite(char byte){SBUF = byte; while(!TI); TI = 0;} void Serialprintln(char * p){while(* p){Serialwrite(* p); p ++; } Serialwrite(0x0d); } void Serialbegin(){TMOD = 0x20; SCON = 0x50;TH1 = 0xfd;TR1 = 1;}
之后,在主程序中,我们初始化了UART,并监视了SBUF寄存器以接收数据。然后,将数据匹配并与预定义值进行比较,并执行了相关操作。
void main(){P2 = 0x00; Serialbegin(); Serialprintln(“ System Ready…”); 延迟(50); while(1){while(!RI); Charin = SBUF; str = Charin; RI = 0;if(str =='1'){Fan = 1; Serialprintln(“ Fan ON”); 延迟(50); } else if(str =='2'){Fan = 0; Serialprintln(“ Fan OFF”); 延迟(50); }
这样便可以为房屋创建整个系统,并可以使用Relays将所有AC设备连接到8051微控制器。这个蓝牙控制的家庭自动化系统 可以通过智能手机进行操作。