物联网AI MicroPython传感器学习 之 TDS水质检测传感器

2023-10-16 04:20

本文主要是介绍物联网AI MicroPython传感器学习 之 TDS水质检测传感器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

TDS是Total Dissolved Solids的缩写,中文名总溶解固体,也叫溶解性固体总量,他标识1升水中溶有多少毫克的可溶解性固体。一般来说,TDS值越高,表示水中含有的溶解物越多,水就越不干净;反之,TDS值越低代表水越干净。因此,TDS值的大小,可作为反映水的洁净程度的依据之一。 常用的TDS检测设备为TDS笔,虽然价格低廉,简单易用,但不能把数据传给控制系统,做长时间的在线监测,并做水质状况分析。将TDS探头浸入水中测量水的TDS值。 该产品可应用于生活用水、水培等领域的水质检测。
TDS传感器外观及引脚如下图所示。
image.png
image.png
引脚定义

  • 1:电源负极
  • 2:电源正极
  • 3:输出模拟信号
  • 4:电源指示灯
  • 5:TDS表笔接口

二、技术参数

  • 工作电压:3.3V~5.5V
  • 输出电流:0~2.3V
  • 工作电流:3mA~6mA
  • TDS测量范围:0~1000ppm
  • TDS测量精度:±10%F.S.(25摄氏度)
  • 工作温度:-10°C~65°C
  • 存储温度:-20°C~80°C
  • 模块重量:15g
  • 板子尺寸:42mm x 32mm

注意:TDS表笔不能用于55摄氏度以上的水中
TDS探头放置位置不能太靠近容器边缘,否则会影响测量结果
TDS探头仅头部与导线为防水,可浸入水中,和信号转接板的连线接口处不防水

三、软件接口

TDS(adcObj,T) - 创建TDS传感器驱动对象

  • 函数原型

tdsObj = TDS(adcObj,T=25)

  • 参数说明
参数类型必选参数?说明
adcObjADC传入ADC对象
TNumber水温,单位:摄氏度,默认值为25
  • 返回值

TDS传感器对象成功,返回tdsObj对象;TDS传感器对象创建失败,抛出Exception

  • 示例代码
from machine import ADC, Pin
import tds# 初始化 ADC 类型的设备
adcObj = ADC(Pin(32))
tdsObj=tds.TDS(adcObj, T=26)
print("tdsObj inited!")
  • 输出
tdsObj inited!

getTDS() - 获取水质检测结果

  • 函数功能:

获取当前水质检测结果

  • 函数原型:

TDS.getTDS()

  • 参数说明:

  • 返回值:

测量水质并返回水质监测结果,单位:ppm

  • 示例:
from machine import ADC, Pin
import tds# 初始化 ADC 类型的设备
adcObj = ADC(Pin(32))
tdsObj=tds.TDS(adcObj, T=26)
print("tdsObj inited!")
tds = tdsObj.getTDS()
print("TDS measure result:", tds)
  • 输出
tdsObj inited!
TDS measure result: 153

setTemperature() - 设置水温

  • 函数功能:

设置当前水温

  • 函数原型:

TDS.setTemperature(T)

  • 参数说明:
参数类型必选参数?说明
TNumber水温,单位:摄氏度
相同水质下不同温度水的导电率是不同的,所以需要用水温对测量结果进行校准
  • 返回值:

  • 示例:
from machine import ADC, Pin
import tds# 初始化 ADC 类型的设备
adcObj = ADC(Pin(32))
tdsObj=tds.TDS(adcObj, T=26)
print("tdsObj inited!")tdsObj.setTemperature(28)
print("set temperature done")tds = tdsObj.getTDS()
print("TDS measure result:", tds)
  • 输出
tdsObj inited!
set temperature done
TDS measure result: 151

四、接口案例

  • 案例代码
from machine import ADC, Pin
import tds
import utime# 初始化 ADC 类型的设备
adcObj = ADC(Pin(32))
tdsObj = tds.TDS(adcObj, T=26)
print("tdsObj inited!")tdsObj.setTemperature(28)
print("set temperature done")while True:tds = tdsObj.getTDS()print("TDS measure result:", tds)utime.sleep(1)
  • 输出
tdsObj inited!
set temperature done
TDS measure result: 150
TDS measure result: 153
...

五、工作原理

TDS传感器检测的是“溶解性固体总量”,这些可溶解的物质有很多,包括钙、钠、镁离子和碳酸根离子、碳酸氢根离子、氯离子、硫离子等等。
TDS的检测原理是利用正负电极形成高低电场,让水中的离子向一定的电场方向移动,移动的离子流过的电流形成一定的数值,数值越大,水中的杂质和导电性离子就越多。不过水质条件会影响TDS检测的准确性,如水温太高就不行,同样的水质,温度越高TDS值也会越高。
进行TDS测量需要如下3个步骤:

  1. 通过ADC接口读取TDS传感器引脚3的模拟电压测量结果,测量结果经过电压单位转换,用Vt标识,单位:V
  2. 用温度值(T,单位:摄氏度)对电压测量结果进行校准,结果用Vc标识,计算公式:Vc=Vt_(1+0.02_(T - 25))
  3. 将校准过后的电压转换成水质的ppm值,用T标识,计算公式:T=66.71 _ Vc _ Vc _ Vc - 127.93 _ Vc _ Vc + 428.7 _ Vc,单位:ppm

参考文献及购买链接

[1] TDS水质检测传感器购买链接

这篇关于物联网AI MicroPython传感器学习 之 TDS水质检测传感器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/219010

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]