一、前言

实物项目成品
在这里插入图片描述
仿真项目成品:
在这里插入图片描述
哔哩哔哩开源视频链接(复制浏览器打开):
https://www.bilibili.com/video/BV1ZTbX6JEHt/?
(资料分享见文末)

二、项目功能简介

STM32单片机智能饮水机/智能热水器(代码+原理图+仿真)
功能介绍:
(1)使用STM32F103C8T6最小系统板作为主控单元
(2)自动模式下,防水式DS18B20监测水温,温度小于设置最小值,进行自动加热,直到加热到最大值时停止;
(3)自动模式下,液位传感器检测水位,如果水位低于最低的,则启动水泵加水,直到加到高水位触发水泵关闭
(4)按键设置温度上下阈值
(5)在手动模式下,按键可以手动开启或关闭水泵,加热
(6)OLED显示屏显示测量值,当前模式
(7)手机APP,通过蓝牙接收温度数据以及手动控制加热和加水操作

三、PCB硬件设计

在这里插入图片描述

四、原理图设计

在这里插入图片描述

五、程序设计

部分代码如下:

#include "sys.h"
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "math.h"
#include "delay.h"
#include "gpio.h"
#include "key.h"
#include "oled.h"
#include "usart.h"
#include "ds18b20.h"

/**********************************
变量定义
**********************************/
uint8_t key_num = 0;									//按键扫描标志位	
uint8_t flag_display = 0;							//显示界面标志位
uint32_t time_num = 0;								//10ms计时
short  temp_value = 0;									//温度值
u16  temp_max = 40;									  //温度最大值
u16  temp_min = 25;									  //温度最小值
extern uint8_t usart1_buf[256];				//串口1接收数组
char display_buf[32];									//显示缓存区
u8 flag_mode = 0;      //模式标志位
/**********************************
函数声明
**********************************/
void Key_function(void);							//按键函数
void Monitor_function(void);					//监测函数
void Display_function(void);					//显示函数
void Manage_function(void);						//处理函数


/****
*******	主函数 
*****/
int main(void)
{
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //配置中断优先分组
	Delay_Init();	    	 								//延时初始化	  
	Gpio_Init();		  									//IO初始化
	Key_Init();		  										//按键初始化
	Oled_Init();		  									//OLED初始化
	Oled_Clear_All();										//清屏
	Usart1_Init(9600);    							//串口1初始化
	
	while(1)
	{
		Key_function();										//按键函数
		Monitor_function();								//监测函数
		Display_function();								//显示函数
		Manage_function();								//处理函数

		time_num++;												//计时变量+1
		Delay_ms(10);
		if(time_num %10 == 0)
			LED_SYS = ~LED_SYS;
		if(time_num >= 5000)
		{
			time_num = 0;
		}
	}
}

六、包含内容

在这里插入图片描述

七、资料分享

资料获取:请查看主页介绍

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐