锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

树莓派实验中关于配置水位传感器的初步应用

时间:2022-12-22 21:00:00 440水位传感器水位传感器液位传感器液位传感器解决

项目场景:

连接树莓派AD转换器(PCF每隔0591)和水位传感器.1s进行一次检测


代码见下:

///液位传感器模块: VCC -> 5V; GND -> GND; DO -> DOPIN 0;AO ->A0;  #include  #include  #include  #include   #define PCF 120     //PCF8591的基地址  #define DOpin 0    #define power 5000 //PCF8591电压值为5000mv  #define have_water_v 1500 ///水位检测15000mv    unsigned char  Tx[5]; //发送电压字符串  int conersion_water(int mode);  /* 水位检测驱动 MODE==1 采用模拟检测 MODE==2 采用数字检测  有水 1 无水 10  */  int conersion_water(int mode)   {   if (1==mode){    int value;   float adc_v;    // Setup pcf8591 on base pin 120, and address 0x48    pcf8591Setup (PCF, 0x48) ;       value=analogRead(PCF 0);   //A0采样    adc_v=value *power/255;    //8通道 5v供电 单位毫伏    //生成TX 用于发送到手机端    Tx[0]=(int)(adc_v_1*1000)/1000 '0';    Tx[1]='.';     Tx[2]=(int)(adc_v_1*1000)00/100 '0';    Tx[3]=(int)(adc_v_1*1000)0/10 '0';    Tx[4]=(int)(adc_v_1*1000) '0';          if (adc_v =have_water_v ) {    return 10;       }                            ////本次检测无水 ,连续检测10次,同样的结果同的结果     delay(100);  //0.1s采样一次      //注释:等于号给谁需要讨论   }    if (2==mode){   if(digitalRead(DOpin)== 0) {          ///液位传感器用低电平引脚       delay_ms(10);                        //延时防抖动        if(digitalRead(DOpin)== 0) {          ///液位传感器用低电平引脚         return 1;                       //有水         }        else{          return 10;                   //无水      }       }      delay(90);  //0.1s采样一次   }  }      int main(void)  {   int i;  int A_text;  A_text=0 // A_TEXT=10*10 or 10*1  int D_text;  D_text=0 // D_TEXT=10 or 1     if (wiringPiSetup()==-1){    printf("setup wiringpi filed!");    return 1;   }     ///数字检测法   /*  while(1){   pinMode(DOpin, INPUT);   D_text=conersion_water(2);   if (1==D_text){    printf("water!");   }   if (10==D_text){    printf("no water!");   }   D_text=0;   }  */    ///模拟检测法   /*  while(1){    for (i=0;i<10;i  ){    A_text=A_text conersion_water(1);   }   if (100 == A_text) {    printf("no water!");   }   if (10 == A_text) {    printf("water!");   }   if (10 == A_text) {    printf("water!");   }   A_text=0;   }   */   return 0; }     


问题:

不太清楚电压和其值的关系;

产品描述采用模拟和数字,我们不确定哪个更好。


解决方案:

基本的线性规律是通过实验给出的。

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

相关文章