proteus中仿真arduino的水位测试传感器

一、原理介绍

我们这里使用的水位传感器,只能说是一个小实验用途的水位传感器。我们首先上图

如上图所示,线没有连接,传感器由许5对裸露在外的铜线片作为传感部分,当浸入水中时这些铜线片会被水桥接。 这些被水连接起来的铜线,根据水浸没的程度,电流的流通量会不一样。 就好像一个可变电阻(就像一个电位器),其电阻根据水位的变化而变化。 电阻的变化与传感器浸没的多少相对应。所以,我们通过电阻来判断水的浸没程度,自然就是用模拟信号口来接收信号了。

二、电路原理图

如果你找不到proteus中的watersensor器件,可以在这里下载

如果我们需要连接一个显示用的LCD,可以如下连接。

三、测试代码

cpp 复制代码
#define POWER_PIN  8
#define SIGNAL_PIN A5
#define SENSOR_MIN 0
#define SENSOR_MAX 521

int value = 0; // variable to store the sensor value
int level = 0; // variable to store the water level

void setup() {
  Serial.begin(9600);
  pinMode(POWER_PIN, OUTPUT);   // configure D7 pin as an OUTPUT
  digitalWrite(POWER_PIN, LOW); // turn the sensor OFF
}

void loop() {
  digitalWrite(POWER_PIN, HIGH);  // turn the sensor ON
  delay(10);                      // wait 10 milliseconds
  value = analogRead(SIGNAL_PIN); // read the analog value from sensor
  digitalWrite(POWER_PIN, LOW);   // turn the sensor OFF

  level = map(value, SENSOR_MIN, SENSOR_MAX, 0, 4); // 4 levels
  Serial.print("Water level: ");
  Serial.println(level);

  delay(1000);
}
相关推荐
智者知已应修善业2 天前
【proteus 74160实现模60计数器模41计数器】2024-5-27
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
iCxhust9 天前
C# 命令行指令 查看二进制文件
开发语言·单片机·嵌入式硬件·c#·proteus·微机原理·8088单板机
智者知已应修善业11 天前
【proteus设计文氏正弦波信号发生器】2023-5-9
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
智者知已应修善业15 天前
【proteus仿真CD4511抢答器4路】2024-5-13
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
iCxhust17 天前
Proteus例程导入方法
操作系统·proteus·课程设计·微机原理·8086最小系统·8088单板机
iCxhust17 天前
8086 Proteus 8253制作跑表
单片机·嵌入式硬件·proteus·微机原理·8088单板机
东小东博客18 天前
STM32 WS2812 Proteus仿真 汉字显示 SPI控制
stm32·嵌入式硬件·proteus
biyezuopinvip1 个月前
基于STC89C51单片机的多波形信号发生器设计与Proteus仿真
单片机·proteus·课程设计·proteus仿真·基于stc89c51单片机的·多波形·信号发生器设计
BT-BOX1 个月前
Stm32CubeMX+Proteus仿真--STM32外部中断
stm32·单片机·proteus
chuwengeileyan11 个月前
proteus 连续引脚标号
proteus