zoukankan      html  css  js  c++  java
  • Arduino连接pH计

    关于arduino连接ph,核心的东西就是对ph传感器返回的信号值进行一系列的操作,注意因为返回的信号很弱,而且外部环境对其影响也很大,所以需要在电路设计上加入一些功能,比如信号放大、滤波等,电路设计这一块我是不太熟悉,毕竟不是科班出生,不过今天偶然看到了有的厂家已经做出了运放模块,心里很是激动,但是看到价格优点失望(贵),单独的板子还不卖,我猜想可能是和传感器的信号值与ph值之间的线性关系有关,关于这一点等会在代码中说明,先来看张图:

    这个图很简单,具体的有感兴趣的朋友可以参考下这个网站,点击打开(我没有打广告的意思),不过在某宝上询问卖家都说没货,具体原因不清楚。下面主要看下arduino中的代码:

     1 #define SensorPin 0          //pH计模拟输出到arduino的模拟输入端口0
     2 #define Offset 0.00            //偏差补偿
     3 unsigned long int avgValue;  //存储传感器反馈的平均值
     4 void setup()
     5 {
     6   pinMode(13,OUTPUT);//端口输出  
     7   Serial.begin(9600); //波特率9600 
     8   Serial.println("Ready");    //测试端口监视器
     9 }
    10 void loop()
    11 {
    12   int buf[10];                //用于读取模拟数据的缓冲区
    13   for(int i=0;i<10;i++)       //从传感器获取10个采样值**平滑
    14   { 
    15     buf[i]=analogRead(SensorPin);//SensorPin对应的端口
    16     delay(10);
    17   }
    18   for(int i=0;i<9;i++)        //按从小到大的顺序排序模拟值
    19   {
    20     for(int j=i+1;j<10;j++)
    21     {
    22       if(buf[i]>buf[j])
    23       {
    24         int temp=buf[i];
    25         buf[i]=buf[j];
    26         buf[j]=temp;
    27       }
    28     }
    29   }
    30   avgValue=0;
    31   for(int i=2;i<8;i++)                      //得到6中心样品的平均值
    32     avgValue+=buf[i];
    33   float phValue=(float)avgValue*5.0/1024/6; //将模拟值转换毫伏值
    34   phValue=3.5*phValue+Offset;                      //毫伏值转换成pH值,3.5对应的是线性斜率
    35   Serial.print("    pH:");  
    36   Serial.print(phValue,2);
    37   Serial.println(" ");
    38   digitalWrite(13, HIGH);//设置引脚的输出电压为高低电平,以此点亮小灯       
    39   delay(800);
    40   digitalWrite(13, LOW); 
    41 }

    注释写的很清楚了,就不多解释了,不过上面的那个3.5需要注意下,我也在备注后面标注了,具体对不对还望高手指点,原理上ph值与电流值的线性关系非常好。

    把电路图放一下,说不定以后有用.....

  • 相关阅读:
    JavaScript使用方法和技巧大全
    PHP JSON 数据解析代码
    效率较高的php下读取文本文件的代码
    PHP操作MongoDB 数据库
    安装mongo php拓展
    MongoDB与MySQL的插入、查询性能测试
    java字符数组char[]和字符串String之间的转换
    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
    python操作txt文件中数据教程[2]-python提取txt文件
    python操作txt文件中数据教程[1]-使用python读写txt文件
  • 原文地址:https://www.cnblogs.com/sowhat4999/p/4451970.html
Copyright © 2011-2022 走看看