资讯详情

arduino+水位传感器+led显示+蜂鸣器报警

arduino mega2560(uno、Nano及其他型号同理)

led(黄、绿、红)

电阻x3(本次选用680Ω电阻1/4w避免金属膜电阻led灯烧坏时注意电阻值不要太小。

蜂鸣器(这里我用的有源高电平触发)

水位传感器(如下)

water sensor

接线情况(后面可以按照提供的程序接线)

实验程序

#define water_sensorspin A1 #define led_yellow 2      #define led_green 3 #define led_red 4 #define buzzpin 7 float ad_value=0;   ///深度模拟值  float deepcm=0;     //实际深度   void setup() {   // put your setup code here, to run once:   Serial.begin(9600);   pinMode(led_yellow,OUTPUT);    //设置引脚状态   pinMode(led_green,OUTPUT);   pinMode(led_red,OUTPUT); }  void loop() {   // put your main code here, to run repeatedly:   ad_value=analogRead(water_sensorspin);         //A1.引脚获得模拟值并赋予变量   Serial.println("Water level monitoring ready");   delay(20);   Serial.println(ad_value);               ////打印观察模拟值的变化   deepcm=(ad_value/702)*4;                //测量后,最深模拟值约为702,测量深度4cm   Serial.print("此时水的深度为:");   Serial.print(deepcm);   Serial.println("cm");   if(deepcm<1.5)          ///水位低于1.5cm时   {    delay(20);    digitalWrite(led_yellow,HIGH);    digitalWrite(led_green,LOW);    digitalWrite(led_red,LOW);    digitalWrite(buzzpin,LOW);    }    else if(deepcm<3)    {    delay(20);    digitalWrite(led_yellow,LOW);    digitalWrite(led_green,HIGH);    digitalWrite(led_red,LOW);    digitalWrite(buzzpin,LOW);     }     else if(deepcm>3)     {    delay(20);    digitalWrite(led_yellow,LOW);    digitalWrite(led_green,LOW);    digitalWrite(led_red,HIGH);    digitalWrite(buzzpin,HIGH);    Serial.println("水位过高,注意!");      }    delay(2000);        ///延迟堵塞稍长,串口刷新太快,看不清楚     }

实验现象

水位传感器插入水中(注意最大深度不超过4)cm)

深度较浅时

适中深度

深度较深时

视频

水位led显示

蜂鸣器报警

基础:led点亮,蜂鸣器报警

添加其他显示器供传感器接入

标签: 440水位传感器水位传感器液位传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台