你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32水位检测系统(仿真+程序)

[复制链接]
STMCU小助手 发布时间:2022-5-30 10:41
本设计
基于STM32单片机的水位检测系统设计(proteus仿真+程序)
仿真图proteus 8.11
程序编译器:keil 5
编程语言:C语言
设计编号:C0046

主要功能:
使用滑动变阻器模拟水位监测器,通过改变电压值表示水位的变化。stm32通过ADC检测电压值和设定的阈值比较,低于阈值则驱动电机转动,同时通过led表示水位状态。

仿真图(提供源文件):
640 (1).png

程序(提供源文件源码):
640.png

以下为部分程序:
  1. int main(void)
  2. {   
  3.   u16 ADCValue;
  4.   float voltage;
  5.   u8 Mflag=2;
  6.   u8 OPENflag=0;  //起初代表水泵关
  7.   delay_init();            
  8.   Adc_Init();        
  9.   GPIO_InitStructReadtempCmd();
  10.   MotoR_GPIO();
  11.   lcd_system_reset();
  12.   LED1=1;
  13.   LED2=0;
  14.   MOTOR=1;
  15.   while(1)
  16.   {
  17.       ADCValue=Get_Adc_Average(ADC_Channel_0,10);
  18.     voltage=((float)ADCValue/4096)*3.3;//计算电压
  19.     H=(10000*voltage)/33;
  20.     if(H>400) //40%  阈值
  21.     {
  22.       display2();
  23.       Mflag=1;    //储水量足够,关闭水泵
  24.     }
  25.     else
  26.      {
  27.      display1();
  28.      Mflag=0;  //储水量不足够,需要启动水泵
  29.      }  
  30.      if(Mflag==1&&OPENflag==1)
  31.     {
  32.          LED1=1;
  33.              LED2=0;
  34.       MOTOR=1;//关闭水泵
  35.         Mflag=2;
  36.         OPENflag=0;   //已经关好
  37.     }
  38.     else if(Mflag==0&&OPENflag==0)
  39.      {
  40.        LED1=0;
  41.            LED2=1;
  42.        MOTOR=0;//开水泵
  43.        Mflag=2;
  44.        OPENflag=1;    //已经开好           
  45.      }
  46.   }
  47. }
复制代码

收藏 评论0 发布时间:2022-5-30 10:41

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版