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

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

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

相关推荐
柱子jason1 分钟前
使用IOT-Tree消息流【语音识别】节点整合语音模型vosk实现语音输入到命令格式转换
物联网·智能家居·语音识别·语音模型·消息流·iot-tree
lin1353806757323 分钟前
DC24V-36V/4.5A H桥直流有刷电机驱动芯片AH6240
单片机·嵌入式硬件·物联网
tirvideo1 小时前
RK3588芯片与板卡全面解析:旗舰级AIoT与边缘计算的核心
人工智能·嵌入式硬件·深度学习·目标检测·机器学习·计算机视觉·边缘计算
XH1.3 小时前
学习HAL库STM32F103C8T6(SPI、门禁密码实验)
stm32·嵌入式硬件·学习
机器视觉知识推荐、就业指导8 小时前
STM32 外设驱动模块:热敏电阻传感器模块
stm32·单片机·嵌入式硬件
GilgameshJSS10 小时前
STM32H743-ARM例程9-IWDG看门狗
c语言·arm开发·stm32·单片机·嵌入式硬件·学习
华普微HOPERF10 小时前
Matter over Thread方案,如何助力智能家居生态互通?
物联网·智能家居·matter协议·thread协议
Hello_Embed10 小时前
STM32 智能垃圾桶项目笔记(一):超声波模块(HC-SR04)原理与驱动实现
c语言·笔记·stm32·单片机·嵌入式软件·嵌入式项目
wdfk_prog11 小时前
[Linux]学习笔记系列 -- lib/sort.c 通用的排序库(Generic Sorting Library) 为内核提供标准的、高效的排序功能
linux·运维·c语言·笔记·stm32·学习·bug
10001hours11 小时前
(基于江协科技)51单片机入门:5.定时器
科技·嵌入式硬件·51单片机