stm32毕设分享 STM32智能饮水机控制系统(源码+硬件+论文)

这篇具有很好参考价值的文章主要介绍了stm32毕设分享 STM32智能饮水机控制系统(源码+硬件+论文)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


0 前言

🔥
这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 毕业设计 STM32的智能饮水机控制系统(源码+硬件+论文)

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:4分

🧿 项目分享:

https://gitee.com/sinonfin/sharing文章来源地址https://www.toymoban.com/news/detail-445700.html

stm32毕设分享 STM32智能饮水机控制系统(源码+硬件+论文)

1 主要功能

主要功能: 使用STM32为主控制器,LCD1602显示当前信息:水温、模式、设置水温。DS18b20检测当前饮水机水温,水位传感器检测是否有水,无水情况下蜂鸣器发出声光报警,且所有功能停止(防干烧)并显示:Water!(提醒加水)。

  • 1.使用STM32F103C8T6单片机做主控制器。

  • 2.使用LCD1602显示采集到的水温、模式、设置水温值。

  • 3.使用DS18b20检测当前饮水机水温值。

  • 4.使用水位传感器检测是否有水。

  • 5.使用继电器控制加热片加热和水泵出水。

  • 6.当无水的情况下,蜂鸣器进行声光报警提醒,并且停止所有的功能,直到检测到有水。

  • 7.四个按键分别对应:加热、出水,温度加、温度减的功能。

  • Normal:常温模式

  • Water:缺水警告

  • Hot:加热模式

  • open:水泵出水

1 设计方案

stm32毕设分享 STM32智能饮水机控制系统(源码+硬件+论文)

(1)整体方案的设计

方案所选择的芯片,在便于操作的基础上,要能够实现控制设计任务的基本要求。本文设计的智能饮水机是采用STM32F103C8T6单片机作为主控芯片,通过、DS18B20温度传感器、Water Sensor水位传感器、继电器控制、LCD1602显示、蜂鸣器报警以等功能。

(2)设计方案原理

本设计的软件设计主要包括系统主程序以及液位采集子程序、温度设定子程序等设计。整个系统程序采用模块化结构设计,程序相对比较优化易修改,调试系统软件的开发是用C语言编程实现的。

通过软件编程使单片机通过控制不同的工作模块来控制饮用水的水温,利用LM3939传感器完成将水位数据传输入单片机,通过DS18B20温度传感器将水温信息输入单片机,输入的信息经过单片机的处理经LCD1602显示器直观的显示出来。工作的模式通过按键来控制,将按键产生的高低电平的变化输入单片机,发出相应的程序,进入相应的工作模式。通过Keil C编程将各模块衔接成整体并实现各模块之间的逻辑控制。

2 硬件设计

根据系统要求及上面几个硬件设计原则,确定系统硬件原理图。系统以单片机STM32F103C8T6为中央处理单元、蜂鸣器报警、LCD液晶显示、按键设置,LM393比较器判断、DS18B20温度采集、水位传感器、继电器控制原理图如3-1所示:下面对主要的电路设计做详细介绍。系统以单片微型计算机为核心外加多种接口电路组成如图所示

stm32毕设分享 STM32智能饮水机控制系统(源码+硬件+论文)

3 软件部分设计

软件部分的主要任务是完成对整个设计的流程进行处理。首先STM32单片机进行引脚的配置,配置各个模块使用的引脚后来进行初始化,首先 DS18B20温度传感器获取当前温度,液晶初始化完成后显示当前的信息和参数,最后程序开始判断,如果饮水机内无水蜂鸣器就会进行报警提醒,防干烧。有水的情况下进行判断是常温模式还是加热模式,如果是常温就直接控制继电器进行出水,如果是加热模式判断温度是否低于下限如果低于下限先加热在控制继电器进行出水基于上述分析,系统软件设计流程如图4-2所示。各功能的控制。系统主流图如图所示。

stm32毕设分享 STM32智能饮水机控制系统(源码+硬件+论文)

4 关键代码

#include "sys.h"
#include "delay.h"
#include "lcd1602.h"
#include "ds18b20.h"
#include "gpio.h"

u8 mode=0;//ģʽ������0�dz���ģʽ��1�Ǽ���ģʽ
u8 setTemp=40;//���õ��¶�ֵ
u8 openFlag=0;//��ˮ��־

void keyscan(void)
{
	if(KEY1 == 0)//ģʽ�л�����
	{
	 	delay_ms(10);//����
		if(KEY1 == 0)
		{
		 	while(KEY1 == 0);//�ȴ������ɿ�
			mode=!mode;
			if(mode==0)LCD_Write_String(10,0,"Normal");
			else       LCD_Write_String(10,0," Hot  ");
		}
	}
	if(KEY2 == 0 && WATER_LEVEL)//��ˮ����
	{
	 	delay_ms(1);
		if(KEY2 == 0)
		{
			 RELAY2 = 1;
			 if(openFlag==0)
			 {
				  openFlag=1;
					LCD_Write_String(10,1," open ");//��ʾopen
			 }
		}
	}
	else
	{
		  if(openFlag==1)
		  {
				openFlag=0;
				LCD_Write_String(10,1,"      ");
		  }
		  RELAY2 = 0;
	}
	if(KEY3 == 0)//�Ӽ�
	{
	 	delay_ms(10);
		if(KEY3 == 0 )
		{
		 	while(KEY3 == 0);
			if(setTemp<99)setTemp++;
			LCD_Write_Char(4,1,setTemp/10+0x30);//��ʾ���õ��¶�
		  LCD_Write_Char(5,1,setTemp%10+0x30);
		}
	}
	if(KEY4 == 0)//����
	{
	 	delay_ms(10);
		if(KEY4 == 0 )
		{
		 	while(KEY4 == 0);
			if(setTemp>0)setTemp--;
			LCD_Write_Char(4,1,setTemp/10+0x30);//��ʾ���õ��¶�
		  LCD_Write_Char(5,1,setTemp%10+0x30);
		}
	}
}

int main(void)
{	
	  u16 timeCount=200;
	  u16 temperature=0;
	  u8 shanshuo=0;
	
		delay_init();	    //��ʱ������ʼ��	  
		delay_ms(500);       //�ϵ�˲�����һ����ʱ�ڳ�ʼ��
	  DS18B20_GPIO_Init(); //ds18b20���ų�ʼ��
	  DS18B20_Init();			//��ʼ��DS18B20
	  KEY_AND_RELAY_GPIO_Init();
		LCD_Init();         //��Ļ��ʼ��
	  LCD_Write_String(0,0,"TEM:00 C  Normal");//��ʾ�ַ���
	  LCD_Write_String(0,1,"SET:00 C        ");
	  LCD_Write_Char(6,0,0xDF);
	  LCD_Write_Char(6,1,0xDF);
	  LCD_Write_Char(4,1,setTemp/10+0x30);//��ʾ���õ��¶�
		LCD_Write_Char(5,1,setTemp%10+0x30);
		while(1)
		{  
			 keyscan();//����ɨ��
			 if(timeCount++>=300)//��ʱһ��ʱ�䣬��ʱ���300ms
			 {
					 timeCount=0;
				   shanshuo = !shanshuo;
				 
				   temperature=ReadTemperature();//��ȡ�¶�
					 LCD_Write_Char(4,0,temperature/10+0x30);//��ʾ�¶�
					 LCD_Write_Char(5,0,temperature%10+0x30);
				   if(!WATER_LEVEL && shanshuo)//ȱˮʱ���������εεε��죬Һ����˸��ʾ
					 {
						   LCD_Write_String(10,1,"Water!");
						   BEEP = 1;
					 }
					 else
					 {
							 if(openFlag==0)LCD_Write_String(10,1,"      ");
						   BEEP = 0;
					 }
					 if(WATER_LEVEL && mode==1 && temperature<setTemp)//����ˮ��״̬�²����Ǽ���ģʽ�¶ȵ�������ֵ������ִ�м���
					 {
							 RELAY1 = 1;			
					 }
					 else
					 {
						   RELAY1 = 0;		//����ر�	
					 }
			 }	
       delay_ms(1);
		}	
}


5 最后

stm32毕设分享 STM32智能饮水机控制系统(源码+硬件+论文)
🧿 项目分享:

https://gitee.com/sinonfin/sharing

到了这里,关于stm32毕设分享 STM32智能饮水机控制系统(源码+硬件+论文)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于单片机智能饮水机加热系统的设计与实现

       功能介绍 以51单片机作为主控系统; LCD1602液晶显示当前水温,定时提醒,水量变化 DS18B20检测当前水体温度; 水位传感器检测当前水位; 继电器驱动加热片进行水温加热; 定时提醒喝水,蜂鸣器报警; 红外传感器检测是否有人拿去水杯; 整个电路以5v供电;  电路图

    2024年02月13日
    浏览(26)
  • 毕设开题分享 STM32的wifi照明控制系统 - 智能路灯(毕设分享)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月19日
    浏览(57)
  • 毕设分享 STM32的wifi照明控制系统 - 智能路灯(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年04月09日
    浏览(29)
  • 毕业设计 - 基于单片机的智能饮水机系统设计与实现 (物联网 嵌入式 单片机)

    Hi,大家好,学长今天向大家介绍一个 单片机项目 基于单片机的智能饮水机系统设计与实现 大家可用于 课程设计 或 毕业设计 这次设计的智能饮水机就是单片机结合传感器的一个应用。 该系统设计综合单片机以及电子技术理论,从生活实际出发,完善了饮水机的功能。整个

    2024年02月03日
    浏览(83)
  • 【单片机毕业设计】【mcuclub-dz-112】基于单片机的智能饮水机系统设计与实现

    项目名:基于单片机的智能饮水机系统设计与实现 项目名:基于单片机的饮水机的设计 单片机:STC89C52 功能简介: 1、通过一个按键模拟加热电源的开关 2、通过防水式DS18B20检测水温,当电源打开时,温度小于设置最小值,进行自动加热,直到加热到最大值时停止; 3、通过

    2024年03月09日
    浏览(65)
  • 物联网毕业设计 STM32的wifi照明控制系统 - 智能路灯(物联网毕设分享)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月18日
    浏览(34)
  • 共享饮水机开发让饮用水更放心

    共享饮水机是指基于共享经济模式,将饮水机资源进行共享的服务,区别于传统饮水机,它是一款集物联网控制、远程上报、设备检测等为一体的设备。通过共享饮水机,用户可以方便地获得新鲜的饮用水而不需要购买和维护自己的饮水机。 共享饮水机的出现解决了普通饮水

    2024年02月13日
    浏览(29)
  • 【腾讯云 TDSQL-C Serverless 产品体验】饮水机式使用云数据库

    云计算的发展从IaaS,PaaS,SaaS,到最新的BaaS,FasS,在这个趋势中serverless(去服务器化) 计算资源发展Physical - Virtualisation - Cloud Compute - Container - Serverless。 TDSQL-C 是腾讯云自研的新一代云原生关系型数据库。融合了传统数据库、云计算与新硬件技术的优势,100%兼容 MySQL,为用

    2024年02月07日
    浏览(32)
  • 毕设 STM32的wifi照明控制系统 - 智能路灯(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年03月20日
    浏览(38)
  • 毕设开题分享 stm32智能语音垃圾分类系统(项目开源)

    Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目 毕业设计 stm32智能语音垃圾分类系统(项目开源) 大家可用于 课程设计 或 毕业设计 🧿 项目分享: https://gitee.com/sinonfin/sharing 学长设计的系统主要使用 stm32单片机为基础设计并开发一个智能垃圾桶系统。该系

    2024年01月23日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包