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

一、原理介绍

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

二、电路原理图

在这里插入图片描述
如果你找不到proteus中的watersensor器件,可以在这里下载。
如果我们需要连接一个显示用的LCD,可以如下连接。

三、测试代码

#define POWER_PIN  8
#define SIGNAL_PIN A5
#define SENSOR_MIN 0
#define SENSOR_MAX 521int value = 0; // variable to store the sensor value
int level = 0; // variable to store the water levelvoid setup() {Serial.begin(9600);pinMode(POWER_PIN, OUTPUT);   // configure D7 pin as an OUTPUTdigitalWrite(POWER_PIN, LOW); // turn the sensor OFF
}void loop() {digitalWrite(POWER_PIN, HIGH);  // turn the sensor ONdelay(10);                      // wait 10 millisecondsvalue = analogRead(SIGNAL_PIN); // read the analog value from sensordigitalWrite(POWER_PIN, LOW);   // turn the sensor OFFlevel = map(value, SENSOR_MIN, SENSOR_MAX, 0, 4); // 4 levelsSerial.print("Water level: ");Serial.println(level);delay(1000);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/166442.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【NPM】vuex 数据持久化库 vuex-persistedstate

在 GitHub 上找到:vuex-persistedstate。 安装 npm install --save vuex-persistedstate使用 import { createStore } from "vuex"; import createPersistedState from "vuex-persistedstate";const store createStore({// ...plugins: [cr…

android studio打开flutter项目报红

一、android studio打开flutter项目报红,如下图: 二、解决方法: 2.1 在这个build.gradle添加以下代码,如图: 2.2 在build.gradle最顶部添加如下代码: def localProperties new Properties() def localPr…

基于指数分布优化的BP神经网络(分类应用) - 附代码

基于指数分布优化的BP神经网络(分类应用) - 附代码 文章目录 基于指数分布优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.指数分布优化BP神经网络3.1 BP神经网络参数设置3.2 指数分布算法应用 4.测试结果…

STM32不使用 cubeMX实现外部中断

这篇文章将介绍如何不使用 cubeMX完成外部中断的配置和实现。 文章目录 前言一、文件加入工程二、代码解析exti.cexti.hmain.c 注意:总结 前言 实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX 。实验目的:如何不…

AdaBoost:增强机器学习的力量

一、介绍 机器学习已成为现代技术的基石,为从推荐系统到自动驾驶汽车的一切提供动力。在众多机器学习算法中,AdaBoost(自适应增强的缩写)作为一种强大的集成方法脱颖而出,为该领域的成功做出了重大贡献。AdaBoost 是一…

面试题:谈谈过滤器和拦截器的区别?

文章目录 一、拦截器和过滤器的区别二、拦截器和过滤器的代码实现1、拦截器2、过滤器 三、总结1、什么是Filter及其作用介绍2、Filter API介绍3、Filter链与Filter生命周期 四、拦截器五、过滤器和拦截器的区别 一、拦截器和过滤器的区别 1、拦截器(Interceptor)只对action请求…

【鸿蒙软件开发】ArkTS常见组件之单选框Radio和切换按钮Toggle

文章目录 前言一、Radio单选框1.1 创建单选框1.2 添加Radio事件1.3 场景示例二、切换按钮Toggle2.1 创建切换按钮2.2 创建有子组件的Toggle2.3 自定义样式selectedColor属性switchPointColor属性 2.4 添加事件2.5 示例代码 总结 前言 Radio是单选框组件,通常用于提…

SpringCloud之gateway基本使用解读

目录 基本介绍 概述 API网关介绍 路由(Route) 断言(Predicate) 过滤器(Filter) 简单JAVA代码实战 实战架构 teacherservice服务 gateway服务 测试 断言工厂 过滤器工厂 全局过滤器 &#xf…

前端导出数据到Excel(Excel.js导出数据)

库&#xff1a;Excel.js&#xff08;版本4.3.0&#xff09; 和 FileSaver&#xff08;版本2.0.5&#xff09; CDN地址&#xff1a; <script src"https://cdn.bootcdn.net/ajax/libs/exceljs/4.3.0/exceljs.min.js"></script> <script src"http…

什么是SpringMVC?简单好理解!

1、SpringMVC是什么&#xff1f; SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级web框架&#xff0c;通过把Model&#xff0c;View&#xff0c;Controller分离&#xff0c;将web层进行职责解耦&#xff0c;把复杂的web应用分成逻辑清晰的几部分。简化开发&…

UE5场景逐渐变亮问题

1、显示 -- 关闭眼部适应 2、项目设置 -- 关闭自动曝光 参考&#xff1a; 虚幻5/UE5 场景亮度逐渐变亮完美解决方法 - 哔哩哔哩

专业修图软件 Affinity Photo 2 mac中文版编辑功能

Affinity Photo for Mac是应用在MacOS上的专业修图软件&#xff0c;支持多种文件格式&#xff0c;包括psD、PDF、SVG、Eps、TIFF、JPEG等。 Affinity Photo mac提供了许多高级图像编辑功能&#xff0c;如无限制的图层、非破坏性操作、高级的选择工具、高级的调整层、HDR合成、全…

使用 PyAudio、语音识别、pyttsx3 和 SerpApi 构建简单的基于 CLI 的语音助手

德米特里祖布☀️ 一、介绍 正如您从标题中看到的&#xff0c;这是一个演示项目&#xff0c;显示了一个非常基本的语音助手脚本&#xff0c;可以根据 Google 搜索结果在终端中回答您的问题。 您可以在 GitHub 存储库中找到完整代码&#xff1a;dimitryzub/serpapi-demo-project…

RT-Thread学习笔记(四):RT-Thread Studio工具使用

RT-Thread Studio工具使用 官网详细资料实用操作1. 查看 RT-Thread RTOS API 文档2.打开已创建的工程3.添加头文件路径4. 如何设置生成hex文件5.新建工程 官网详细资料 RT-Thread Studio 用户手册 实用操作 1. 查看 RT-Thread RTOS API 文档 2.打开已创建的工程 如果打开项目…

Breach 1.0 靶机

Breach 1.0 环境配置 设置 VMware 上的仅主机模式网卡&#xff0c;勾选 DHCP 自动分配 IP&#xff0c;将子网改为 192.168.110.0/24 将靶机和 kali 连接到仅主机网卡 信息搜集 存活检测 详细扫描 后台网页扫描 网页信息搜集 Initech被入侵&#xff0c;董事会投票决定引入…

pytorch nn.Embedding 读取gensim训练好的词/字向量(有例子)

最近在跑深度学习模型&#xff0c;发现Embedding随机性太强导致模型结果有出入&#xff0c;因此考虑固定初始随机向量&#xff0c;既提前训练好词/字向量&#xff0c;不多说上代码&#xff01;&#xff01; 1、利用gensim训练字向量&#xff08;词向量自行修改&#xff09; #…

基于SegFormer的改进语义分割该网络

摘要 场景解析是无人驾驶领域的一个关键任务&#xff0c;但是传统的语义分割网络往往只关注于提取更深层次的图像语义信息而忽略了全局信息对图像分割任务的重要性。另外随着图像在深层次卷积网络中的传递&#xff0c;卷积核天然的滤波作用会使得图像的边缘趋于平滑而丢失细节特…

Visual Studio 2022下载安装的详细步骤-----C语言编辑器

目录 一、介绍 &#xff08;一&#xff09;和其他软件的区别 &#xff08;二&#xff09;介绍编写C语言的编辑器类型 二、下载安装 三、创建与运行第一个C语言程序 &#xff08;一&#xff09;创建项目 &#xff08;二&#xff09;新建文件 &#xff08;三&#xff09…

深度学习---神经网络基础

深度学习概述 机器学习是实现人工智能的一种途径&#xff0c;深度学习是机器学习的一个子集&#xff0c;深度学习是实现机器学习的一种方法。与机器学习算法的主要区别如下图所示&#xff1a; 传统机器学习算术依赖人工设计特征&#xff0c;并进行特征提取&#xff0c;而深度学…

数据结构----算法--五大基本算法(这里没有写分支限界法)和银行家算法

数据结构----算法–五大基本算法&#xff08;这里没有写分支限界法&#xff09;和银行家算法 一.贪心算法 1.什么是贪心算法 在有多个选择的时候不考虑长远的情况&#xff0c;只考虑眼前的这一步&#xff0c;在眼前这一步选择当前的最好的方案 二.分治法 1.分治的概念 分…