一、功能简介
项目名:基于嵌入式的香薰灯的设计与实现
项目编号:dz-981
单片机类型:STM32F103C8T6
1、通过温湿度DHT11监测模块监测当前环境的温湿度,监测到温度或者湿度大于最大值、间隔一小时喷5s(继电器控制雾化片),否则间隔2小时喷5s模拟,可以设置间隔时间
2、通过液位监测模块监测当前香薰的剩余量,监测到没有声光报警(开香薰时声光报警3声提醒,并关闭香薰)
3、通过按键设置阈值,以及不同的模式,睡眠模式和休闲放松模式,睡眠模式,香薰灯低亮,放松模式,香薰灯高亮
4、通过OLED显示测量数据;
5、通过蓝牙将监测的数据传输到 手机,手机可以设置阈值,启动香薰;
二、系统框图设计
绘制软件:VISIO
本设计以STM32F103C8T6单片机为核心控制器,构建一个智能香薰灯的控制系统。主要可以分为三部分:输入、输出和中控。中控部分采用STM32F103C8T6单片机作为主控芯片,主要是对输入进行处理然后控制输出;
输入部分由以下模块组成:第一部分是温湿度检测模块,用于检测当前环境的温湿度;第二部分是液位检测模块,用于检测当前杯内的水量;第三部分是按键模块,用于设置正常和异常的时间,切换模式以及香薰继电器的开关;第四部分是供电模块,为系统提供稳定的电源支持。
输出部分由以下模块组成:第一部分是OLED显示模块,用于显示当前温湿度,模式以及水位。第二部分是继电器模块:用来模拟香薰的工作;第三部分是LED模块,在不同模式下灯的亮度不同;
除此之外蓝牙可以做为输入和输出:接收到手机上发的测量值,以及设置阈值控制模式的切换和继电器的启动
三、32实物图
单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
四、原理图
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
五、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
六、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件
/********************************** 函数名:显示函数 传参值:无 返回值:无 **********************************/ void Display_Function(void) { if(time_num % 10 == 0) { switch(display_num) //根据不同的显示界面,显示不同的内容 { case 0: //界面0:显示测量值 Oled_ShowCHinese(1,0,"温度:"); sprintf(display_buf,"%d.%dC ",temp_value/10,temp_value%10); Oled_ShowString(1,6,display_buf); Oled_ShowCHinese(2,0,"湿度:"); sprintf(display_buf,"%d.%d%% ",humi_value/10,humi_value%10); Oled_ShowString(2,6,display_buf); Oled_ShowCHinese(3,0,"水位:"); sprintf(display_buf,"%d%% ",water_value); Oled_ShowString(3,6,display_buf);