FastBond3挑战部分-基于STM32的智能家居控制系统
该项目使用了STM32f103ZET6,实现了智能家居控制系统的设计,它的主要功能为:智能控制家居。
标签
嵌入式系统
bianshuyebianxie32
更新2024-10-31
59

一·项目和设计思路介绍

智能家居行业的发展以及人们生活水平的提高,我国国内智能家居的销量日益上升。随着科技行业的发展,各大智能家居控制系统扮演着越来越重要的角色。本项目旨在设计并实现一款智能家居控制系统,以提高用户的生活质量并改善传统家居控制系统的用户体验。

二·方案框图和原理图介绍

各个传感器把采集到的数据发送给主控芯片,主控芯片可以接受来自WiFi、语音识别模块和屏幕触控的用户指令,操控对应继电器完成对应功能,同时用户可以通过蓝牙查看系统的所有信息。

三·器件介绍

1、主控芯片

本系统采用STM32F103ZET6作为主控芯片,其具有丰富的内核资源以及大量的存储空间,刚好满足本设计的基本性能要求,同时价格便宜。

2、串口屏幕

串口屏幕作为显示设备,可以显示多种信息和多种色彩,具有丰富的UI选择可供用户选择;同时它还是人机交互的入口,其具备的触摸功能可以代替传统物理按键的交互任务

3、雾化芯片

采用XTK-201芯片作为加湿器驱动方案,该芯片尺寸小,工作频率高,工作频率可达到(108KH),工作频率精度高(1%),输出功率大,集成度高,可检测水位,防止干烧等特点。

四·电路介绍


电源模块是TYPE-C直插式供电,供来的5V由2315进行稳压,再供给板子周围的强电模块。同时TYPE-C的5V也会由1117稳压到3.3V给主控芯片和ESP8266供电。在得捷买的TPS61221也被设计在电源电路中,它协同2315完成5V稳压。

PCB整体采用模块化布局,为了使数据传输距离最小,主控芯片放在板子中央,其余的各个传感器分布在板子的四周。板子外围主要是5V的强电分布,数字信号和弱电在板子的内侧。PCB电源线的线宽是20mill,信号线的线宽是10mill,这是进行阻抗匹配的后的结果。

五·代码介绍

WIFI相关:

if(gUsart2_Read_Data_Status)
{
Esp8266_Str_Remove(gUsart2_Read_Datas);
n=sscanf(gUsart2_Read_Datas,"+IPD,%d,%d:%d:%d:%d:%d",&id,&length,&humi_max,&humi_min,&clod,&hot);
if(n==6)
{
printf("%s\n",gUsart2_Read_Datas);
printf("humi_max=%d,humi_min=%d,clod=%d,hot=%d\n",humi_max,humi_min,clod,hot);
}
else
{
printf("n=%d\n",n);
printf("输入错误\n");
printf("gUsart2_Read_Datas=%s\n",gUsart2_Read_Datas);
}
Usart2_Clear();
}

串口屏相关:

if(gUsart3_Read_Data_Status==1)
{
printf("接受到串口屏数据:0x%02x,0x%02x,0x%02x\n",gUsart3_Read_Datas[0],gUsart3_Read_Datas[1],gUsart3_Read_Datas[2],gUsart3_Read_Datas[3]);
switch(gUsart3_Read_Datas[0])
{
case 0:
{
pages=gUsart3_Read_Datas[3];
printf("pages=%d\n",pages);
break;
}
case 1:
{
humi_max=gUsart3_Read_Datas[1];
humi_min=gUsart3_Read_Datas[2];
printf("humi_max=%d,humi_min=%d\n",humi_max,humi_min);
break;
}
case 2:
{
if(gUsart3_Read_Datas[1]==1)
{
if(gUsart3_Read_Datas[2]==1)
{
hot=1;
printf("shengwenkai\n");
}
else
{
hot=0;
printf("shengwenguan\n");
}
}
else if(gUsart3_Read_Datas[1]==2)
{
if(gUsart3_Read_Datas[2]==1)
{
clod=1;
printf("jiangwenkai\n");
}
else
{
clod=0;
printf("jiangwenguan\n");
}
}
break;
}
default:
pages=0;
printf("pages=%d\n",pages);
break;
}
Usart3_Clear();
}
printf("pages=%d\n",pages);
printf("humi_max=%d,humi_min=%d\n",humi_max,humi_min);

语音播报相关:

if(Read_Pin_Value(13)==1)
{
delay_ms(50);
Uart4_Send_Str(p[i]);
i++;

memset(str,0x00,100);
sprintf(str,"温度为%u摄氏度,湿度为%u",gTemp,gHumi);
printf("%s\n",str);
Uart4_Send_Str(str);
// delay_s(1);
if(i>=VOICE_MUNBER)
{
i=0;
}
}


六·总结

以上就是我设计的基于STM32的智能家居控制系统系统,首先感谢电子森林提供的机会和平台,让我有机会通过这个活动使用一些未曾尝试过的芯片来做一些很有意义的制作。这之中遇到了很多难题,新传感器的集成、软硬件的联合调试以及比较棘手的蓝牙和WiFi等,最后都一一解决掉了,同时这次的设计也有我之前在其他设计上验证过的一些技术积累的部分。因为个人能力有限,如有错误,欢迎指正。


软硬件
电路图
KiCad文件
使用说明
全屏
附件下载
Altium_New Project_2024-10-25_11-25-27_2024-10-30.zip
本工程是最先基于AD完成,KICAD是由AD导入的,KICAD会有部分不兼容。
24-P-G-002.7z
整体代码部分
团队介绍
一只独狼
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号