家庭自动化的概念越来越受欢迎,因为它有助于减少人类的努力和错误,从而提高效率。在家庭自动化系统的帮助下,我们可以控制不同的电器,如灯,风扇,电视,空调等。此外,家庭自动化系统还可以提供其他功能,如安全、报警、应急系统等可以集成。
有许多类型的家庭自动化系统,如蓝牙控制,互联网控制,射频控制,远程控制(IR远程)等。每种类型都有其优缺点。在这个项目中,我们设计了一个声控家庭自动化系统,通过发送语音指令来控制不同的家电。
声控家庭自动化项目是通过Arduino UNO、蓝牙和智能手机实现的。进一步的部分将解释电路图,所需的组件和工作的项目。
线路图
组件的要求
- Arduino UNO - 1
- 蓝牙模块HC - 05
- 智能手机或平板电脑- 1
- NPN晶体管- 4
- 12V继电器- 4
- 1 KΩ电阻- 4
- PN结二极管
- 电力供应
- 连接电线
- 案板(原型)
- 蓝牙传输语音的应用程序
组件描述
蓝牙HC - 05:在无线通信方面,我们采用了蓝牙技术,使用的模块是HC - 05。该模块可以接口使用UART协议具有广泛的可编程波特率范围,但默认波特率为9600bps。HC - 05蓝牙模块可以配置为主从模式,而另一个模块HC - 06只能工作在从模式。
下图是本项目中使用的HC - 05蓝牙模块。在这个模块中,有VCC (5V), GND, TX和RX的引脚。
BT语音控制Arduino:这个应用程序是由SimpleLabsIN为基于语音的Arduino项目开发的。这款安卓应用程序将使用手机的语音识别功能,将语音命令转换为文本,并通过蓝牙传输字符串。
该应用程序可以从这里下载BT语音控制Arduino
如果你熟悉其他类似的应用程序,你总是可以使用它。
中继板(4通道):继电器用于将小电流晶体管电路连接到大电流交流电路。在这个项目中,我们使用了一个预建的4通道中继板。
请注意:使用交流电源中继板时要小心。
电路设计
现在我们将看到声控家庭自动化电路的设计。首先,我们将蓝牙模块连接到Arduino。由于蓝牙使用UART协议,我们需要使用Arduino的RX和TX引脚。我们将使用" SoftwareSerial "库来定义我们自己的RX和TX引脚(引脚2是RX,引脚3是TX)。
注意:我们省略了蓝牙的RX和Arduino的TX连接,因为它没有被使用。如果你面临一个问题,连接电压分压器转换Arduino TX的5V信号到蓝牙RX的3.3V。
接下来,我们将把继电器连接到Arduino上。因为我们使用的是一个有4通道的现成中继板,我们所需要做的就是将每个中继的输入连接到Arduino。电阻器、晶体管、二极管、继电器等详细连接请参见电路图。
注意:我们没有连接任何负载到继电器,但你总是可以连接一些小负载,并检查功能。在使用带中继板的交流电源时要格外小心。
所有必要的连接都在电路图中说明了。
项目的运作情况
本课题设计了一个简单的声控家庭自动化系统。语音命令用于控制不同的设备。现在我们将看到项目的工作情况。所有的连接都按照上面的电路图进行。
在完成必要的连接后,我们必须接通电路的电源。现在,我们需要配对手机的蓝牙到HC - 05蓝牙模块。在此之前,我们需要在手机里安装上面提到的App。应用程序的主屏幕看起来像这样。
下一步是将手机与蓝牙模块连接。为此,选择“连接机器人”选项,并选择合适的蓝牙设备。如果设备之前没有配对,我们现在需要使用HC - 05蓝牙模块的引脚配对它们。
连接成功后,设备就可以进行数据传输。为此,请按下应用程序上的按下麦克风图标,并开始发出语音命令。
请注意:确保手机已启用语音识别功能(这通常与谷歌应用程序相关联)。
例如,如果我们按下麦克风图标并说“开灯”,应用程序将识别该命令并将其传输到蓝牙模块。此外,命令会显示在屏幕上供我们参考。
当字符串“turn on light”被应用检测到时,它将以“*turn on light#”的形式发送该字符串。因此,蓝牙模块实际接收到的消息格式为“* message #”。在字符串的起始和末尾填充' * '和' # '的原因是为了标识消息的开始和结束。
我们可以从字符串中删除' # ',但省略' * ',以标识字符串的开头。接收到的消息将与一些预定义的字符串进行比较,如果消息与其中任何一个字符串匹配,则执行相应的操作,如打开或关闭加载。
我们已经使用了以下命令:“打开空调”,“关闭空调”,“打开灯”,“关闭灯”,“打开电视”,“关闭电视”,“打开风扇”,“关闭风扇”,“打开所有”和“关闭所有”。
代码
应用程序
- 声控家庭自动化系统将帮助我们用简单的语音命令控制不同的负载(电器)。
- 这种系统对残疾人非常有用。
- 此外,该项目还可以通过添加不同的传感器(光、烟雾等)进行扩展。
37的反应
非常感谢
arduino的编程文件在哪里??
提及有助于学生进一步发展的缺点
都不能提好注意你的话。
你好,
我想问一下如何配对蓝牙模块。
嗨,看看这个视频。https://www.youtube.com/watch?v=dHwInrh5niU如果你是第一次配对蓝牙模块,你可能需要在手机上输入蓝牙模块的PIN码。通常印在模块(1234或0000)上。
请发送一个精确的电路连接,以便于识别。
你好. .
我想知道,如果这个项目真的开关灯电视或风扇在家里或它只是一个演示..
你好,
如果你把负载连接到继电器上,那么是的,负载将被打开和关闭。
如何购买这个电路?
你好,我做了这个项目,只有一个引脚11,我使用了一个HC-06而不是一个5模块。我修改了你的代码,并能够让应用程序与我的UNO一起工作。唯一的问题是我无法让我的LED闪烁。你能告诉我我的代码有什么问题吗?
# include
const int rxPin = 0;
txPin = 1;
SoftwareSerial mySerial (rxPin txPin);
Int light = 11;
字符串数据;
无效的设置()
{
Serial.begin (9600);
mySerial.begin (9600);
pinMode(光、输出);
digitalWrite(光、低);
}
无效循环()
{
int i = 0;
char ch = 0;
数据= " ";
而(1)
{
而(mySerial.available () < = 0);
ch = mySerial.read ();
如果(ch = = ' # ')
打破;
数据+ = ch;
}
以(数据);
如果(数据= =“*打开光”)
{
digitalWrite(光、高);
系列。println(“光”);
}
Else if(data=="*关灯")
{
digitalWrite(光、低);
系列。println(“灯”);
}
}
把arduino和12v连接起来是个好主意吗?
Vin,检查那个别针
你能给我一个精确的电路连接吗
请说明如何编译代码
软件代码在其中被编译
Arduino IDE。
是ARDUINO 1.8.5吗
最新版本的Arduino IDE会更好。
ardunio最新的软件是什么
请说明使用的是哪种类型的ardunio uno…
请给出应用程序链接
先生
我们可以用24v继电器吗
准确的电路图将帮助我们,请提及它的来源..!
为什么空调和电视不能用?
只有光和扇的工作。
我使用光耦继电器高/低电平触发。
是因为继电器吗?
# include
const int rxPin = 2;
const int txPin = 3;
SoftwareSerial mySerial (rxPin txPin);
字符串的声音;
int
led1 = 5, //连接LED 1到引脚#5
led2 = 6, //连接LED 2到引脚#6
led3 = 7;//连接LED 3到引脚#7
//————————– 调用一个函数 ——————————-//
空白allon () {
digitalWrite (led1、高);
digitalWrite (led2、高);
digitalWrite (led3、高);
}
空白alloff () {
digitalWrite (led1、低);
digitalWrite (led2、低);
digitalWrite (led3、低);
}
//———————————————————————–//
无效的设置(){
Serial.begin (9600);
pinMode (led1、输出);
pinMode (led2、输出);
pinMode (led3、输出);
}
//———————————————————————–//
无效循环(){
while (Serial.available()){//检查是否有可用的字节可以读取
延迟(10);//添加延迟使事情稳定
char c = Serial.read();//执行串行读取
if (c == ' # ') {break;} //在单词后面检测到#时退出循环
声音+ = c;// voice的简写= voice + c
}
If (voice.length() > 0) {
以(声音);
//———————————————————————–//
//——控制多个引脚/ led——//
If (voice == " *开关"){allon();以(声音);} //关闭所有引脚(调用函数)
Else if(voice == " *关闭"){alloff();以(声音);} //打开所有引脚(调用函数)
/ /——一个一个打开——/ /
else if(voice == " *TV on ") {digitalWrite(led1, HIGH);}
else if(voice == " *fan on ") {digitalWrite(led2, HIGH);}
else if(voice == " *计算机上"){digitalWrite(led3, HIGH);}
/ /——一个一个关掉——/ /
else if(voice == " *TV off ") {digitalWrite(led1, LOW);}
else if(voice == " *风扇关闭"){digitalWrite(led2, LOW);}
else if(voice == " *计算机关闭"){digitalWrite(led3, LOW);}
//———————————————————————–//
}} //初始化后重置变量
这是我正在使用的代码。我用led代替了继电器,所以修改了代码
请仔细检查并告诉我哪里做错了。
请告诉我为什么当我给它任何命令,如“打开灯”,它被应用程序识别,并显示打开灯在屏幕底部,但什么都没有发生,没有灯打开,似乎继电器没有接收到命令。
请告诉故障原因。
同样的问题。请任何人帮助纠正这个问题。
需要帮助在购买声控家庭自动化和安装我的房子..成本是多少
这只是一个原型。只是为了理解这个项目的概念。
先生,请告诉我蓝牙的哪个Rx引脚和Ardino的Tx引脚没有连接。它是如何接收命令的?
此应用程序未连接蓝牙HC-05
谢谢你的帮助,这对我很有用。我再次感谢
我能把小版本的风扇和灯连接起来,让它看起来像一个房子吗?它还能工作吗?
如果可以,我该怎么做?我基本上想要小灯泡和排气风扇连接到上面的电路安装到一个房子,将使它看起来真的很酷。
嘿,在上传显示无效的库时,我得到一个错误
嗨,兄弟。你能画出这个项目的电路吗?
这段代码是真的还是垃圾。我没有做这个电路,但这能行吗。请问如何下载这个代码。
什么是串行软件,我怎么安装