目录
第1章 引言 7
1.1 选题的背景及意义 7
1.2 智能家居技术的发展历程 8
1.2.1 国内智能家居技术发展情况 9
1.2.2 国外智能家居技术的发展情况 9
1.3 本课题研究目标及主要研究内容 9
1.3.1 研究目标 9
1.3.2 研究内容和方法 10
1.3.3 主要考核要求或指标 10
第2章 单片机及相关器件介绍 11
2.1 主控芯片简介 11
2.2 主要器件介绍——LD3320 11
2.2.1 功能介绍 12
2.2.2 电路说明 13
2.3 DC3V-6V直流减速电机 14
2.4 电机驱动模块 15
2.5 继电器模块 15
2.5.1 继电器介绍 15
2.5.2 电磁继电器工作原理 16
2.5.3 继电器模块电路 17
第3章 系统软件设计 18
3.1 MDK5简介 18
3.2 FlyMcu代码烧写工具 19
3.3 source insight 介绍 19
3.4 程序流程图 21
3.5 软件功能代码 22
3.5.1 主程序部分 22
3.5.2 STM32的IO输出部分 22
3.5.3 语音控制部分 23
3.5.4 外部按键控制 24
第4章 系统硬件设计 25
4.1 元器件清单 25
4.2 电路原理图简介 26
4.3硬件实物成果图 27
第5章 系统调试与系统效果展示 28
5.1 系统软硬件调试 28
5.1.1硬件检查 28
5.1.2 硬件功能检查 28
5.2 软件功能模块的调试 28
5.3 智能家居语音控制系统效果展示 29
5.3.1 房间灯控制 29
5.3.2 大厅灯控制 30
5.3.3 取暖器控制 30
5.3.3 窗帘开关控制 31
5.4 智能家居语音控制系统不足与展望 31
第7章 参考文献 34
程序 36
第5章 系统调试与系统效果展示
5.1 系统软硬件调试
完成了软件的编程和硬件的搭建之后,下一步的主要工作就是对软硬件系统进行整体的调试工作了。调试工作对于整个设计来说必不可少,以防止硬件连接错误造成的元器件损坏,同时也能够有效避免设计的不合理带来的安全问题。系统软硬件调试主要包含两个主要内容,一个是对硬件部分的检查和调试。另外一个则是对软件系统进行检查和调试。如果软件和硬件都没有问题,接下来则是对软硬件系统进行整体调试。
5.1.1硬件检查
硬件检查主要包含以下三个方面的检查:
1.检查硬件焊接是不是有虚焊。
2.对照电路图检查是不是有焊接错误。
3.线路连接是不是有问题。
5.1.2 硬件功能检查
硬件功能检查则是根据编写的语言要求,通电之后检查是不是能按照程序运行。该过程可以设置简单的LED显示来判断硬件电路连接有无故障。

5.2 软件功能模块的调试
软件功能调试则是对软件部分的程序进行详细检查,其中包含函数初始化部分,包括按键的初始化定义,LED用到的GPIO口定义,以及定时器和外部中断的初始化定义等。一旦出现了Bug或者程序没有按照指定想法运行,该部分出现错误的可能性较大,因此,初始化部分也是软件检查的第一步。本文转载自http://www.biyezuopin.vip/onews.asp?id=14488接下来则对主函数中的功能程序部分进行详细检查,因为程序可能出现跑飞或者卡死的情况,或者出现同一个IO口重复定义或者使用,导致排插困难的情况。因此,需要对用到的每一个模块进行软件功能模块的调试,从而确保所用到的每一个功能模块都能够正常工作,最后才能进行整体软硬件的调试。
5.3 智能家居语音控制系统效果展示
在完成智能家居语音控制系统的软硬件调试之后,发现了一系列问题,解决各种问题之后,接下来就到了系统效果展示的环节。由于调试工程中将问题都一一解决了,因此,软硬件联合测试比较顺利。下图21是系统通电之后的效果图。该系统中通过充电宝给取暖器进行加热,为了保证实验过程中的安全性,图中采用加热片来代替取暖器。通过STM32的IO口来控制继电器的通断从而来控制取暖器的加热与否,也能够实现效果。

/***************************飞音云电子****************************
**  文件名称:LDV4语音识别开发板 基础版驱动程序
**  CPU: STM32f103RCT6
**  晶振:8MHZ
**  波特率:9600 bit/S
**  配套产品信息:YS-LDV4语音识别开发板
**  说明:本程序 具备语音识别、串口通信、开发板基本功能演示。
***************************飞音云电子******************************//*************端口信息********************* 接线说明LD3320接口       STM32接口* RST              PB6* CS             PB8* WR/SPIS          PB9* P2/SDCK          PB3* P1/SDO           PB4* P0/SDI           PB5* IRQ              PC1* A0               PB7* RD               PA0--------------------------* K1               RST (复位键)* K2               PA1 (U盘处罚按键(加强版程序才有))* K3               PA2 (未定义功能)* LED1             PC4 (流水灯)* LED2             PC2 (流水灯)* LED3             PC3 (流水灯) * LED4             PC0 (流水灯)
*****************************************/#include "includes.h"
/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
//void NVIC_Configuration(void);
void  USART_Configuration(void);
void PrintCom(USART_TypeDef* USARTx, uint8_t *Data);
void PrintComBit(USART_TypeDef* USARTx, uint8_t Data);
extern void  LD3320_main(void);
/***********************************************************
* 名    称: 主函数
* 功    能:    程序入口
* 入口参数:  无
* 出口参数:  无
* 说    明:    无
* 调用方法:  无
**********************************************************/
int main(void)
{/* System Clocks Configuration */RCC_Configuration();  //外设时钟配置delay_init(72);  //延时函数初始化USART_Configuration();//USART 配置  LD3320_main();      //LD3320 主函数函数while(1){ };
}
/***********************************************************
* 名    称: void  USART_Configuration(void)
* 功    能: 串口配置
* 入口参数:
* 出口参数:
* 说    明:
* 调用方法:
**********************************************************/
void  USART_Configuration(void)
{USART_InitTypeDef USART_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;USART_InitStructure.USART_BaudRate = 9600;USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_No;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;/* Configure USART1 */USART_Init(USART1, &USART_InitStructure);    //类似与GPIO口,配置完后初始化一次USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);  //使能接收 中断 USART_ITConfig(USART1, USART_IT_TXE, ENABLE);  //使能发送 中断 USART_Cmd(USART1, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;           //USART1 TXGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;    //复用推挽输出GPIO_Init(GPIOA, &GPIO_InitStructure);            //A端口 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;            //USART1 RXGPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;   //复用开漏输入GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);                //A端口
}
/***********************************************************
* 名    称:void PrintCom(USART_TypeDef* USARTx, uint8_t *Data)
* 功    能:串口数据打印
* 入口参数:
* 出口参数:
* 说    明:
* 调用方法:
**********************************************************/
void PrintCom(USART_TypeDef* USARTx, uint8_t *Data)
{ while(*Data){USART_SendData(USARTx, *Data++);    /*发送单个数据 */while(USART_GetFlagStatus(USARTx, USART_FLAG_TC)==RESET);/* 检查指定的USART标志位即RESET=1时发送完成*/}
}void PrintComBit(USART_TypeDef* USARTx, uint8_t Data)
{ USART_SendData(USARTx, Data);    /*发送单个数据 */while(USART_GetFlagStatus(USARTx, USART_FLAG_TC)==RESET);/* 检查指定的USART标志位即RESET=1时发送完成*/
}/***********************************************************
* 名    称:void RCC_Configuration(void)
* 功    能:配置外设时钟
* 入口参数:
* 出口参数:
* 说    明:
* 调用方法:
**********************************************************/
void RCC_Configuration(void)
{SystemInit();  /* Enable USART1, GPIOA, GPIOx and AFIO clocks */RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1 |RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOE, ENABLE); //开启相关的AHP外设时钟/* Enable USART2 clock */RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
}/*** @brief  Configures the different GPIO ports.* @param  None* @retval : None*/














基于STM32的物联网智能家居语音控制系统设计相关推荐

  1. 基于STM32的物联网智能家居系统 可以实现温度湿度的实时监控

    基于STM32的物联网智能家居系统,可以实现如下功能: 1.可以实现温度湿度的实时监控: 2.可以实现烟雾浓度的实时监控: 3.可以通过按键设置温度.湿度.烟雾浓度的阈值: 4.当温度高于阈值时风扇打 ...

  2. 基于电力线载波的物联网智能家居控制系统研究方案

    基于电力线载波的物联网智能家居控制系统研究方案 2013年05月23日 阅读数:1545次 电力线通信(Power Line Communication)技术是指把载有信息的高频加载于电流,利用既有电 ...

  3. 基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块+DHT11温湿度采集+MQ系列 烟雾及可燃气体+蜂鸣器+步进电机模拟窗帘+OLED液晶显示+

    ## **基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块(阿里云 或ONENET或局域网)+DHT11温湿度采集+MQ系列 烟雾及可燃气体+ ...

  4. 基于STM32单片机的智能家居测量系统设计

    当今的家庭生活面临着各种环境和健康问题,周围的生活参数存在潜在的隐患,包括室温.气体中有害物质的浓度等.在新时代,人们越来越关注健康及其相关因素.随着微电子技术的应用,电器的普及,以及单片机和传感器性 ...

  5. 智能家居语音控制及人脸识别报告设计(树莓派)

    智能家居语音控制及人脸识别 目录 摘要................................................................................. ...

  6. 智能家居语音控制及摄像头人脸识别(含代码)

    智能家居语音控制及摄像头人脸识别 1.使用的软件及过程 2.python 人脸代码讲解 3.主函数代码讲解 1.使用的软件及过程 使用到的软件有secureSRT,filezilla,Visual S ...

  7. 基于STM32单片机的智能家居烟雾温度火灾防盗报警的设计与实现

    功能介绍 以STM32单片机作为主控系统: LCD1602液晶显示屏来显示显示测得的值: SR501人体红外感应是否有人进行防盗: 通过烟雾传感器MQ-2获取前的烟雾值: 通过DHT11温湿度传感器来 ...

  8. 基于51单片机的智能家居防火防盗系统设计

    基于51单片机的智能家居防火防盗系统设计 自动开关灯,温度,烟雾浓度报警,数值可调节等:附赠资料包含原理图,仿真,代码(C语言),实物的元件清单及功能演示视频.适合课设. CSDN内下载地址:下载地址 ...

  9. 基于STM32单片机的智能停车场车位管理系统设计

    摘  要 通过调查发现,现有的许多公共场所的停车位管理落后,智能化程度不高.为顺应现代自动化狂潮的发展趋势,本项目以STM32单片机为主控芯片,基于RFID智能识别技术,设计了一个具有IC识别的智能停 ...

最新文章

  1. [JS]题解 | #魔法数字#
  2. Virtualbox设置虚拟机访问外网以及主机访问虚拟机
  3. vba 数值转文本_数值转文本,TEXT函数神操作
  4. 准备:新V8即将到来,Node.js的性能正在改变
  5. pipreqs------查找python项目依赖并生成requirements.txt
  6. 第一次走绿道,从长岭陂到梅林水库
  7. 【CodeForces - 266B 】Queue at the School (模拟)
  8. 揭秘阿里云 RTS SDK 是如何实现直播降低延迟和卡顿
  9. Mac系统下SVN命令
  10. CSS hack技巧大全 案例演示
  11. Pandas 文本数据方法 replace( )
  12. hadoop元数据mysql中表字段_Hive元数据表汇总分析
  13. php excel parser pro v4.2,PHP Excel Parser Pro v4.2怎么用
  14. win10系统计算机如何分盘,Win10怎么分盘|Win10新电脑怎么分盘
  15. 服务器先装系统还是先做热备,安装ibm服务器双机热备操作系统图文详细步骤.doc...
  16. Android手机应用CTA认证自测
  17. 计算机知识与技能竞赛配图,第七届”高教杯“全国大学生先进成图技术与产品信息建模创新大赛机械类计算机绘图试卷.doc...
  18. Scala study
  19. vivo 云原生容器探索和落地实践
  20. OSChina 周四乱弹 —— 国足出线了,赌球赌输了

热门文章

  1. golang 如何翻转含有中文 数字 英文字母等任意字符串
  2. css+伪类+加载动画,CSS3 optional伪类兼容实现加载中loading效果 » 张鑫旭-鑫空间-鑫生活...
  3. CodeForces 754D Fedor and coupons
  4. Visio 解决uml图不能修改大小
  5. 常量-兼谈PHPSTORM配置浏览器
  6. 【MySQL】MySQL NDB Cluster安装
  7. python3 + Gooey快速开发GUI应用程序
  8. 提高应用在 iOS App Store 中排名的 20 条技巧
  9. 一文解析,Linux内核——Intel CPU体系结构
  10. 《最新》 新浪t.cn短链新浪短链批量在线生成API接口在线生成推荐