当前位置:首页 > 物联网 > IoT设计分享
[导读]智能家居因其便利性和节能性而受到欢迎。一个正在实施的项目使用语音命令无线控制家用电器和灯光。Android应用程序执行语音到文本的转换,蓝牙与微控制器通信以执行命令。这消除了与设备进行物理交互的需要。智能家居可以通过自动化任务和跟踪能源使用情况来节省能源并减少碳足迹。家庭中的智能技术是一种使日常工作更容易的有效方式。智能家居设备还可以跟踪能源使用情况,并提供提高效率的见解。

智能家居因其便利性和节能性而受到欢迎。一个正在实施的项目使用语音命令无线控制家用电器和灯光。Android应用程序执行语音到文本的转换,蓝牙与微控制器通信以执行命令。这消除了与设备进行物理交互的需要。智能家居可以通过自动化任务和跟踪能源使用情况来节省能源并减少碳足迹。家庭中的智能技术是一种使日常工作更容易的有效方式。智能家居设备还可以跟踪能源使用情况,并提供提高效率的见解。

在此之前,我们已经建立了一些物联网家庭自动化项目,以下是一些示例:

•基于物联网的人孔监控系统

•用Android Studio创建一个Android应用程序,使用NodeMCU通过WiFi控制LED

•家庭自动化与Node-RED和树莓派:控制灯和读取DHT11数据

组件的要求

Arduino UNO

•HC-05蓝牙模块

•2路继电器模块(5v)

•2人

•2个灯泡

•带2针公插座的220v电线

•太阳板

•跳线

•螺母和螺栓

•还有智能手机

蓝牙模块HC-05

它是电子工程中广泛使用的无线通信模块。它使用串行UART通信进行数据传输。

模块可以在两种模式下工作:

1.主模式:可以与所有从机共享数据。

2.从模式:从主蓝牙接收数据。

在这里,我们的蓝牙模块是一个奴隶,而智能手机是一个主人。

hc05引脚

它由6个引脚组成,分别是STATE, RXD, TXD, GND, VCC和EN,如模块背面所述。

•STATE引脚:该引脚定义模块的状态,无论它是否与另一个设备配对。

•RxD引脚:该引脚使用串行UART通信。当模块处于命令模式时,该引脚用于发送AT命令。

•TxD引脚:该引脚使用串行UART通信。该引脚用于在模块处于命令模式时推出对AT命令的响应。

•Vcc引脚:该引脚用于为模块供电,使其工作。它通常连接到Arduino板上的5V引脚。其电压范围在3.6v到5v之间。

•GND引脚:该引脚用于将模块连接到Arduino板的接地。

•EN引脚:该引脚用于命令模式和数据模式之间的切换。如果此引脚设置为HIGH,则模块将处于命令模式。同样,如果该引脚设置为LOW,则模块将处于数据模式。

继电器

它是一种开关机电装置,可以切换高安培的交流-直流电源。

继电器引出线

该模块通常有四个引脚:

•Vcc引脚:用于上电继电器模块。它通常连接到5v。

•GND引脚:用于为继电器模块提供接地。

•IN1:用于控制模块内第一个继电器的输出。

•IN2:用于控制模块内第二继电器的输出。

此外,在每个继电器的高压端子侧还有三个引脚。它们是NC(常闭),COM(普通)和NO(常开)。

线路图

联系很简单,让我们开始吧。

蓝牙HC-05:为了建立Arduino与蓝牙HC-05模块之间的通信,Arduino的引脚3(代码中定义的Tx)连接到蓝牙模块的接收引脚(RxD)上,引脚2 (Rx)连接到发送引脚(TxD)上。蓝牙模块通过将其Vcc和GND引脚连接到Arduino各自的电源和接地引脚来供电。

继电器模块:Arduino引脚5连接到继电器模块的IN1,而引脚6连接到IN2。这些输入引脚是低电平,这意味着逻辑低电平激活继电器,逻辑高电平使继电器失活。

继电器模块有两个指示继电器状态的led。当继电器被激活时,相应的LED亮起。继电器模块通过将其Vcc和GND引脚连接到Arduino各自的电源和接地引脚来供电。

在继电器模块的高压侧,两个继电器的COM口都连接到交流电源上。每个继电器的NO端子分别连接到每个单独的灯泡上,中性线直接连接到两个灯泡上,如图所示。

设置语音命令Android应用程序

要使用该项目,首先需要从Playstore安装一个名为Arduino Bluetooth的应用程序。

•下载并安装应用程序。

•允许使用麦克风并启用蓝牙。

•启动您的项目并将您的设备与HC-05配对。

•在应用程序中切换到语音模式。

•点击麦克风图标开始发出语音命令。

•根据您的代码说出正确的命令。

•享受用语音提示控制你的设备。

Arduino代码说明

该程序通过串行通信读取蓝牙模块数据,并将其与定义的条件进行比较。如果任何条件为真,则该任务将执行。如果不满足任何条件,它将不做任何事情。

首先,我们必须包含成功执行代码所需的所有库。库只包括SoftwareSerial。此外,我们还定义了进一步编程所需的变量和对象。

•我们使用软件串行库定义到Arduino的Rx和Tx串行通信引脚。除此之外,我们可以直接使用Arduino引脚(0,1)用于Rx和Tx,但每当我们上传新代码时,它就会创建一个删除连接的喧嚣。

•这里我们将pin2定义为Rx, pin3定义为Tx,请记住蓝牙的RxD连接到Arduino的Tx,而TxD连接到Arduino的Rx。

在setup()函数中,启动串行通信。

蓝牙模块只能以9600的波特率进行通信。因此,我们初始化BT模块。

•同样,我们定义了所有的Pinmodes。

在上面的循环部分,我们已经完成了所有的处理任务,如读取串行端口、比较文本和执行任务。

•串行端口上的可用数据被读取并存储在字符串变量“data”中。此外,将存储的数据与我们使用IF-Else条件实现的不同条件进行比较。

•您可以根据自己的喜好更改比较文本。此外,您还可以通过智能手机通过语音命令发送串行监视器,查看接收到的数据。

这都是关于代码的,只要上传代码。注意Rx和Tx引脚,不要忘记在串行监视器上将波特率设置为9600。

完整的代码将在下面的代码部分中找到。

项目运作

•使用上传的代码启动项目。

•打开应用程序并配对您的BT模块。

•开始发送代码中使用的语音命令来控制设备。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭