STM32项目分享:智能家电控制系统
创作时间:
作者:
@小白创作中心
STM32项目分享:智能家电控制系统
引用
CSDN
1.
https://blog.csdn.net/qq_44016222/article/details/145367851
本文分享了一个基于STM32的智能家电控制系统项目,详细介绍了其功能、硬件组成、原理图设计、PCB设计以及程序实现。项目通过STM32单片机控制温湿度监测、远程控制和自动报警等功能,具有很高的实用价值和学习参考意义。
一、前言
项目成品图片:
二、项目简介
1.功能详解
基于STM32的智能家电控制系统,主要功能包括:
- STM32F103C8T6单片机系统板作为主控单元
- 显示功能:温湿度数据实时显示在OLED屏幕上
- 自动控制:判断温湿度是否在阈值范围内,否则蜂鸣器报警
- 阈值更改:按键可调节阈值大小
- 远程控制:通过机智云APP远程控制灯光、风扇和窗帘的开关
- 远程监视:机智云APP可以远程监视环境温湿度数据信息
2.主要器件
- STM32F103C8T6单片机
- OLED 屏幕
- DHT11温湿度传感器
- ESP8266-01S WiFi模块
- 继电器
- 大功率LED灯模块
- 风扇模块
- 步进电机
三、原理图设计
四、PCB硬件设计
PCB图
五、程序设计
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
OLED_Init();
DHT11_UserConfig();
MOTOR_UserConfig();
Key_Init();
USB_Init();
Buzzer_Init();
Temp_value = FLASH_R(FLASH_START_ADDR); //从指定页的地址读FLASH
Humi_value = FLASH_R(FLASH_START_ADDR+2); //从指定页的地址读FLASH
Timer2_Init(9,14398);
uart2_init(9600);
uart1_init(115200);
GENERAL_TIM_Init();
userInit(); //完成初始赋值
gizwitsInit();
IWDG_Init();
while (1)
{
IWDG_ReloadCounter(); //重新加载计数值 喂狗
switch(Menu)
{
case 1:
Menu1(); //显示菜单1
/*判断电机启动标志位是否为1*/
if(Curtain_ON_Flag == 1)
{
MOTOR_Direction_Angle(1,0,180,1); //顺时针电机旋转 180度
MOTOR_STOP(); //电机停止
Curtain_ON_Flag = 0;
}
/*判断电机关闭标志位是否为1*/
if(Curtain_OFF_Flag == 1)
{
MOTOR_Direction_Angle(0,0,180,1); //逆时针电机旋转 180度
MOTOR_STOP(); //电机停止
Curtain_OFF_Flag = 0;
}
break;
case 2:
OLED_Clear(); //清屏
Menu2(); //显示菜单2
Menu = 3;
case 3:
OLED_Option(SetNum); //显示当前选择的位置
OLED_ShowNum(2,10,Temp_value,2); //显示温度阈值数据
OLED_ShowNum(3,10,Humi_value,2); //显示湿度阈值数据
/*累计按键1按下的次数*/
if(KeyNum == 1)
{
KeyNum = 0;
SetNum++;
if(SetNum > 2)
{
SetNum = 1;
}
}
/*当位置指向温度阈值根据按键3或4调节数值*/
if(SetNum == 1)
{
if(KeyNum == 3)
{
KeyNum = 0;
Temp_value++;
if(Temp_value >= 100)
{
Temp_value = 0;
}
}
if(KeyNum == 4)
{
KeyNum = 0;
Temp_value--;
if(Temp_value >= 100)
{
Temp_value = 99;
}
}
}
/*当位置指向湿度阈值根据按键3或4调节数值*/
if(SetNum == 2)
{
if(KeyNum == 3)
{
KeyNum = 0;
Humi_value++;
if(Humi_value >= 100)
{
Humi_value = 0;
}
}
if(KeyNum == 4)
{
KeyNum = 0;
Humi_value--;
if(Humi_value >= 100)
{
Humi_value = 99;
}
}
}
/*当按键2按下时回到主菜单*/
if(KeyNum == 2)
{
KeyNum = 0;
/*将更改过的阈值存入Flash中*/
FLASH_W(FLASH_START_ADDR,Temp_value,Humi_value);
OLED_Clear(); //清屏
Menu = 1; //显示菜单1
}
break;
default : break;
}
userHandle();
gizwitsHandle((dataPoint_t *)¤tDataPoint);
}
}
六、实验效果
七、包含内容
项目分享
热门推荐
喝咖啡会导致钙流失?上班族如何科学补钙?
为什么会有脚底板痛?带你认识「足底筋膜炎」告诉你如何舒缓及预防
简明理解:微积分基本定理
以史为鉴!100年黄金走势图显示:长期策略仍是逢低买入
负温度系数
洗板水530与850有什么区别:不同洗板水的区别介绍
陕西风味美食羊肉泡馍背后隐藏的千年故事
长江学者制度:从人才引进到学术头衔泛滥
日本的军迷,都是军国主义分子吗?丨次元军武
有皮肤病可以泡温泉吗
路由器信道设置:自动还是手动选择?
一个实用的带货文案写作思路
构建“全场景阅读”,打开儿童阅读边界
长期喝中药的副作用及预防措施
2024世界公众科学素质促进大会专题论坛:多元主体协同提升公众科学素质
《三国演义》中重臣张昭的墓,在南京发现了
面条起源于何时 面条最早出现在哪个时代
机器学习中如何确定某个特征是有用特征
SKDJ指标的应用如何熟练掌握?这种掌握对技术分析有何提升作用?
旅游管理专业就业方向:谁说学旅游只能当导游?
每天锻炼却瘦不下来?减肥的真相在这里!
基于深度学习的CT肺肿瘤自动检测和分割研究
上海滴水湖一日游攻略,滴水湖游玩攻略
三坐标测量机的“柔性”特点及其在工业中的应用
《仙剑奇侠传3》:这款传奇之作,拯救了整个仙剑系列的命运!
立春阳气升,鼻炎易发作!5个居家按摩穴位图解
华为管理变革制度创新与文化塑造的核心实践
护栏碰撞监测系统在高速公路养护中的作用
汽车发动机:燃烧中的火焰巨兽,温度高达几千度?
如何评估你的身体素质:20-70岁的标准指南