基于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控制

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

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

相关推荐
疏星浅月5 小时前
虚拟内存三大核心作用详解
linux·c语言·arm开发·嵌入式硬件
Aaron15889 小时前
RFSOC+VU13P+RK3588的核心优势与应用场景分析
嵌入式硬件·算法·matlab·fpga开发·信息与通信·信号处理·基带工程
blevoice9 小时前
JL杰理AC696N开发板常见问题FAQ-问题6:为什么提示“key 不匹配”?杰理的蓝牙芯片的key是什么?以及该如何添加key? 杰理key文件原理?
单片机·嵌入式硬件·物联网·jl杰理蓝牙音频芯片·ac696n·蓝牙音箱方案开发
编程之升级打怪10 小时前
常见电路的引脚代号
嵌入式硬件
三佛科技-1873661339711 小时前
辉芒微FT62FC1x低成本小体积定时器触摸MCU芯片选型深度解析
单片机·嵌入式硬件
独小乐11 小时前
018.使用I2C总线EEPROM|千篇笔记实现嵌入式全栈/裸机篇
linux·笔记·单片机·嵌入式硬件·arm·信息与通信
C^h12 小时前
rtthread控制达妙4310电机
数据库·单片机·嵌入式硬件
三佛科技-1873661339712 小时前
LP3717BSL 12V1A隔离型极简化自供电充电器适配器电源方案测试报告
单片机·嵌入式硬件
一路往蓝-Anbo13 小时前
第二章:STM32 bxCAN 控制器详解:从内存到总线的“中转站”
stm32·单片机·嵌入式硬件·软件工程
jucat13 小时前
定时排气扇
嵌入式硬件