STM32开发实例_基于STM32单片机的香薰灯控制系统(电路图+程序+流程图)24-32-83

一.系统概述

1. 灯控制与定时功能:使用按键控制启动和关闭灯,具备定时模块,显示屏上显示设定时间,到达设定时间后控制蜂鸣器响并熄灭灯光。
2. 环境监测与控制:整合温湿度传感器采集环境数据,如果超出设定范围则启动加湿器,达到预设值自动停止,并在显示屏上显示当前温湿度信息。
3. 远程控制与显示:集成WiFi模块实现手机远程控制和显示功能,提升系统的操作便捷性。

二.电路设计

电路图采用Altium Designer进行设计:
1. 通过STM32F103C8T6单片机作为系统主控,最小系统电路是整个电路的核心;
2. 通过DS1302实现时钟定时,并通过SDA、SCK、DAT三个引脚与单片机进行连接;
3. 通过0.96寸的OLED12864进行数据显示,采用IIC总线的形式与单片机进行通信;
4. 通过DHT11进行温湿度检测,并通过one-wire总线与单片机的GPIO脚进行连接;
5. 使用独立按键进行阈值设定,按键的一端接地,一端接单片机的GPIO口;
6. 通过ESP8266-01S将检测到数据上传到上位机,通过UART串口与单片机进行通信;
7. 使用蜂鸣器进行报警,蜂鸣器采用的有源蜂鸣器,使用NPN三极管进行蜂鸣器进行驱动。 

三.程序设计

#include "sys.h"
#include "delay.h"
#include "adc2.h"
#include "math.h"
#include "key.h"
#include "OLED_I2C.h"
#include "Control_Report_To_Police.h"
/************************************************
版权:小常硬件
公众号:微信搜索“小常硬件“在公众号免费下载相关资料
************************************************/

int main(void)
 {	
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
	delay_init();	    	 //延时函数初始化	
	TIM4_Init(300,7200);
	OLED_Init();
	OLED_CLS();
	while(DHT11_Init()){}
	Adc_Init();
	KEY1_Init();
	Usart1_Init(9600);
	Relay_init();
	Beep_init();
	Led0_init();
	DS1302_GPIO_Init_Write_Time();
	OLED_ShowCN(32,2,0);
	OLED_ShowCN(32+16,2,1);	
	OLED_ShowCN(32+32,2,2);	
	OLED_ShowCN(32+32+16,2,3);	
	OLED_CLS();		
	ALi_ESP8266_GPIO_Init();
	MQTT_Buff_Init();
  AliIoT_Parameter_Init();
	OLED_ShowCN(0,0,30);
	OLED_ShowCN(0+16,0,31);	
	OLED_ShowCN(0,2,10);
	OLED_ShowCN(0+16,2,11);	
	OLED_ShowCN(64,2,12);	
	OLED_ShowCN(64+16,2,13);
	Beep=0;
  while(1)
	{
    OLED_Display_Cotrol(); //显示控制函数
	}	 
} 


 四.资料内容

说说本机功能: 1、基本功能:实现空气加湿; 2、基本功能:当水烧干或者低于一定液位,自动停止加湿功能; 3、基本功能:按键轻触开关,界面显示当前环境温湿度数据; 4、一般功能:水烧干或者低于一定液位,自动断电并指示灯亮起; 5、一般功能:检测当前环境湿度有温度; 6、一般功能:显示当前环境湿度及设定湿度,以及显示当前环境温度; 7、一般功能:通过按键设定要求的湿度,加湿器根据设定值调节环境湿度; 8、高级功能(选作):水汽加热。加热后可以作为熏脸器使用,具有美容润肤的功效; 9、能显示在20分钟内的室内湿度变化曲线。同时会显示出一种当前设定的温度线给用户对比参考(因界面原因,湿度只能以0-10来表示0%-100% 时间未作显示,只是给用户以参考)。 系统简介: 1、本系统用24V的适配器供电,安全,可放置于桌面。 2、有三个界面,每个界面下有三个提示语,对应前三个按键的功能(除了曲线界面任意键退出外)。 3、工作的大致情况是 a、当湿度未达到设置时,风速加湿会开,加热跟随系统设定; b、当湿度达到设置时,风速将减半处理,加热跟随系统设定; c、当湿度大于设置值5%时,系统进入待机状态(关闭加湿、风扇、加热); d、随后湿度只有降到小于设置值的2%时,方才开启加湿,加热跟随系统设定; e、当水位小于最小水位值(用红外对管来做检测)时,系统进入待机状态(关闭加湿、风扇、加热);
### STM32香薰灯设计方案 基于STM32香薰灯设计是一种典型的嵌入式系统应用案例,其核心在于利用STM32微控制器实现对多种外设的功能控制。以下是该设计方案的主要组成部分及其技术细节: #### 1. **核心控制器** 使用STM32单片机作为整个系统的中央处理单元(CPU),负责协调各模块之间的通信与操作[^1]。 #### 2. **温度采集与显示** - 温度传感器用于实时监测环境温度,并将数据传递给STM32处理器。 - OLED显示屏被用来直观展示当前测量到的温度数值以及其它状态信息。 #### 3. **RGB灯控制** 实现三色变化效果,具体来说可以通过PWM信号调节红绿蓝三种基色LED亮度组合从而得到不同色彩表现形式。 ```c void Set_RGB_Color(uint8_t red, uint8_t green, uint8_t blue){ TIM_SetCompare(TIM2, TIM_CHANNEL_1, red); // 设置红色通道占空比 TIM_SetCompare(TIM2, TIM_CHANNEL_2, green); // 设置绿色通道占空比 TIM_SetCompare(TIM2, TIM_CHANNEL_3, blue); // 设置蓝色通道占空比 } ``` #### 4. **温度设定与风扇控制逻辑** 用户能够通过物理按钮输入期望维持范围内的最高限值;如果检测到实际室温超出此预置界限,则触发内置或者外部连接的小型鼓风机运转降温直至恢复正常水平为止。 #### 5. **香蒸灯定时功能** 提供三个独立按键分别对应短、中、长时间模式选项,允许使用者灵活安排每次使用的持续周期长短不一的情况发生时也能妥善应对[^4]。 #### 6. **无线远程操控支持** 结合Wi-Fi模组或其他类型的无线电收发装置接入互联网平台后即可借助智能手机应用程序完成远距离开启/关闭命令下达等功能扩展需求满足现代化智能家居场景下的便捷性追求目标达成一致的结果呈现出来给大家看吧! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小常硬件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值