常用传感器讲解四--水位传感器(water sensor)

简介: 常用传感器讲解四

截屏2023-12-27 下午7.21.01.png

具体讲解

该传感器通过使用一系列五个连接到系统接地的裸露走线来工作。在每两个接地迹线之间交错插入一个感测迹线,五个接地迹线和总共五个感测迹线。感测走线连接到一个1兆欧的上拉电阻。感测迹线被拉高,直到一滴水或水平面使感测迹线接地。理论上,此传感器将输出0-1024之间的模拟信号,但随着PCB上的走线长度的增加,我发现可用范围在480至〜710之间。传感器未设计为完全浸入水中,请谨慎安装,以便仅PCB上裸露的走线会与水接触。传感器的输出电压为0-4.2 V,因此如果仅需要低/高指示,则可以将其用作数字输入。

模拟量输出值对应于与传感器底部的以下距离(近似值):

480 = 0毫米

530 = 5毫米

615 = 10毫米

660 = 15毫米

680 = 20毫米

690 = 25毫米

700 = 30毫米

705 = 35毫米

710 = 40毫米

传感器分辨率随着水位的增加而降低。

==安装
1.将草图上传到您的Arduino。

2.使用该项目随附的原理图组装电路。

** LED:LED电阻器必须安装在电路接地和LED之间。如果您的LED的一个分支比另一个分支更长,则需要将更长的分支连接到电源电压(Arduino的D2)。

*注意:我使用的传感器线长约为2.5英尺,LED的线长为2英尺。这使我可以将Arduino放在远离水的地方,并将LED布线到树枝的末端以提高可视性。

3.按照下面的校准说明进行操作(也包括在草图中):

**校准/设置* *

a)将Arduino连接到IDE并打开串行监视器。

b)将深度传感器插入水中,直到您认为是触发满指示器所需的最小深度。请注意串行监视器中指示的值,以用作全电平。

*任何大于等于=的值都会触发相应的全闪烁代码。

c)重复步骤2,确定您将分配给LOW值的值。

*高于此值但低于FULL值的任何值都将触发相应的INTERMEDIATE闪烁代码。

*低于此值的任何值都会触发相应的LOW闪烁代码。

d)将步骤2和3中确定的值插入到草图中的const int FULL和LOW值中。

e)使用更新后的值上传草图,现在传感器已校准。

4.将Arduino放在某种类型的外壳上,以防止水,运动部件或短路损坏。

5.将系统安装到您的应用程序中。

编号零件名称零件编号数量

R1 1k 1/4 W电阻TE Con​​nectivity CFR16J1K0(或类似产品)1

L1 LED CREE C503B-RAN-CZ0C0AA2(或类似产品)1

S1传感器Solu SL067 1

IC1 Arduino纳米A000005 1

PS电源您可以选择5 Vdc(> = 300mA)1

电路连接

截屏2023-12-27 下午7.21.32.png

实现代码


const int full = 575;
const int low = 490;
int depthSensor = 0; //Set depthSensor input pin to Analog 0.
int lastValue = 0;
char printBuffer[128];

/* The following line sets the LED pin to the corresponding digital pin of the 
Arduino.  You can set these to any digital pin as needed
*/

const int whiteLED = 2;

void setup()
{
   
   
Serial.begin(9600); // Begin serial communication to obtain sensor values during calibration.
pinMode(whiteLED, OUTPUT); // Set LED pin to OUTPUT mode.
}

void loop()
{
   
   
int value = analogRead(depthSensor); // Read the sensor values.
if(((lastValue >= value) && ((lastValue - value) > 10)) || (lastValue = 10)) /* If the delta 
  between last and current value is > 10, display the current value. */
{
   
   
  // Displays depth sensor value to serial port.
  sprintf(printBuffer, "ADC%d level is %d\n", depthSensor, value);
  Serial.print(printBuffer);
  Serial.println();
  //Serial.println(value);
  //Serial.println();
  // Set last value to current value for next loop.
  lastValue - value;
}
if(value >= full)
{
   
   
  // FULL
  for(int x = 0; x < 3; x++){
   
   
  digitalWrite(whiteLED, HIGH);
  delay(800);
  digitalWrite(whiteLED, LOW);
  delay(800);
  }
}
else if((value < full) && (value >= low))
{
   
   
  // INTERMEDIATE
  for(int x = 0; x < 2; x++){
   
   
  digitalWrite(whiteLED, HIGH);
  delay(1000);
  }
}
else
{
   
   
  //LOW
  for(int x = 0; x < 4; x++){
   
   
  digitalWrite(whiteLED, HIGH);
  delay(100);
  digitalWrite(whiteLED, LOW);
  delay(100);
  }
}
delay(3000);  // Read current sensor value every three seconds.
}
相关文章
|
传感器 编解码 数据处理
毕业设计|基于STM32单片机的水位浑浊度检测设计
毕业设计|基于STM32单片机的水位浑浊度检测设计
1828 0
|
芯片
STM32外设系列—sg90(舵机)
本文介绍了什么是舵机,舵机的控制原理。以sg90为例,介绍了180°舵机的控制方法,给出了详细的程序设计。最后,介绍了360°舵机的控制方法。
3895 1
STM32外设系列—sg90(舵机)
|
传感器
DIY_实现光敏电阻传感器简单控制LED
DIY_实现光敏电阻传感器简单控制LED
3638 2
|
存储 JSON 物联网
设备管理组件功能介绍
设备管理组件功能介绍
640 2
|
监控 安全 物联网
物联卡安全问题
物联卡安全性涵盖技术、管理和使用安全。技术上,通过专用通道和加密技术保障数据传输安全;管理上,实施实名认证与风险防控措施;使用中需合规操作、警惕诈骗并定期检查更新。尽管如此,仍需防范管理漏洞、诈骗及非法流量风险,确保安全运行。
|
数据可视化 定位技术 vr&ar
商场3D楼层导视软件功能详解与实施效益
**维小帮3D楼层导视软件**提供创新的商场导航体验:3D地图清晰呈现楼层布局,跨楼层导航智能规划路径;实时定位防止迷路;AR实景导航增强沉浸感;广告推送及可视化招商平台助力商业运营。软件结合VR、AR技术,优化顾客导航,促进营销,实现智慧化管理与招商,引领商场服务升级。
795 1
商场3D楼层导视软件功能详解与实施效益
|
JSON 自然语言处理 网络协议
基于QT实现的词典(附源码)
主要用到的技术:JSON字符串,堆栈窗体(方便以后加新功能),QTcpSocket,LcdNumber,时间戳的转换。 通信用的是TCP通信,将TCP封在了一个头文件中,哪个文件想去通过TCP链接发送消息就可以使用头文件 QT端写的是客户端,服务器还是在我笔记上次的Linux系统下写的服务器,做了一些小修改
343 1