基于单片机水质检测系统的设计与实现

这篇具有很好参考价值的文章主要介绍了基于单片机水质检测系统的设计与实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

   功能介绍

  • 以STM32单片机作为主控系统;
  • 液晶显示当前参数;
  • PH模块采集当前水质PH酸碱度;
  • DS18B20温度传感器采集当前水体温度;
  • TDS传感器采集当前水体TDS值;
  • 浊度传感器采集当前水体浑浊度;
  • 按键设置PH、温度、TDS上下限超过阈值报警;
  • 当其中任何参数表报警,OLED液晶都会闪烁提醒,并且蜂鸣器都会进行声光报警;
  • 通过HC-05蓝牙模块传输当前数据到手机端显示;
  • 整个电路以5v供电;

功能框图

基于单片机水质检测系统的设计与实现,单片机设计,单片机,嵌入式硬件

 电路图

基于单片机水质检测系统的设计与实现,单片机设计,单片机,嵌入式硬件

PCB

基于单片机水质检测系统的设计与实现,单片机设计,单片机,嵌入式硬件

源代码

#include <reg52.h>
#include <intrins.h>
#include <stdio.h>//printf串口输出头文件

#define uchar unsigned char
#define ushort  unsigned int
#define uint  unsigned long

#include "lcd1602.h"
#include "uart_trx.h"
#include "eeprom52.h"

#define RATIO 800		//系数,建议选择800-1000

sbit key1 = P1^0;//加键
sbit key2 = P1^1;//减键

sbit beep = P2^0;//蜂鸣器
sbit Fan = P1^3;//风扇

unsigned char pmBuf[7] = 0;//数据接收数组
uint PM25_Value = 0;     		//PM = ((pmBuf[1]<<8)+pmBuf[2])/1024*8*ratio
uint PM25_ValueMax = 200; //上限初始值

void EEPROM_WRITE()//EEPROM写入
{
		SectorErase(0x2000);//擦除扇区
	  byte_write(0x2001, (PM25_ValueMax>>8)&0xFF);//存储高8位
	  byte_write(0x2002, (PM25_ValueMax>>0)&0xFF);//存储低8位
	  byte_write(0x2009, 111);//存储校验值
}

void EEPROM_READ()//EEPROM读出
{
		if(byte_read(0x2009)!=111)//开机检测单片机是不是第一次使用,如果不是第一次使用,则先把数据存储一遍,再读取,数据就不会乱码
		{
				EEPROM_WRITE();//存储
			  delay_ms(100);
		}
		PM25_ValueMax = byte_read(0x2001)<<8 | byte_read(0x2002);//读取上限值
}

void Get_PM(void)//读取PM2.5值,具体的数据帧意思,请自行查阅芯片手册
{
    char i = 0;
    char j = 0;
    char k = 0;

	  COM.RX_Cnt = 0;
    if(COM.B_RX_OK == 1)//串口数据接收完成
    {
        for(i = 0; i<8; i++)
        {
            if((RX_Buffer[i] == 0xAA)&&(RX_Buffer[i+6]==0xFF))//判断接收的数据是否正确
            {
                goto find2;
            }
        }
        goto end2;
find2:
        for(j = 0; j<7; j++)
        {
            pmBuf[j] = RX_Buffer[i+j];//数据获取
        }

        PM25_Value = (unsigned int)((pmBuf[1]*256)+pmBuf[2])*5/2048.0*RATIO;//计算PM2.5值
        COM.B_RX_OK = 0;
    }
end2:
    return;
}



void main(void)
{
    unsigned int test;

	  EEPROM_READ();//开机读取存储值
    LCD_init();//1602初始化
    Uart_Init(2400);//串口初始化波特率2400
  
    LCD_write_string(0,0,"Pm2.5:    ug/m3 ");
    LCD_write_string(0,1,"PmMax:    ug/m3 ");
	  //显示上限值
	  LCD_write_char(7, 1, PM25_ValueMax % 1000 / 100 + 0x30);
		LCD_write_char(8, 1, PM25_ValueMax % 100 / 10 + 0x30);
		LCD_write_char(9, 1, PM25_ValueMax % 10 + 0x30);
    while(1)
    {
			if (test ++ > 250)//大约250ms读取一次
			{
					test = 0 ;

					Get_PM();//获取PM2.5
					if(PM25_Value > 999)//限值,最大999
					 PM25_Value = 999;
					//显示PM2.5
					LCD_write_char(7, 0, PM25_Value % 1000 / 100 + 0x30);
					LCD_write_char(8, 0, PM25_Value % 100 / 10 + 0x30);
					LCD_write_char(9, 0, PM25_Value % 10 + 0x30);
					
					if(PM25_Value >= PM25_ValueMax)//超过上限,蜂鸣器报警
					{
							beep = ~beep;
						  Fan = 0;
						  delay_ms(100);
					}
					else
					{
							beep = 1;
						  Fan = 1;
					}
			}
			if(key1 == 0)//加键按下
			{
					delay_ms(10);//消抖
				  if(key1 == 0)
					{
						  beep = 0;
						  delay_ms(100);
						  beep = 1;
							while(key1 == 0);
						  if(PM25_ValueMax<999)PM25_ValueMax+=10;//上限最大到999,每次加10
						  //显示
						  LCD_write_char(7, 1, PM25_ValueMax % 1000 / 100 + 0x30);
							LCD_write_char(8, 1, PM25_ValueMax % 100 / 10 + 0x30);
							LCD_write_char(9, 1, PM25_ValueMax % 10 + 0x30);
						  EEPROM_WRITE();//保存
					}
			}
			if(key2 == 0)//减键按下
			{
					delay_ms(10);
				  if(key2 == 0)
					{
						  beep = 0;
						  delay_ms(100);
						  beep = 1;
							while(key2 == 0);
						  if(PM25_ValueMax>=10)PM25_ValueMax-=10;//上限最小到0,每减10
						  //显示
						  LCD_write_char(7, 1, PM25_ValueMax % 1000 / 100 + 0x30);
							LCD_write_char(8, 1, PM25_ValueMax % 100 / 10 + 0x30);
							LCD_write_char(9, 1, PM25_ValueMax % 10 + 0x30);
						  EEPROM_WRITE();//保存
					}
			}
			delay_ms(1);
    }
}


        本文只是简单介绍了实物功能的一种和在设计的过程的关键点,供大家参考学习,如需定制实物或者有错误和不明白的可以直接私信作者,或者添加徽信biyezhan007

元器件清单

基于单片机水质检测系统的设计与实现
名称 型号 数量
单片机 STC89C52 1
IC座 DIP40 1
万能板 9*15cm 1
晶振 11.0592M 1
电解电容 10uF 1
电解电容 1000uf 1
瓷片电容 22pF 2
电阻 10K 3
电阻 1K 4
电阻 2K 1
LED红 5MM 1
LED绿 5MM 1
蜂鸣器 有源 1
三极管 S9012 1
按键 5
显示屏 LCD1602 1
排针 16P 1
排母 16P 1
人体红外模块 HC-SR501 1
排母 3P 1
温度传感器 DS18B20 1
烟雾传感器 MQ-2 1
模数转换器 ADC0832 1
IC座 8P 1
GSM模块 SIM800c 1
电源座 5MM 1
电源线 5V2A 1
自锁开关 1
继电器 1
小水泵 1
导线 若干
焊锡丝 若干

参考文献

参考文献
[1]王德保.GPS在城市控制网中的应用研究[D].山东:山东科技大学,2005.
[2]何立民.从现代计算机视角看嵌入式系统(4)嵌入式系统40年发展史[J].单片机与嵌入式系统应用,2016,16(04):77-79.
[3]康桂霞,刘达.FPGA应用技术教程[M].北京:人民邮电出版社:201306.229.
[4]朴德慧,衣英刚.液晶显示器驱动板MCU电路介绍(上)[J].家电检修技术,2012(11):53.
[5]段廷魁.全球卫星定位系统(GNSS)在工程测量中的实践运用探索0[J].科技创新与应用,2021(05):182-184.
[6]宋戈,黄鹤松.51单片机应用开发范例大全[M].北京:人民邮电出版社:国家信息技术紧缺人才培养工程系列丛书,201206.558.
[7]罗小青.单片机原理及应用教程[M].北京:人民邮电出版社,201409.180.
[8]沈庆阳.单片机实践与应用[M].北京:清华大学出版社,2002.
[9]杜深慧.温湿度检测装置的设计与实现[M].北京:机械工业出版社,2004.
[10]林嘉.基于89S52的LCD1602程序设计[J].电脑知识与技术,2012(26):6376-6378.
[11]刘光伟.基于单片机的温室温湿度监测系统设计与实现[D].秦皇岛市:燕山大学,2012.
[12]褚福强,董学仁.单片机的网络接入技术研究[J].仪器仪表用户,2006(05):4-5.
[13]陈英俊.基于单片机的温湿度监测和报警系统设计[J].广东石油化工学院学报,2013(04):42-46.
[14]廖丽媛.基于应变式扭矩传感器的测量系统的设计[D].上海市:东华大学,2013.
[15]刘九庆.温室环境工程技术[M].吉林:东北林业大学出版社,2002.
[16]王明喜,崔世茂.大棚型日光温室光照、温度及湿度等性能的初步研究[J].农业工程技术(温室园艺),2008(05):19-21.
[17]张迎辉.单片微型计算机键盘接口设计[J].信息技术,2004(07):68-69+91.
[18]张友德,赵志英.单片微型机原理应用与实验[M].上海市:复旦大学出版社,2003.
[19]赵芝芸.温室智能监控系统[D].江苏:江苏科技大学,2010.
[20]张宏伟.基于STM32的智能环境监测系统设计与实现[J].大庆师范学院学报,2020(05):32-35.
[21]王世伟,杨越.基于STM32的多型号舵机调试器设计[J].九江学院学报(自然科学版),2020,35(02):33-36.
[22]Pengcheng Zhao,Meijun Ni,Chao Chen,Chenxi Wang,PingpingYang,Xiahui Wang,Chunyan Li,Yixi Xie,Junjie Fei. A Novel Self-protection Hydroquinone Electrochemical Sensor Based on Thermo -sensitive Triblock Polymer PS-PNIPAm-PS[J].
[23]Jian Wang,Jing Chen,Xiaofu Xiong,Xiaofeng Lu,ZhengLiao,Xiaobo Chen.Temperature safety analysis and backup protectionscheme improvement for overhead transmission line in poweroscillation condition[T].Electric Power Systems Research,2019,166.
[24]Fuji Electric Co.Ltd.;Patent Issued for SeiconductorDevice And Method Of Outputting Temperature Alarm (USPTO10,164,626)[J].Electronics Newsweekly,2019.
[25]VERSID,INC;Patent Issued for Refrigeration UnitTemperature Alarm Using Thermal Properties of Food to Eliminate FalseAlarms (USPTO 9752810)[J].Computers,Networks &Communications,2017.
[26]Fuji Electric Co.Ltd;Patent Application Titled"Semiconductor Device and Method of Outputting Teperature Alarm"Published Online (USPTO 20170077919)[J]. Technology & BusinessJournal,2017.
[27]su Yuanping,Xu Lihong,Goodman Erik D.Multi-layerhierarchical optimisation of greenhouse climate setpoints for energyconservation and improvement of crop yield[J].Biosystems
[28]黄松茂.基于STM32的家庭环境监测系统的设计与实现[D].甘肃兰州.西北师范大学,2018.:23-30.
[29]李大琳.智能车内温度监测系统设计[J].山东工业技术,2014(12):80-81.
[30]郭雯,王海涛. 智能输液系统的发展与应用.医疗卫生装备,2012

  

基于单片机水质检测系统的设计与实现,单片机设计,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-706262.html

到了这里,关于基于单片机水质检测系统的设计与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 基于单片机的空气质量检测系统

    欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式   本设计使用STC89C52单片机作为主控单元,由夏普GP2Y1010AU粉尘传感器采集周围环境的粉尘浓度值,再经过ADC0832模数转换器对测量到的信号进行模数转

    2024年02月07日
    浏览(32)
  • 基于51单片机烟雾温度检测报警系统设计

    一、系统方案 本设计采用52单片机作为主控器,液晶1602显示,DS18B20采集温度,MQ2采集烟雾值,火焰传感器,按键设置报警,声光报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 / / // 1602液晶初始化函数 / / void LcdInit() { LcdWriteCmd(0x38); // 16 2显示,

    2024年02月09日
    浏览(42)
  • 基于单片机体温心率脉搏检测仪系统设计

    ** 单片机设计介绍, 基于单片机体温心率脉搏检测仪系统设计   基于单片机体温心率脉搏检测仪系统设计是一个综合性的项目,它结合了单片机技术、传感器技术和电子技术,实现了对人体体温、心率和脉搏的实时监测。以下是关于该系统设计的主要内容的概述: 一、系

    2024年04月10日
    浏览(45)
  • 基于单片机的防酒驾检测系统设计研究

    摘 要:司机饮酒驾车已成为交通事故高发的原因之一,为预防酒驾的发生,文中设计了一种基于单片机的防酒驾检测系统。系统首先判断驾驶位上是否有人,如果有人,则启动酒精检测仪,收集车内的酒精浓度并判断,如果达到酒驾或醉驾状态,则自动断开车内启动电路,使

    2024年03月09日
    浏览(47)
  • 基于51单片机的温度检测监测报警系统设计

    前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料) 微信公众号:创享日记 发生:单片机温度检测 获取原理图源文件+程序源文件+仿真源文件+报告+相关资料 基于51单片机的温

    2024年02月13日
    浏览(44)
  • 实物设计|基于51单片机的温湿度检测报警系统

    目录 具体实现功能: 设计介绍 51单片机简介 设计方案 资料内容 原理图和PCB(AD19) 仿真实现(protues8.7) 程序(Keil5) 全部资料(压缩文件) 由STC89C51/52单片机+DHT11温湿度传感器+LCD1602液晶显示屏+按键模块+报警模块构成。 具体功能: 1、LCD1602液晶显示,第一行显示当前的

    2024年02月11日
    浏览(48)
  • 单片机项目分享 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最

    2024年01月16日
    浏览(62)
  • 基于单片机的温湿度和二氧化碳检测系统设计

    目录 摘           要 ... 2 第一章 绪论 ... 5 1.1  研究课题背景... 5 1.2  国内外发展概况... 7 1.3  课题研究的目的... 8 1.4  课题的研究内容及章节安排... 9 第二章 二氧化碳和温湿度检测系统控制系统的设计方案 ... 11 2.1  设计任务及要求... 11 2.2  二氧化碳和温湿度检测系统

    2024年02月08日
    浏览(32)
  • 【特纳斯电子】基于单片机的防酒驾检测系统设计-实物设计

    资料查找方式: 特纳斯电子(电子校园网):搜索下面编号即可 T3642204C-SW 本设计是基于单片机的防酒驾检测系统设计,主要实现以下功能: 1、通过人体红外检测是否有人开车,通过MQ-3检测酒精的浓度。 2、通过模数转换芯片将监测的模拟量转换为传递给单片机。 2、通过

    2024年02月19日
    浏览(43)
  • 【单片机毕设选题】 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最

    2024年01月21日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包