0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino测量液体的浊度

科技观察员 来源:circuitdigest 作者:Mr.X 2022-08-08 17:00 次阅读

对于液体,浊度是一个重要术语。因为它在液体动力学中起着重要的作用,也用于测量 水质。所以在本教程中,让我们讨论什么是浊度,如何使用 Arduino 测量液体的浊度。

什么是液体浊度?

浊度是液体浑浊或浑浊的程度或水平。这是由于存在大量类似于空气中的白烟的不可见颗粒(用肉眼)。当光穿过液体时,由于这些微小颗粒的存在,光波会被散射。液体的浊度与游离悬浮颗粒成正比,即如果颗粒数量增加,浊度也会增加。

pYYBAGLw0FWARaB7AAK_RI_5yNw319.png

如何使用 Arduino 测量浊度?

正如我前面提到的,浊度是由于光波的散射而发生的,为了测量浊度,我们应该测量光的散射。浊度通常以比浊法浊度单位 (NTU)或杰克逊浊度单位 (JTLJ) 进行测量,具体取决于用于测量的方法。两个单位大致相等。

现在让我们看看浊度传感器是如何工作的,它有两个部分, 发射器和接收器。发射器由一个光源(通常是一个 LED)和一个驱动电路组成。在接收端,有一个光检测器,如光电二极管或 LDR。我们将解决方案置于发射器和接收器之间。

poYBAGLw0FGAHZU0AAG927bj24o917.png

发射器只是传输光,光波穿过溶液,接收器接收光。通常(不存在溶液)透射光在接收器侧完全接收。但是在存在混浊溶液的情况下,透射光的量非常低。也就是说,在接收端,我们只得到低强度的光,而这种强度与浊度成反比。因此,我们可以通过测量光强来测量浊度,如果光强高,则溶液浊度较低,如果光强非常低,则意味着溶液更混浊。

制作浊度计所需的组件

pYYBAGLw0E6AV3WgAAipNUFW3rc510.png

浊度模块

阿杜诺

16*2 I2C液晶屏

共阴极RGB LED

面包板

跳线

浊度传感器概述

本项目中使用的浊度传感器如下图所示。

poYBAGLw0EiAarG3AASBe5Ounq0448.png

如您所见,此浊度传感器模块包含 3 个部分。防水引线、驱动电路、连接线。测试探头由发射器和接收器组成。

poYBAGLw0EWADVEcAAStftnRXU0643.png

上图显示,这种模块使用红外二极管作为光源,红外接收器作为检测器。但工作原理和以前一样。驱动器部分(如下所示)由一个运算放大器和一些放大检测到的光信号的组件组成。

pYYBAGLw0EGAA_dHAAV61lhFECo629.png

实际传感器可以使用 JST XH 连接器连接到该模块。它具有三个引脚,VCC、地和输出。Vcc 连接到 5v 并接地。该模块的输出是一个模拟值,它根据光强度而变化。

浊度模块的主要特点

工作电压:5VDC

电流:30mA(最大)。

工作温度:-30°C 至 80°C。

兼容 Arduino、Raspberry Pi、AVR、PIC 等。

将浊度传感器与 Arduino 接口 - 电路图

将浊度传感器连接到 Arduino 的完整示意图如下所示,该电路是使用 EasyEDA 设计的。

poYBAGLw0DSAcsBqAACcyGpaZ48372.png

这是一个非常简单的电路图。浊度传感器的输出是模拟的,因此连接到 Arduino 的 A0 引脚,I2C LCD 连接到 Arduino 的 I2C 引脚,即 SCL 到 A5,SDA 到 A4。然后将 RGB LED 连接到数字引脚 D2、D3 和 D4。连接完成后,我的硬件设置如下所示。

poYBAGLw0DCATUAqAAdp2V9vcj4406.png

将传感器的 VCC 连接到 Arduino 5v,然后将地线连接到地线。传感器的输出引脚到 Arduino 的模拟 0。接下来,将 LCD 模块的 VCC 和地连接到 Arduino 的 5v 和地。然后SDA转A4,SCL转A5,这两个管脚就是Arduino的I2C管脚。最后将RGB LED的地连接到Arduino的地,并将绿色连接到D3,蓝色连接到D4,红色连接到D5。

编程 Arduino 以测量水中的浊度

计划是显示从 0 到 100 的浊度值。即仪表应显示 0 表示纯液体,100 表示高度混浊的液体。这个Arduino代码也很简单,完整的代码可以在这个页面的底部找到。

首先,我包含了 I2C 液晶库,因为我们使用 I2C LCD 来最小化连接。

#包括 

然后我为传感器输入设置整数。

int sensorPin = A0;

在设置部分,我定义了引脚。

pinMode(3,输出);
pinMode(4,输出);
pinMode(5,输出);

在循环部分,正如我之前提到的,传感器的输出是模拟值。所以我们需要读取这些值。借助 ArduinoAnalogRead函数,我们可以读取循环部分的输出值。

int sensorValue =analogRead(sensorPin);

首先,我们需要了解传感器的行为,这意味着我们需要读取浊度传感器的最小值和最大值。我们可以使用serial.println函数在串行监视器上读取该值。

要获得这些值,首先,自由读取没有任何解决方案的传感器。我得到一个大约 640 的值,然后在发射器和接收器之间放置一个黑色物质,我们得到一个最小值,通常该值为零。所以我们得到了 640 的最大值和 0 的最小值。现在我们需要将这些值转换为 0-100

为此,我使用了Arduino 的地图功能。

int 浊度 = map(sensorValue, 0,640, 100, 0);

然后我在 LCD 显示屏上显示了这些值。

  lcd.setCursor(0, 0); 
  lcd.print("浊度:"); 
  lcd.print(""); 
  lcd.setCursor(10, 0); 
  lcd.print(浊度);

之后,借助if条件,我给出了不同的条件。

if (浊度 < 20) 
{ 
    digitalWrite(2, HIGH); 
    数字写入(3,低);
    数字写入(4,低);
    lcd.setCursor(0, 1); 
    lcd.print("它的清除"); 
}

如果浊度值低于 20,这将激活绿色 LED 并在 LCD 上显示“其清晰”。

if ((浊度 > 20) && (浊度 < 50)) 
{ 
    digitalWrite(2, LOW); 
    数字写入(3,高);
    数字写入(4,低);
    lcd.setCursor(0, 1); 
    lcd.print("它的阴天"); 
  }

如果浊度值在 20 到 50 之间,这将激活蓝色 LED 并在 LCD 上显示“浑浊”。

if ((浊度 > 50) 
{ 
    digitalWrite(2, LOW); 
    digitalWrite(3, HIGH); 
    digitalWrite(4, LOW); 
    lcd.setCursor(0, 1); 
    lcd.print("它的脏"); 
  }

如果浊度值大于 50,这将激活红色 LED 并在 LCD 上显示“它很脏”,如下所示。

poYBAGLw0CqAMWtfAAcaDYUqYe8530.png

只需按照电路图并上传代码,如果一切正常,您应该可以测量水的浊度,并且 LCD 应该会显示水的质量,如上图所示。

#include
LiquidCrystal_I2C lcd(0x27, 2, 16);
int sensorPin = A0;
无效设置()
{
序列号.开始(9600);
液晶显示器开始();
pinMode(2,输出);
pinMode(3,输出);
pinMode(4,输出);
}
无效循环(){
int sensorValue = 模拟读取(sensorPin);
Serial.println(sensorValue);
int 浊度 = map(sensorValue, 0, 750, 100, 0);
延迟(100);
lcd.setCursor(0, 0);
lcd.print("浊度:");
lcd.print("");
lcd.setCursor(10, 0);
lcd.print(浊度);
延迟(100);
如果(浊度 < 20){
数字写入(2,高);
数字写入(3,低);
数字写入(4,低);
lcd.setCursor(0, 1);
lcd.print("它的清除");
}
if ((浊度 > 20) && (浊度 < 50)) {
数字写入(2,低);
数字写入(3,高);
数字写入(4,低);
lcd.setCursor(0, 1);
lcd.print("它的阴天");
}
如果(浊度 > 50){
数字写入(2,低);
数字写入(3,低);
数字写入(4,高);
lcd.setCursor(0, 1);
lcd.print("它的脏");
}
}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试测量
    +关注

    关注

    25

    文章

    884

    浏览量

    90575
  • 浊度传感器
    +关注

    关注

    0

    文章

    29

    浏览量

    10164
  • Arduino
    +关注

    关注

    187

    文章

    6464

    浏览量

    186650
收藏 人收藏

    评论

    相关推荐

    液体流量测量电路

    液体流量测量电路
    发表于 09-11 02:13

    差压变送器在测量液体液位中的应用

    液体液体差压变送器是一种用来测量两个液体压力之间差值的传感器,通常用于测量某一设备或部件前后两端的压差。液体差压变送器,通常分为压阻式,电容
    发表于 10-16 14:02

    WGZ系列便携式浊度计的特点

    WGZ系列便携式浊度计的特点  便携式浊度计用于测量悬浮于水或透明液体中不溶性颗粒物质所产生的光的散射程度,并能定量表征这些悬浮颗粒物质的含量。可以广泛应用于发电厂、纯净水厂、自来水厂
    发表于 12-09 16:00

     便携式浊度仪的测量方法

     便携式浊度仪的测量方法  1.方法原理  根据ISO7027国际标准设计进行测量,利用一束红外线穿过含有待测样品的样品池,光源为具有890nm波长的高发射强度的红外发光二极管,以确保使样品颜色
    发表于 12-09 16:00

    解读浊度计的操作和校准方法

    水样放入样杯,并将样杯平稳置入比色池放好,之后即可开始读数。  浊度计对样品读数稳定后,使用者即可直接从显示屏上获得被测液体浊度数值。浊度计在测定中发现量程选择不对,则应切换量程再次
    发表于 12-09 16:02

    毕业设计-液体位置测量传感

    求大神帮忙下毕业设计,液体位置测量传感本人学的比较渣
    发表于 03-30 23:09

    基于labview的水浊度/水质测量

    利用labview和232串口去控制浊度/水质测量仪。有大佬帮忙吗,扣扣:1328796610,邮箱1328796610@qq.com。救命必有重谢。(T_T)
    发表于 03-01 12:57

    请问如何测量液体的电阻

    问题描述:用万用表测Kcl溶液电阻,装载Kcl溶液的管子不导电,管长L,管内径2mm,测得电阻大约8kΩ,再测量长度为1/2L的管子中的Kcl电阻时,电阻值不变,为什么?液体电阻这样测量是不是不合理?谢谢
    发表于 04-18 20:26

    在线间歇式浊度仪的研究

    在线间歇式浊度仪的研究 根据浊度测量理论推导出液体浊度的散射光测量公式,选用波长>800nm的
    发表于 10-13 00:05 892次阅读
    在线间歇式<b class='flag-5'>浊度</b>仪的研究

    APMS-10G智能化混浊度传感器的性能、使用注意事项及应用范围

    浊度(turbidity)亦称不透明度,主要用于表示水或其他液体的不透明程度。当单色光通过含有悬浮粒子的液体时,悬浮粒子引起的光散射会使单色光的强度被衰减,其衰减量即可用来代表液体
    发表于 04-19 18:19 2839次阅读
    APMS-10G智能化混<b class='flag-5'>浊度</b>传感器的性能、使用注意事项及应用范围

    CN0409:低位至高位水浊度测量系统

    CN0409:低位至高位水浊度测量系统
    发表于 04-24 13:00 2次下载
    CN0409:低位至高位水<b class='flag-5'>浊度</b><b class='flag-5'>测量</b>系统

    光学液体分析原型平台照亮无处不在的传感之路

    液体样品的浊度测量使用悬浮在液体中的颗粒的光散射特性。归根结底,它是液体相对透明度的量度。散射光量和散射角根据颗粒大小、浓度和入射光的波长而
    的头像 发表于 12-14 15:16 642次阅读
    光学<b class='flag-5'>液体</b>分析原型平台照亮无处不在的传感之路

    在线浊度仪介绍

    一、概述 在线浊度仪是带微处理器的水质在线监测仪。在线浊度仪是为测量市政污水、工业废水处理过程、自来水厂等进水悬浮固体浓度及出水浊度而设计的工业在线监测仪表。 二、结构特征 整套
    的头像 发表于 07-21 11:54 1186次阅读

    浊度仪的单位是什么?

    浊度是用以表示水的浑浊程度的单位。浊度,即水的混浊程度,由水中含有微量不溶性悬浮物质,胶体物质所致,ISO标准所用的测量单位为FTU(浊度单位),FTU与NTU(
    的头像 发表于 08-17 09:43 4935次阅读
    <b class='flag-5'>浊度</b>仪的单位是什么?

    水质浊度传感器的工作原理

    水质浊度传感器是一种专门用于测量水质的传感器,主要用于检测水中的浊度
    的头像 发表于 12-20 14:42 1129次阅读