基于语音识别的智能衣物收纳箱设计--实训报告


 

目  录

第1章 项目简介 4

1.1项目研究背景及意义 4

1.2项目研究目的 4

1.3项目主要内容 5

第2章 关键技术介绍 7

2.1 语音识别技术 7

2.2 环境监测与控制技术 7

2.3 舵机控制技术 7

2.4用户交互与显示技术 7

第3章 系统分析 9

3.1 构架概述 9

3.2 系统开发环境 9

3.3 系统任务的可行性分析 10

3.3.1 技术可行性 10

3.3.2 系统安全性分析 10

第4章 系统实现 12

4.1 主控模块电路 12

4.2 显示模块电路 14

4.3 ADC0832转换器 15

4.4 加、降温电路 16

第5章 系统实现 18

5.1 系统主流程设计 18

5.2 独立按键 19

5.3 温湿度检测模块子流程 19

5.4 舵机模块子流通 20

5.5 A/D模数转换子流程 21

5.6 LCD1602液晶显示子流程 22

第6章 结 论 24

7.1作品总结 24

7. 2注意事项 24

7. 3学习收获 24

7. 4成果物 25

7.4.1 硬件成果物 25

7.4.2 软件成果物 26

参考文献 27

第1章 项目简介

1.1项目研究背景及意义

随着生活水平的不断提高,人们对居住环境的整洁度和生活品质提出了更高的要求。衣物收纳作为日常家务中的一项重要内容,往往受到空间限制、整理时间和收纳效率等问题的困扰,尤其是在快速发展的现代社会,快速的生活节奏和繁忙的工作使得人们越来越难以抽出时间进行繁琐的衣物整理。

传统的衣物收纳箱大多依赖人工进行分类、存放和寻找,不仅效率低,而且容易出现混乱和遗忘。为了提高生活的便捷性和舒适度,智能化的衣物收纳解决方案应运而生。基于语音识别技术的智能衣物收纳箱,通过语音控制系统,使用户能够轻松地将衣物分类、存储以及寻找所需的衣物,极大地提高了收纳和使用的效率。

语音识别技术的引入,使得用户可以通过简单的语音指令实现对收纳箱的控制,如打开、关闭、寻找特定衣物等,避免了繁琐的手动操作,尤其适合繁忙的上班族和老人群体。此外,结合物联网(IoT)技术,可以实现智能化的物品管理和追踪,进一步提升了衣物收纳箱的功能性和智能性。因此,基于语音识别的智能衣物收纳箱具有广阔的市场应用前景,能够为现代家庭带来更高效、便捷的生活体验。

1.2项目研究目的

本项目旨在设计一款基于语音识别技术的智能衣物收纳箱,解决传统衣物收纳方式中存在的效率低、操作繁琐等问题。随着现代生活节奏的加快,人们对居住环境的整洁性和家务管理的便捷性提出了更高的要求。传统的衣物收纳方式不仅需要手动整理和分类,而且在寻找衣物时也常常浪费大量时间,尤其是在空间有限的环境下,如何高效利用收纳空间变得尤为重要。

因此,本研究的主要目的是通过引入语音识别技术,提升衣物收纳箱的智能化程度,使用户能够通过语音指令轻松实现衣物的存放、查询、分类等操作,从而提高收纳效率和便捷性。具体目标包括:

(1)实现语音控制:通过语音识别技术,设计用户能够用自然语言进行操作的系统,实现开关箱盖、查询衣物位置、分类整理等基本功能,避免了传统操作中的繁琐步骤,尤其适合老年人和行动不便的人群。

(2)提高收纳效率:借助智能语音指令,用户可以快速定位并获取所需衣物,避免了翻找衣物时的时间浪费和混乱,同时还能减少人为误操作的风险。

(3)优化空间利用:结合物联网(IoT)技术和智能硬件设计,提升收纳箱的空间管理能力,通过智能化的存储方案帮助用户最大化利用有限的收纳空间。

(4)增强用户体验:通过语音助手的引入,使智能衣物收纳箱不仅具备高效的功能性,还能提供更加人性化、互动式的使用体验,改善用户日常生活的便利性和舒适度。

1.3项目主要内容

本项目通过多种传感器和智能模块的结合,设计了一款智能衣物收纳箱,旨在为用户提供更便捷、更智能的衣物管理体验。具体实现的功能包括温湿度调节、自动照明、语音控制、手动设置、舵机开关控制以及实时监控显示等。以下是每个功能模块的详细描述。

(1)温湿度自动调节

智能衣物收纳箱内安装了DHT11温湿度传感器,用于实时采集箱内的温度和湿度数据。当温度低于预设的最小值时,加热片启动,加热箱内空气,直到温度达到设定的最大值,保证衣物不会因湿度过大或温度过低而受损。同时,当湿度高于设定的最大值时,系统自动启动风扇进行除湿,直到湿度降至最小值。此功能能够有效地维持收纳箱内的环境稳定,防止衣物因环境不当而发霉或变形,确保衣物在最佳的存储环境中。

(2)光照自动控制

箱内的光敏电阻感知周围环境的光照强度。当环境光照过低时(如夜间或光线不足的地方),如果用户打开收纳箱,系统会自动开启箱内照明灯,为用户提供足够的光源,以方便他们查看和存放衣物。该功能特别适合于夜间使用,提升了收纳箱的实用性与智能性。

(3)语音识别控制

集成语音识别模块,用户可以通过语音指令控制智能收纳箱的开关及其操作。例如,用户可以通过简单的语音命令,如“打开收纳箱”、“关闭收纳箱”、“放衣服”或“放袜子”来实现箱体的开关和衣物存放。同时,系统会根据用户的语音指令做出语音反馈,如“收纳箱已打开”或“衣物已放入”,提升了交互的智能感和便捷性。

(4)手动设置和控制

为了方便用户调整箱内环境参数,本设计还支持通过按键来设置温度、湿度的上下限值。用户可以通过按钮控制温湿度的设定范围,也可以手动启动或关闭收纳箱,提供了灵活的控制方式。此外,按键操作还可以用来调整其他功能,如手动打开或关闭收纳箱的门、启动或停止加热与除湿等。

(5)舵机控制开关

通过舵机模拟收纳箱的开关过程。当用户发出语音指令或按下按钮时,舵机会根据指令执行开关动作,实现收纳箱门的自动开关。舵机的动作模拟了人类手动开关门的过程,使得整个收纳过程更加自然和人性化。舵机不仅可以精确控制门的开合,还能在一定程度上保证机械部件的稳定性和持久性。

(6)显示屏实时显示

设计中还配备了显示屏,用于实时显示温湿度、光照值以及其他相关检测量。用户可以通过显示屏清晰地查看当前环境状态,如温湿度值、光照强度等,方便他们了解收纳箱的工作状态。同时,显示屏也能提示系统是否在运行加热、除湿、照明等操作,为用户提供反馈信息。


 


第2章 关键技术介绍

2.1 语音识别技术

语音识别是实现智能衣物收纳箱语音控制的核心技术。它使用户能够通过自然语言与系统进行交互,控制收纳箱的开关、灯光、温湿度调节等功能。语音识别系统通常由声学模型、语言模型和解码器组成,能够将用户的语音信号转化为机器可以理解的命令。通过引入深度学习算法(如深度神经网络,DNN)和自然语言处理(NLP)技术,语音识别的准确性得到了大幅提高。在实际应用中,系统能够准确识别如“打开收纳箱”、“关闭收纳箱”、“放衣服”这样的指令,并及时作出反应,提升了设备的智能化程度。为了优化语音识别的准确度和响应速度,设计中还需考虑噪音抑制、语音信号处理等技术,以确保系统能够在不同环境下稳定工作。

2.2 环境监测与控制技术

智能衣物收纳箱通过集成温湿度传感器和光敏电阻来实时监测箱内环境,并根据预设条件自动调节环境参数。DHT11传感器用于监测温湿度,基于此信息,系统能够启动加热片或风扇以调整温湿度。当温度低于设定的最小值时,加热片启动;当湿度超过最大值时,风扇启动进行除湿。这一技术利用了闭环控制原理(例如PID控制)来实现环境的稳定调节,确保箱内环境适宜存放衣物。光敏电阻则帮助系统感知光照强度,并在光线较暗时自动启用照明灯,以增强用户的使用体验。这一环境监测与控制技术的应用,使得智能衣物收纳箱不仅具备了自主调节环境的能力,还能够根据实际环境变化做出实时反应,从而提升了箱体的智能化水平。

2.3 舵机控制技术

舵机控制技术用于实现智能衣物收纳箱门的自动开关。舵机是一种能够精确控制角度的伺服电机,通过控制信号驱动舵机转动,实现门体的开启和关闭。在语音识别或按键操作后,舵机会根据指令完成开合操作。舵机控制系统需要具备高精度和高可靠性,确保箱门开关动作平稳且准确。此外,舵机控制还需要处理负载、转动速度和力矩等因素,确保操作过程中不会对机械结构造成损害。为了实现平滑的开关动作,系统通常使用舵机的反馈机制来进行实时调整,通过位置传感器反馈舵机的状态,确保箱门准确开闭。这一技术实现了高度的自动化和便捷性,用户无需手动操作,便可通过语音指令或按键实现对箱门的控制。

2.4用户交互与显示技术

为了提升用户体验,智能衣物收纳箱还配备了显示屏和简洁的操作界面。显示屏实时显示收纳箱内的环境数据(如温度、湿度、光照强度等),使用户能够随时了解箱体的工作状态。此外,显示屏还可以作为系统提示和状态反馈的渠道,比如在进行温湿度调节或打开照明灯时,屏幕上会显示相应的操作信息。用户交互界面除了通过显示屏进行数据展示外,还可以通过按键实现参数的手动设置,调整温湿度上限、下限值等。操作界面简洁直观,用户可以轻松地进行操作和设置。在设计时,界面应注重人机交互的友好性和直观性,保证即使是初次使用的用户也能快速上手。此外,语音反馈和屏幕提示相结合的设计,使得用户在操作时获得更直观、明确的信息反馈,提高了系统的易用性和智能性。

第3章 系统分析

3.1 构架概述

本设计以单片机为核心控制器,加上其他模块一起组成此次设计的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由五部分组成,第一部分是温湿度检测模块,通过该模块可以检测当前环境中的温湿度;第二部分是光照强度检测模块,通过该模块可以检测当前收纳箱周围的光照强度;第三部分是语音识别模块,通过该模块,用户可以控制收纳箱的开关;第四部分是按键模块,用户可以通过该模块切换界面,设置温湿度和光照强度;第四部分是供电模块,通过该模块可给整个系统进行供电。输出由两部分组成,第一部分是显示模块,通过该模块可以显示监测的数据以及设置的阈值;第二部分是继电器模块,可以根据检测的数据控制加热、除湿、照明;第三部分是声光报警模块,当监测值不在设置的阈值内时进行声光报警。除此之外,蓝牙模块既作为输入又作为输出,蓝牙模块和手机进行连接,可以将监测的数据传输到用户手机端,用户也可以通过手机端发送指令控制继电器的工作及其模式的切换。

如图3.1所示。

图3.1 系统体系结构

3.2 系统开发环境 

(1)硬件环境

主控板:通常使用树莓派(Raspberry Pi)或Arduino作为核心控制单元。树莓派适合进行语音处理和联网功能,而Arduino更适合简单的传感器和舵机控制。

语音识别模块:可选择带有麦克风阵列的模块,如ReSpeaker,用于捕捉用户语音并进行识别。

传感器与舵机:温湿度传感器(如DHT22)监控环境,舵机控制衣物收纳箱的开关。

(2)软件环境

操作系统:树莓派通常使用Raspberry Pi OS(Linux),支持多种开发工具和库。

编程语言:Python是常用的开发语言,特别适合语音识别、传感器控制等功能。Arduino开发使用C/C++语言。

语音识别库:如Google Speech-to-Text(在线)或PocketSphinx(离线)用于语音转文本。

开发平台与工具:使用Arduino IDE或PlatformIO进行硬件编程,树莓派上可使用Visual Studio Code等IDE进行开发。

3.3 系统任务的可行性分析

3.3.1 技术可行性 

基于语音识别的智能衣物收纳箱设计在技术上是可行的,现有的硬件和软件技术可以有效支持系统的实现。首先,语音识别技术已经取得了显著的进展,尤其是基于深度学习的语音识别算法,如Google Speech-to-Text、百度语音识别等,能够准确识别并转化用户语音为文本。可以利用开源的语音识别库(如PocketSphinx或Snowboy)实现离线语音处理,确保语音指令的准确执行。

在硬件方面,树莓派、Arduino等开发板广泛应用于物联网和智能设备中,能够有效控制舵机、传感器等硬件模块。语音识别模块,如ReSpeaker或麦克风阵列,能够捕捉清晰的语音信号,处理距离和环境噪声问题。舵机或电机驱动装置可实现衣物收纳箱的开关,自动化管理衣物的存取。

传感器如温湿度传感器、红外传感器可用于监控箱内环境,避免衣物受潮或损坏。这些现有技术在集成后,可以实现系统的智能化控制,确保技术可行性。

3.3.2 系统安全性分析

基于语音识别的智能衣物收纳箱系统在整体设计和实施上是可行的。首先,系统结构相对简单,由语音识别模块、主控板、执行器(如舵机、电机)和传感器组成,硬件之间通过接口进行连接,功能模块明确,便于开发和调试。

在软件方面,现有的开源开发环境(如树莓派的Raspberry Pi OS、Arduino IDE)为开发者提供了丰富的支持库和工具,系统开发过程可以借助这些现成的资源加速实现。同时,语音识别技术和传感器的应用在家庭自动化中已经有很多成功案例,证明了其可行性。

通过合理的硬件选择和系统设计,语音识别模块可以有效响应用户指令,舵机或电机能够精确控制衣物收纳箱的开关。同时,系统可以根据传感器数据调节箱内环境,确保衣物的安全存放。

第4章 系统实现

4.1 主控模块电路

本文介绍了一种新型的STC89C52单片机。该微控制器在应用时出现了一些问题,大部分人都是通过互联网来找到相应的方法。因为有很多这样的微控制器,而且它是一个开放源码的系统,开发者可以通过大量说明性的录像来宣传自己的产品。以下是对 MCU的概念及几个常见函数的说明。在 STC系统中,选用了汇编程序和 C程序两种程序设计方式。本系统采用1个串口进行通讯。快闪记忆体可储存32 kb。所以,这一次,我们选择了这一块芯片。

在单片机的设计中,重置电路分为两种,一种是上电重置,一种是键重置,电源重置就是上电之后,系统会自动重置一个程序;而按键重置,并不一定要关掉电源,一键就能解决许多在使用中存在的问题,例如程序的死机,程序的乱码等,只需按下一个按钮,就能达到最佳效果,而无需先停电再进行上电。单片机的最小系统如下图4.1所示:

图4.1 单片机最小系统原理图

附注1)VCC:电源

附注2)GND:地

(1)P0端口。P0端口为一系列8比特的漏开式双向输入输出端口,又称地址/数据总线的多通道端口。在启动8位 ttttl声频逻辑时,当在输出口写入"1"字时,即可将其用作一种高频率、低阻的声频输入/输出埠。

每当存取一套外面的一套资料界面存贮器或应用程式资料存贮器时,这个资料界面集合的总线以时间同步的方式执行许多次的数据变换,并且把一个地址(低位8比特)从一个内部的数据传送总线再传送到另一个多路,在每个存取过程中,一个内向上或向下的一个控制电阻器被同步地起动。

在 pfflash里编写的时候,P1口命令就是接受一个接口的控制字节,而在其它的应用里,如果要检查一个接口,就会把一个插件的控制字节给它;检查时,需在其前面加一个加载上压的下拉阻。

(2)p1口。p1是8比特的两路输入 I/O端口,其8比特具有内上或外上的整流电阻器,其各自的输入/输出缓冲水平被定义为(能够吸取或放出输出上拉电流)4个接口 ttl输入逻辑栅极。对于大写字母"1"的端口,由一个小的、向上的、向下的高阻值将其从大到小的高电平,这时我们就可以将其视为一个输出接口。当它是一个很小的外来输入电阻时,由于在里面肯定会产生向下的滑动

的输入阻抗,在受到外界内部阻抗的影响时,会产生较小的内部电阻(IIL)。

P1.0和 P1.1也可以被用作时间/计数器2的外计数输入(P1.0/T2)以及输入(P1.1/T2EX),这一点与AT89C51的区别在于,参见表4.1。

Flash 编程和程序校验期间,P1 接收低8 位地址。

 图4.1 P1.0和P1.1的第二功能

引脚号

功能特性

P1.0

T2,时钟输出

P1.1

T2EX(定时/计数器2)

(3)p2口。p2是8比特的2/2的 I/O端口,该端口有一个单向 I/O端口,该端口带有一个内置上/下调整的稳压器,P2的一个输出/缓冲级使得p2能够用于执行电流驱动(注,也就是直接地吸取或控制输出的外部电流)。在进行 Flash程序或检查的时候,P2还可以收到一个较高的位址以及某些控制讯号。

(4)P3端口(P3).p3端口一般是一套8比特的双向重置 I/O端口,该端口具有两个内部上下调整的稳压器。P3端口的二个输出及输入缓冲级用于(或控制吸气或控制最大电流)四个带 ttl二种逻辑的引导线路。每当把"1"写到p3口信号上,就会由一个内的上或下的稳压体来将其拉高,而且还能起到一个正向输入/输出口的作用。这时,由于从外界向上和向下拉动的电流p3端口将要求利用一个从上到下拉动的电阻器器件来确保最大的输出电流(IIL)。p3端口虽然只是一个通用的 I/O网络接口,但是它的另一个界面却是它最大的用途。p3端口还可以接收某些可以被用于直接执行闪速数据存储(例如 flash)或类似物的特征编程和其他用于应用的特征检验的界面。

(5)复位RST。在振荡器工作过程中, RST管脚在超过2个机械循环的情况下,会引起 MCU的重置。

(6)EA/VPP您可以通过获取一个外部的资料源来进行直接的存取。为了确保该 acpuea仅能对该外部应用的地址内存进行直接存取(该地址控制区的范围可被设定为0000 h- ffffh),该 EA界面端子与 ea端子之间的高电平(地线)就必需维持在该高电平(地)。有一种可能值得特殊关注,那就是:当一台计算机在密码装置的中央位置被程序化时,当计算机重置时,该计算机将会自动锁定该比特ea1以及终端上的状态。比如,当 CPU的 EA端是高电平(两个端子都与 Vvcc端子相连)时, CPU就会在内存中和内存中同时运行一个写命令。在 Flash记忆体程序中,这个插针与+12伏的程序一起,可以提供一个 Vpp,但前提是这个装置要工作在12伏的程序电压下。

(7)XTAL1。振荡器反相放大器及内部时钟发生器的输入端。

(8)XTAL2。振荡器反相放大器的输出端。

4.2 显示模块电路

LCD1602是一种常用的文字类型的 LCD显示器,主要应用于我们日常使用的手提计算机、移动电话等等。因为一个点矩阵是6x8或者8x8,所以必须在 RAM区中寻找8个与显示器上特定数目的字节相对应的8个字节,我们要达到的数字,就是要用“1”来表示,把其它无用的字节用“0”来表示,这样“1”位点亮,“0”则不发光。这样,一个特殊的识别就产生了。

LCD1602的原理图如图4.2所示。在连接方面,第1脚GND连接地电源,第2脚VCC连接+5V正电源,15和16脚用于控制背光。数据传输方面,使用8位双向数据线D0至D7连接到P0口。对比度调节通过第3脚的偏压管脚实现,使用3.3K电阻进行调整。

控制信号线方面,第4脚RS寄存器用于选择数据寄存器或指令寄存器,由P2.5控制;第5脚RW表示读写操作,由P2.6控制;第6脚E用于使能端,高电平时进行读取信息,下降沿触发执行指令,由单片机的P2.7口控制。

总的来说,LCD1602显示模块通过连接数据线和控制信号线,与单片机进行通讯,实现对系统运行状态的显示和用户交互功能。

图4.2 显示模块原理图

1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表4.2所示:

 图4.2 LCD1602引脚说明图

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

数据

3

VL

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

E

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

4.3 ADC0832转换器

ADC0832是一款8比特精度模数变换器,其分辨率达到256个量级,能够满足普通模数变换的需要。该电路具有多路的内置功率和基准电压,可实现从0到5 V的输入。该系统的运算时间只有32µ S,采用了两个数字的输出来进行数据检验,从而降低了系统的错误率,并且变换的速率和稳定性都很好。采用了独立的功能模块,实现了多个设备的挂接以及多个处理器的操作。使用直接注入技术,可以方便地进行信道函数的选取。

通常ADC0832和 MCU之间的连接应该是四根数据线路,分别为 CS, CLK, DO; DI。但是, DO和 DI之间的通讯不是同步的,而是两个方向的,因此在设计过程中,可以把 DO和 DI并联到一条数据线上。ADC0832在不工作状态下,其 CS的输入应该是高电平,这时该芯片被关闭,时钟、 DO、 DI可以自由选择。在 A/D变换过程中,首先要把 CS启动端口调至低电平,直到切换完成为止。在这一点上,当处理器将时钟脉冲输入到芯片的时钟输入端子 CLK, DO/DI端子利用 DI端子将信道函数选定的数据信号输入到 DI端子。在第一个时钟脉冲下降以前, DI终端一定是一个高电平,指示开始。在第二次和第三次脉冲落锤前,要在 DI终端中输入2个比特的信号,以实现信道的选择。

如果这2个比特的资料是“1”,“0”,则只有CH0的一个信道才能被变换。2比特的“1”和“1”的情况下,仅有CH1的一个信道的变换。2比特的数据是“0”,“0”的情况下,把正向的输入端子CH0和负向的输入端子IN-分别设CH0和CH1。2比特的数据是“0”,“1”的情况下,把CH0当作负端IN-,把CH1当作正向量的 IN+来输入。在第三个脉冲下降以后, DI端子的输入电平丧失了其输入功能,然后 DO/DI端子就使用该数据输出线来读出被变换的数据。从第四个脉冲下降起,从 DO端子上输出变换数据的高位DATA7,接着每个脉冲下降 DO端子都将下一个比特的数据输出。变换数据的最低比特DATA0在11个脉冲之前被发送,并结束一个字节的数据。也就是从这个比特起,下一个反向字节的数据被输出,也就是来自第十一字节的 download的DATA0。接着,8比特信号被输出,在第十九个脉冲时,该信号被成功地输出,从而实现了一个 A/D变换。最终将 CS设置为高电平,并将变换后的数据直接用于对其进行处理。

ADC0832在一个单一信道的模拟信号的情况下,其输入的电压从0到5 V,在8比特的分辨率下,其测量的电压准确度是19.53 mV。若将该电压用作 IN+及IN-的输入,则可以将该电压的数值设置在某个更大的范围内,以改善变换的宽度。但是需要指出的是,当输入 IN+和IN-时,若IN-的电压比 IN+的电压高,那么被变换的数据的结果总是00 H。如图4.3所示。

图4.3 AD电路原理图

4.4 加、降温电路

加热电路的基本功能是在较低的时候,对 PCB板进行加热和保温,使得它的温度能够维持在设备能够工作的最低温度之上,因此不需要对温度进行准确的控制。所以制订了下面的计划,利用 NTC温度敏感的电阻器来分割一个 MOS管或者三极管。在降低至某一临界点时,该电阻随 NTC电阻分压增加而开启加热回路,待气温上升,则分压降低;降低电路闭合。

降温电路是一种用于控制温度的电子设备,通常应用于各种需要保持恒定温度或降低温度的场合。其工作原理基于热传导和热散热原理。降温电路通常包括温度传感器、控制电路和执行器等组件。温度传感器用于检测环境或设备的温度变化,将温度信号转换为电信号输入控制电路。控制电路根据接收到的温度信号,通过比较器等元件控制执行器(如风扇、制冷片等)的工作状态,以调节环境温度或设备温度。当温度超过设定阈值时,执行器将启动并产生相应的冷却效果,使环境或设备温度保持在合适的范围内。

三极管与MOS管选择常用的SOT-23封装,比较目前常用的三极管与MOS管,在同封装下,MOS管支持的导通电流普遍比三极管大很多,所以我们选择MOS管。通过对比,最终选择LRC的LN2302BLT1G型号,NTC电阻选择一般常用的NCP15WF104F03RC。根据加热电路的功率,选择使用1210封装的10欧姆电阻做为发热器件,总功率控制为2.5W。

最终完成原理图设计如图5-4所示。

 

            

图4.4 加、降温电路原理图

第5章 系统实现

5.1 系统主流程设计

系统的主流程图如图5.1所示。在主程序中:首先对各个模块进行初始化,随后进入while主循环,在主循环中,首先进入第一个函数按键函数,该函数主要分为两部分,第一部分为调用按键扫描函数获取按键键值,第二部分通过键值进行相应的处理操作,包括切换界面、设置阈值、开关收纳箱等;紧接着进入第二个函数监测函数,该函数主要通过调用相应的驱动函数获取测量值;紧接着进入第三个函数显示函数,该函数显示监测值及阈值;最后进入第四个函数处理函数,温度低于最小值且数据正常,开启加热,温度高于最大值,停止加热,湿度定高于最大值,开启除湿,湿度定低于最小值,关闭除湿,如果打开收纳箱,光照度低于最小值,开启照明,如果关闭收纳箱,关闭照明。

图5.1 程序总体流程图

5.2 独立按键

首先,定义按键引脚,进行初始化引脚状态。接下来判断模式标志位是否为1,如果为1,则为支持连续按模式,将按键状态标志位置1。然后判断按键状态标志位是否为1并且按键引脚为低电平,如果两个条件同时满足,则延时10ms进行消抖,将按键状态标志位置0。再次判断按键引脚是否为低电平,如果为低电平,则按键按下,返回相对应的按键键值。如果按键状态标志位不为1或者按键引脚不为低电平,则判断按键引脚是否为高电平,如果为高电平,则按键抬起,将按键状态标志位置1,然后返回0。如果按键引脚不为高电平,则按键没有抬起,则直接返回0,独立按键程序子流程如图5.2所示。

图5.2 独立按键子流程图

5.3 温湿度检测模块子流程

首先初始化引脚,然后发送一次开始信号,等待DHT11响应,DHT11响应后,读取40bit数据,延时一段时候作为结束信号。获取到40bit数据后,解析数据并校验,最终得到温湿度值,温湿度检测程序子流程如图5.3所示。

图5.3 温湿度检测函数子流程图

5.4 舵机模块子流通

首先初始化引脚,然后初始化定时器,在定时器中断函数中定义一个周期,调节周期内高电平的占空比,从而调整角度,舵机程序子流程如图5.4所示。

图5.4 舵机子流程图

5.5 A/D模数转换子流程

首先初始化引脚,然后CS拉低使能ADC,接着DI拉高开始转换,先配置通道,如果是通道0,则通道选择第一位和第二位分别置1和0;如果是通道1,则通道选择第一位和第二位分别置1和1。配置好通道后,开始读取前8位数据,然后读取后8位数据,数据读取完后CS拉高释放ADC。最后判断前8位数据是否等于后8位数据,如果相等,则返回数据,如果不等,则返回0,A/D数模转换程序子流程如图5.5所示。

图5.5 A/D数模转换子流程图

5.6 LCD1602液晶显示子流程

如图5.6所示为LCD1602显示流程,第一步,初始化设置,首先设置工作方式,设置成8位数据总线、两行显示模式、字体标志为5×8点阵+游标显示模式;其次,设置显示开/关控制,设置成开显示、不显示光标、光标不闪烁;接下来设置进入模式,设置成游标右移,显示不发生移位元;最后,进行清屏。第二步,检测LCD1602显示屏是否处于忙状态,设置RS=0,RW=0,E=1,利用do,while循环检测busy引脚电平,如果busy引脚是高电平,则代表此时LCD1602显示屏处于忙状态,不能接收单片机传来的指令,直到busy引脚为低电平。第三步,设置显示位置,设置RS=0,RW=0,E=1,数据口=需要显示的坐标。第四步,传入显示数据,设置RS=1,RW=0,E=1,数据口=需要显示的数据,显示函数子流程如图5.6所示。

图5.6 LCD1602显示流程图

6章 结 论

7.1作品总结

本项目基于语音识别技术设计了一个智能衣物收纳箱,目的是通过语音命令实现衣物的自动收纳和存取,提升用户的生活便捷性和智能家居体验。系统主要由语音识别模块、控制单元、执行装置(如舵机或电机)、环境传感器(如温湿度传感器)和电源组成。通过集成语音识别技术,用户只需通过简单的语音指令即可控制衣物收纳箱的开合,并且通过环境传感器实时监控箱内的温湿度,确保衣物的储存环境适宜。

在开发过程中,采用了树莓派作为主控单元,结合Python编程语言进行开发,使用Google的语音识别API或离线语音识别库实现语音输入转化为控制指令。同时,系统通过舵机或电机控制收纳箱的开关,确保衣物能够被精准存取。

最终,经过测试,系统能够准确识别用户指令,自动化控制衣物收纳箱,并且环境监控功能确保了箱内衣物的良好存储条件。该项目为智能家居领域提供了一个实用的解决方案,并具有良好的推广潜力。

7. 2注意事项

在进行基于语音识别的智能衣物收纳箱设计时,以下几个方面需要特别注意:

语音识别的准确性:语音识别系统的准确性受到环境噪声、语音清晰度等因素的影响。在实际应用中,可能会遇到误识别的情况。因此,系统设计时要考虑使用高质量的麦克风和噪声抑制技术,确保语音输入的清晰度。

硬件选择与兼容性:选择适合的开发平台(如树莓派或Arduino)非常重要,确保硬件模块之间的兼容性和稳定性。对于舵机、传感器和语音识别模块,必须仔细调试和测试它们的工作状态,以免在实际应用中发生故障。

电源管理:系统中包含多个硬件组件,如树莓派、传感器和电机等,需要合理规划电源管理,防止因电力不足或过载导致系统故障。

安全性与隐私保护:语音识别系统会收集用户的语音信息,因此需要考虑数据的安全性,确保个人隐私不被泄露。如果使用在线语音识别API,必须保证数据传输的加密和隐私保护措施到位。

环境适应性:衣物收纳箱的应用场景可能会受到环境条件的影响,诸如温湿度变化、灰尘等因素。因此,传感器选择和箱体设计需要考虑到这些外部环境的变化,确保系统长期稳定运行。

7. 3学习收获

语音识别技术的应用:在项目中,我深入了解并实际使用了语音识别技术,学会了如何将语音输入转化为机器指令,探索了在线与离线语音识别的优缺点,并学习了如何利用开源库和API提高语音识别的准确性和效率。

硬件与软件的集成:通过搭建基于树莓派和Arduino的硬件平台,我学习了如何将传感器、执行器与控制单元进行有效集成,解决了硬件接口、通信和控制上的技术难题。此外,我还掌握了如何通过Python和C/C++编程语言进行硬件编程和系统调试。

智能家居系统的设计思路:本项目使我更加深入地理解了智能家居系统的设计理念,如何通过智能设备提高家居生活的便捷性和舒适性。同时,我也认识到,系统的用户体验设计非常关键,语音交互方式需要便捷且准确,以确保用户能轻松控制系统。

问题解决与调试能力:在项目的开发过程中,遇到了诸如语音识别误差、传感器信号干扰等问题,解决这些问题的过程中提高了我的故障诊断与调试能力,也让我学会了如何灵活调整设计方案,优化系统性能。

团队合作与沟通技巧:虽然本项目是个人开发,但在过程中,我也与同学或专家进行了讨论和交流,从中学到了如何与他人合作解决技术难题,如何清晰地表达自己的设计思路与解决方案。

7. 4成果物

7.4.1 硬件成果物

7.4.2 软件成果物

参考文献

[1] 葛海江. 基于HX711的高精度电子称重研究[J]. 电子测试, 2019, 000(010):31-32.

[2] 魏芳坤, 张立勇, 郁伉,等. 小颗粒果品电子称量系统的数据降噪处理研究[J]. 自动化应用, 2022(002):000.

[3] 明鑫. 基于AD623及串口屏的智能电子称方案[J]. 自动化应用, 2021(5):3.

[4] 张瑞国, 申燕飞, 曾兴兴,等. 基于红外测距传感器的铁路货车车载电子称重方法[J]. 内燃机与配件, 2020(7):4.

[5] 郭红琳. MCS-51单片机下的数字电子称设计分析[J]. 数码世界, 2020.

[6] 邓健, 王立华. 基于MicroPython和CC3200的智能家居数据采集与控制系统设计[J]. 电子器件, 2020, 43(1):5.

[7] 芮海燕, 高长春, 章瑞,等. 智能家居创意空间系统知识协同行为的博弈分析[J]. 运筹与管理, 2022, 31(3):86-92.

[8] 闫坤, 沈苏彬. 一种基于智能家居的用户行为预测方法[J]. 计算机技术与发展, 2020, 30(1):6.

[9] 樊静静. 《物联网智能家居安全技术要求》第二次工作会议召开[J].  2022(20).

[10] 田园, 田敖硕. 基于STM32的智能家居报警系统设计[J]. 工业控制计算机, 2021, 034(010):128-129.

[11] 刘卓, 齐若璇. "新老年人"智能家居APP的用户体验设计研究[J]. 艺术与设计:学术版, 2022(002):000.

[12] 林树森. 基于STM32单片机的智能家居物联网平台设计[J]. 电子测试, 2020, 000(007):70-72.

[13] 路世鹏. 欧仕智能家居股份有限公司:捐赠物资 助力疫情防控工作[J]. 公关世界, 2020(9):2.

[14] 崔迪. CsPbBr_3钙钛矿材料的CVD生长方法及光探测器的研制[D]. 中国科学院大学(中国科学院长春光学精密机械与物理研究所), 2020.

[15] 陆兴华, 翟倩. 基于扩频技术的智能家居控制指令网络传输优化[J]. 国外电子测量技术, 2020(2):5.

猜你喜欢

转载自blog.csdn.net/m0_64192735/article/details/143504774