基于STM32的水质监测系统仿真及程序讲解(浑浊度和PH值)

基于STM32的水质浑浊度和PH值监测系统设计(仿真+程序+讲解)

仿真图proteus 8.9

程序编译器:keil 5

编程语言:C语言

设计编号:C0077

这里写目录标题

  • 演示讲解视频
  • 1.主要功能
  • 2.仿真
  • 3. 程序
  • 4.资料清单&下载链接
  • 演示讲解视频

    基于STM32的水质浑浊度和PH值监测系统设计(仿真+程序+讲解)

    1.主要功能

    结合实际情况,基于STM32F103单片机设计一个电子水质检测系统。该系统应满足的功能要求为:

    本次嵌入式课程设计综合实验的内容STM32的水质浑浊度和PH值监测系统设计。完成LCD液晶显示、水质检测、灯光报警等多项任务。

    1、以STM32为最小系统电路进行连接,用液晶显示屏水质浑浊度,PH值浑浊度阈值,PH值阈值。

    2、以两路STM32内部ADC电路分别检测水质浑浊度和PH值。

    3、当水质浑浊度大于等于或PH值大于等于阈值时,报警灯亮,都低于则报警灯灭。

    主要硬件设备:STM32F103单片机、LCD1602液晶。

    以下为本设计资料展示:

    2.仿真

    整体设计方案

    该系统为电子水质检测系统,其主要的功能有:以stm32为最小系统电路进行连接,用液晶显示屏水质浑浊度和水质PH值数据。

    测试如下所示:

    开始仿真后LCD1602第一行zd显示检测的浑浊度,PH显示酸碱度。第二行的表示阈值。第二行zd_s表示浑浊度阈值为50%,PH_S表示酸碱度报警值为7。

    img

    浑浊度或者酸碱度高于阈值则报警灯亮。如下图所示:

    img

    3. 程序

    img

    部分代码:

    int main(void)
    {
      int ADC_num;
    	int temp1,temp2;
    	
    	ADC1_GPIO_Config();//ADC的初始化
      ADC_Config();   	
    	LCD1602_Init(); 
    	LCD1602_ShowStr(0,1,"zd_S:50% PH_S:7",15);//浑浊度报警值显示 PH值报警值显示
    	LCD1602_ShowStr(0,0,"zd:      PH:   ",15);//显示zd PH
    	LED();
    	
    	while(1)
    	{
    		ADC_num=Get_ADC(ADC_Channel_0);
    		temp1=ADC_num*100/4096;							//计算得到浑浊度
    		LCD1602_WriteCmd( 0x80 + 3 );
    		LCD1602_WriteDat( temp1/10 + 0x30 );//显示浑浊度
    		LCD1602_WriteDat( temp1%10 + 0x30 );
    		LCD1602_WriteDat( '%' );
    		
    		ADC_num=Get_ADC(ADC_Channel_1);
    		temp2=ADC_num*10/4096;							//计算得到PH值
    		LCD1602_WriteCmd( 0x80 + 13 );
    		LCD1602_WriteDat( temp2 + 0x30 );
    		
    		if(( temp1 >= 50 )||( temp2 >= 7 ))//计算是否亮报警灯
    		{
    			GPIO_ResetBits( GPIOA,GPIO_Pin_10 );
    		}
    		else
    		{
    			GPIO_SetBits( GPIOA,GPIO_Pin_10 );
    		}
    	}
    }
    
    

    4.资料清单&下载链接

    img
    资料下载链接:

    https://docs.qq.com/doc/DS0hrelFRU213dFdn

    物联沃分享整理
    物联沃-IOTWORD物联网 » 基于STM32的水质监测系统仿真及程序讲解(浑浊度和PH值)

    发表评论