注册登录

Arduino UNO,蓝牙与手机DIY一个声控家居系统,从元器件到电路设计再到代码

智能家居的话题仍在不断炒热,它能帮助人们减少人力需求与错误,同时还能提升效率。在家庭自动化系统的帮助下,我们可以控制不同的家庭电器,比如灯光,风扇,电视和空调等。除此之外,警报,急救等安全系统也可以加入其中。

如今许多智能家居系统的操控系统分为蓝牙控制、互联网控制、射频控制和红外控制等。每种控制方式都各有优劣。本项目中。我们将设计一个蓝牙的声控智能家居系统,其中不同的设备都能通过一条语音指令来控制。

该声控智能家居系统由Arduino UNO,蓝牙与手机构成。下面我们会解释其电路图,元器件以及该系统的使用。
微信图片_20190927130048.jpg微信图片_20190927130051.jpg

所需器件
Arduino UNO x 1HC-05蓝牙模块 x 1手机或平板 x 12N2222 NPN三极管 x 412V继电器 x 41kΩ电阻 x 41N4007整流二极管 x 4电源导线面包板蓝牙传输语音的app

元件分析

蓝牙模块HC-05:对于无线通信来说,我们这里用的是蓝牙技术,而模块则选择HC-05.该模组可以使用UART协议来交互,同时比特率的编程范围比较广,但默认比特率为9600bps。HC-05模块可以作为上位机又可以作为下位机,而HC-06只能作为下位机。

下面的图片正是该项目中所用的HC-05蓝牙模块。在该模块中,左边的四个引脚分别是VCC(5V),GND以及TX和RX。
微信图片_20190927130053.jpg

Arduino蓝牙语音控制的app:该app会使用手机上的语音识别功能,并将语音指令转换为文字信息通过蓝牙发送给Arduino。

继电器扩展板(4通道):继电器用作将一个小电流三极管电路与一个大电流AC电路相连。在本项目中。我们将使用一个四通道的继电器拓展板。
微信图片_20190927130055.jpg

电路设计

微信图片_20190927130059.jpg
上图为该系统的电路。首先我们将蓝牙模块与Arduino相连。考虑到蓝牙使用UART协议,所以我们得用到Arduino上的RT和TX引脚。我们还需要使用“软串口”库来定义我们的RX和TX引脚(引脚2为RX,引脚3为TX)。

注意:我们没有连接蓝牙的RX和Arduino的TX。如果你遇上问题的话,可以连一个分压器将Arduino TX的5V信号转换为蓝牙RX的3.3V信号。

接下来,我们将把继电器与Arduino相连。考虑到这已经是一个预置的继电器拓展版,我们只需每个单独继电器的输入端与Arduino相连即可。电阻,晶体管,二极管以及继电器的具体连接,请看电路图。

注意:我们并没有将继电器与任何负载相连,但你在尝试的时候可以连接一些小负载来测试是否正常工作,但使用交流电源接继电器扩展板的时候一定要小心。

使用方法

在该系统中,我们会设计一个简单的声控智能家居系统。语音指令用来控制不同的器件。

进行必要的连接之后,我们打开电源为电路供电。然后将手机的蓝牙与HC-05蓝牙模块连接。然而在这之前,我们需要安装上面提到的app。App的界面如下。

微信图片_20190927130101.jpg

下一步是在app中寻找该蓝牙模块并与其连接。首先点击右上角选择“connect robot”,然后选择地址或名字正确的蓝牙设备,如果设备之前没有配对过的话,我们需要用HC-05蓝牙模块的引脚配对一次。

微信图片_20190927130104.png

成功连接后,设备就可以传输数据了。按下屏幕上的麦克风按键,就可以说出你的语音指令了。

注意:确保手机上的语音识别功能已经打开(该选项一般在手机中的google设置里),且该语音识别使用的是谷歌的识别模块,所以语音指令为英语。

比如,我们按下麦克风图标,说出一句英文“turn on light(打开灯光)”,app识别该指令后会将其传输给蓝牙模块。同时指令的文字也会显示在屏幕上供你参照。

微信图片_20190927130107.jpg

当app检测到“turn on light”这句话后,他会对蓝牙模块发送一个“*turn on light#”的字符串,这也是蓝牙模块收到的信息格式。之所以前后有*和#的原因是为了判别这条消息的起始位。

我们还在程序中加入了以下指令“turn on/off AC(开关空调)”,“turn on/off TV(开关电视)”等。大家都可以试一试。

项目应用

声控智能家居能让我们用简单的语音指令控制不同的家用电器。该系统的适用性很强,方便残障人士使用。可以通过加入不同传感器(光线,烟雾等)来进行扩展。

0条回复

作者
用户头像
文章 0关注 0粉丝 0
发私信
相关文章
联系客服