亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

基于物联网的水质传感器

组件和用品

Arduino UNO
× 1
公/母跳线
× 1
HC-05 蓝牙模块
× 1
RGB 扩散共阴极
× 1
电阻 330 ohm
× 3
旋转电位器(通用)
× 1
RGB LCD 屏蔽套件,16x2 字符显示
× 1
电阻 1k ohm
× 1

必要的工具和机器

剥线器和切割器,26-14 AWG 实心和绞合线

应用和在线服务

Arduino IDE
Ardutooth

关于这个项目

水是我们日常生活中必不可少的资源。因此,我们必须确保它具有良好的使用质量。

什么是 TDS?

TDS 代表总溶解固体。顾名思义,它为我们提供了溶解在一定量水中的固体数量,单位为 ppm(百万分之一)。 TDS 是根据电导率 [S/m] 计算的。电导率越高,TDS 值越高。以下是不同类型水的 TDS 值列表:

  • 纯净水:80-150
  • 自来水:250-350
  • 地下水:500-1000
  • 海水:约 30000

根据WHO(世界卫生组织)的建议,饮用水的适宜TDS在300以下。但是,TDS低于100的水不能饮用,因为它缺乏必需的矿物质。超过 300 的水被认为太“硬”,因为它含有比需要的更多的矿物质。

通常,我们使用 TDS 笔来测量水的 TDS。但是,我们无法将笔与 Arduino 集成。因此,有可以与 Arduino 集成的特殊 TDS 仪表可用。但是,我决定不使用 TDS 笔来做这个项目。

电路

阿杜诺

  • 将 Arduino 的 5V 连接到面包板的一个电源轨
  • 将 Arduino 的接地连接到面包板的另一个电源轨
  • 将 1k 欧姆电阻的一端接地,另一端连接面包板。将 Arduino 上的模拟引脚 A0 连接到电阻器。最后,将一根电线连接到电阻器,将另一根电线连接到 5V。将这些电线的自由端连接到鳄鱼夹上。

液晶显示 显示

  • 将 VSS 引脚连接到接地轨
  • 将 VDD 引脚连接到 5V 电源轨
  • 将 V0 连接到电位器的中心引脚
  • 将电位器的两端连接到 5V 和地
  • 将 RS 引脚连接到 Arduino 引脚 7
  • 将 R/W 引脚连接到接地轨
  • 将 E 引脚连接到 Arduino 引脚 8
  • 将 D4 连接到 Arduino 引脚 10
  • 将 D5 连接到 Arduino 引脚 11
  • 将 D6 连接到 Arduino 引脚 12
  • 将 D7 连接到 Arduino 引脚 13

HC-05 蓝牙模块

  • 将 VCC 引脚连接到 5V 电源轨
  • 将 GND 引脚接地
  • 将 TX 引脚连接到 Arduino 引脚 3(用作 RX)
  • 将 RX 引脚连接到 Arduino 引脚 2(用作 TX)

RGB LED

  • 将公共阴极(最长引脚)接地
  • 通过 330 欧姆电阻将红色引脚(阴极引脚右侧)连接到 Arduino 上的 PWM 引脚 9
  • 通过 330 欧姆电阻将绿色引脚(阴极引脚左侧)连接到 Arduino 上的 PWM 引脚 6
  • 通过 330 欧姆电阻将蓝色引脚(最左侧)连接到 Arduino 上的 PWM 引脚 5

自由线间电阻计算推导

我们将使用欧姆定律,该定律指出通过电阻为 R 的电阻器的电压 [V] 与流经该电阻器的电流 [I] 成正比。换句话说,V =IR

尽管在 2 个电阻器 [R₁ - 1000 欧姆和 R₂ - 自由线之间] 与 Arduino 上的模拟引脚 A0 之间有一条线连接,但该线的电阻可以忽略不计,因此,我们可以说最小的电流流过电线。所以,R₁和R₂是串联的。

所以,我们可以说 V₁ =IR₁V₂ =IR₂ .

因此,我们可以说V₂/V₁=IR₂/IR₁ =R₂/R₁

.但是,我们不知道 V₂。

我们知道,在电阻的串联组合中,V₁+V₂ =V ,其中 V =5 伏。由此,我们可以得到 V₂ =5-V₁

最后,将我们得到的值替换为 V₂ V₂/V₁ =R₂/R₁ ,我们可以定义一个变量缓冲区为5-V₁/V₁ , 而不是 V₂/V₁ .

最后,我们可以说R₂ =buffer * R₁ .

工作

我们将计算被测水的电阻,并从中获得电阻率。为此,我们必须考虑容器的长度和横截面积。

R =r L/A=> r =R A/L 

从电阻率,我们可以得到电导率

c =1/r 

最后从电导率得到TDS

TDS =c*7000 

图书馆

  • 液晶库:https://www.arduinolibraries.info/libraries/liquid-crystal
  • 软件序列库:https://pdfpunk.weebly.com/softwareserial-library-download.html

您可以下载这些库并将它们添加到您的 Arduino IDE,或者您可以转到工具 -> 管理库 -> 搜索您要下载的库

代码

  • 水质监测代码
水质监测代码Arduino
//include libraries#include #include //对于蓝牙 - 创建一个名为 BTserial 的对象,RX 引脚为 3,TX 引脚为 2SoftwareSerial BTserial(3,2); // 接收 | TX//我们所有变量的声明float read;int pin =A0;float vOut =0;//电压降2个点float vIn =5;float R1 =1000;float R2 =0;float buffer =0;float TDS;float R =0;//两线间电阻float r =0;//电阻率float L =0.06;//线间距离mdouble A =0.000154;//线横截面积m^2float C =0;//以S/mfloat为单位的电导率Cm =0;//以mS/cmint为单位的电导率rPin =9;int bPin =5;int gPin =6;int rVal =255;int bVal =255;int gVal =255;//我们将使用这个公式得到使用欧姆定律后的电阻率 -> R =r L/A => r =RA/L//creating lcd object from Liquid Crystal libraryLiquidCrystal lcd(7,8,10,11,12,13 );void setup() { //初始化BT串口和串口监视器Serial.begin(9600); BTserial.begin(9600); //初始化lcd lcd.begin(16, 2); //设置rgb LED引脚(在Arduino上都是pwm引脚)作为输出pinMode(rPin,OUTPUT); pinMode(bPin,OUTPUT); pinMode(gPin,OUTPUT); pinMode(pin,INPUT); //打印停滞消息到 LCD lcd.print("Conductivity:");}void loop() { reading =analogRead(A0); vOut =读数*5/1023; Serial.println(reads);// Serial.println(vOut);缓冲区 =(vIn/vOut)-1; R2 =R1*缓冲器; Serial.println(R2);延迟(500); //将电压转换为电阻//应用上述公式r =R2*A/L;//R=rL/A //将电阻率转换为导电率C =1/r;厘米 =C*10; //以mS/cm为单位的电导率转换为TDS TDS =Cm *700; //设置LCD光标到下一行lcd.setCursor(0,1); lcd.println(C); //根据模拟读数在rgb LED上显示相应的颜色 if(reads <600 ) { if (reads <=300){ setColor( 255, 0, 255 ); } if (reads> 200){ setColor( 200, 0, 255 ); } } else{ if( read <=900 ) { setColor( 0, 0, 255 ); } if( read> 700 ) { setColor( 0, 255, 255 ); } }//通过bluetoothBTserial.print(C);BTserial.print(",");BTserial.print(TDS);BTserial.print(";");delay(500);发送数据到手机上的Ardutooth app }void setColor(int red, int green, int blue){analogWrite(rPin, 255 - red);模拟写入(gPin,255 - 绿色);模拟写入(bPin,255 - 蓝色); }

定制零件和外壳

我用了一个旧试管,我不得不做这个。我在管子的两端戳洞,从两端插入电线。最后,为了固定电线,我附上了一些腻子。

示意图


制造工艺

  1. 基本物联网 – RaspberryPI HDC2010 如何
  2. 基于 Raspberry PI 的 IoT 项目连接 DHT11 传感器
  3. 蜂窝物联网:智能垃圾桶
  4. 氦空气质量传感器
  5. MCP3008 上的高灵敏度水传感器
  6. Windows 10 IoT Core 和 SHT15
  7. 多温度传感器
  8. Arduino 供电的水壶
  9. 运动感应水枪
  10. 当地气象站
  11. 使用红外传感器的基于 Arduino 的自动水龙头
  12. 碳基空气质量传感器