基于STM32的简易智能家居设计(嘉立创支持)

一、项目功能概述

1、OLED显示温湿度、空气质量,并可以设置报警阈值

2、设置4个继电器开关,分别控制灯、空调、开关、风扇

3、设计一个离线语音识别系统,可以语音控制打开指定开关、并且可以显示识别命令词到OLED屏上

4、OLED实时显示4个继电器的状态

5、设计一个低功耗开关电路,可以语音控制使得系统进入低功耗模式,并且进入低功耗模式后可以再次语音唤醒系统,重新开始正常工作

语音控制具体描述:

二、项目原理图

(一)最小系统

![![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3eb5e38eb3ef4e819bc6d78a378b8e71.png)

(二)供电

(三)传感器


(四)语音模块

(五)继电器模组

(六)按键蜂鸣器

(七)低功耗开关

三、程序设计

cpp 复制代码
 int main(void)
 {	
	u16 key;
	int adc,cnt=0;
	float volt;
	delay_init();	    	 
	NVIC_Configuration(); 	 
	BEEP_Init();
	OLED_Init();			
	OLED_Clear();
	uart_init(115200);
	printf("欢迎使用吃夜宵的智能家居系统\r\n");
	KEY_Init();
	LED_Init();
	TIM3_Int_Init(500-1,720-1);
	DEV_Init();//外设初始化
	 
	 
	OLED_ShowCHinese(8,0,50);//
	delay_ms(200);
	OLED_ShowCHinese(24,0,51);//
	delay_ms(200);
	OLED_ShowCHinese(40,0,52);//
	delay_ms(200);
	OLED_ShowCHinese(56,0,39);//
	delay_ms(200);
	OLED_ShowCHinese(72,0,40);//
	delay_ms(200);            
	OLED_ShowCHinese(88,0,48);//
	delay_ms(200);            
	OLED_ShowCHinese(104,0,49);//
	delay_ms(200);            
		
	OLED_ShowNum(0,2,201908,6,16);
	OLED_ShowNum(48,2,384176,6,16);
	
	
		OLED_ShowCHinese(40,4,53);
		OLED_ShowCHinese(56,4,54);
		OLED_ShowCHinese(72,4,55);
		
		delay_ms(1500);            
		
		OLED_Clear(); 
		OLED_Dis_Menu();
	while(1)		
	{		
		if(cnt++ ==1000)
		{
			cnt = 0;
			LED0=!LED0;
			adc =	Get_Adc_Average(0,5);
			volt = adc*3.3/4096;
			air = pow((3.4880*10*volt)/(5-volt),(1.0/0.3203));
			printf("air :%d\r\n",air);
			//获取温湿度
			DHT11_Read_Data( &temp, &humi);
			if(last_temp!=temp || last_humi!=humi)
			{
				OLED_Dis_DHT(temp,humi,air);
			}
		}
		key = Key_GetValue();          //按键扫描
		if(key)
		DealKeyVal(key);
		if(!KEY1_IO())
		{
				printf("%d\r\n",GetTime());
		}
		if(temp>Max_temp || humi>Max_humi || air>Max_air)
		{
			if(cnt<500)BEEP=1;
			else if(cnt<1000)BEEP=0;
		}else BEEP=0;
		
		
		delay_ms(1);
	}	  
	
}

四、扩展功能

(一)根据环境温湿度、空气状况,自动控制智能家居设备

(二)优化界面,添加系统更多设置,报警设置、家居控制模式选择、智能开关机模式

(三)添加定时开关智能家居模式

(四)添加蓝牙或WIFI模块

(五)设计手机APP控制

(六)添加更多语音控制功能

感谢嘉立创对全程设计的支持。

相关推荐
yutian06067 小时前
Keil MDK下载程序后MCU自动重启设置
单片机·嵌入式硬件·keil
析木不会编程10 小时前
【小白51单片机专用教程】protues仿真独立按键控制LED
单片机·嵌入式硬件·51单片机
枯无穷肉14 小时前
stm32制作CAN适配器4--WinUsb的使用
stm32·单片机·嵌入式硬件
不过四级不改名67714 小时前
基于HAL库的stm32的can收发实验
stm32·单片机·嵌入式硬件
嵌入式科普14 小时前
十一、从0开始卷出一个新项目之瑞萨RA6M5串口DTC接收不定长
c语言·stm32·cubeide·e2studio·ra6m5·dma接收不定长
嵌入式大圣14 小时前
单片机UDP数据透传
单片机·嵌入式硬件·udp
云山工作室15 小时前
基于单片机的视力保护及身姿矫正器设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·毕设
嵌入式-老费15 小时前
基于海思soc的智能产品开发(mcu读保护的设置)
单片机·嵌入式硬件
liyinuo201717 小时前
嵌入式(单片机方向)面试题总结
嵌入式硬件·设计模式·面试·设计规范
艺术家天选17 小时前
STM32点亮LED灯
stm32·单片机·嵌入式硬件