当前位置: 首页 > news >正文

ESP32设备驱动-土壤湿度传感器驱动

土壤湿度传感器驱动

1、土壤湿度传感器介绍

土壤湿度传感器由两个探头组成,用于测量水的体积含量。 两个探头让电流通过土壤,然后得到电阻值来测量水分值。

当有更多的水时,土壤会传导更多的电,这意味着电阻会更小。 因此,水分含量会更高。 干燥的土壤导电性差,所以当水少时,土壤的导电性就会减少,这意味着电阻会增加。 因此,水分含量会更低。

在这里插入图片描述

该模块还包含一个电位器,用于设置阈值。 该阈值将由 LM393 比较器进行比较。 输出 LED 将根据此阈值点亮和熄灭。

2、硬件准备

  • ESP32 NodeMCU V3开发板一块
  • 土壤湿度传感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

传感器引脚ESP32开发板引脚
Vin5v
GndGnd
OUTADC0/36

3、软件准备

  • Arduino IDE

在前面的文章中,对如何搭建ESP32开发环境做了详细

相关文章:

ESP32设备驱动-土壤湿度传感器驱动

土壤湿度传感器驱动 1、土壤湿度传感器介绍 土壤湿度传感器由两个探头组成,用于测量水的体积含量。 两个探头让电流通过土壤,然后得到电阻值来测量水分值。 当有更多的水时,土壤会传导更多的电,这意味着电阻会更小。 因此,水分含量会更高。 干燥的土壤导电性差,所以当…...

公网远程连接MongoDB数据库【内网穿透】

文章目录1. 安装数据库2. 内网穿透2.1 创建隧道映射2.2 测试随机公网地址远程连接3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供…...

SQL注入——floor报错注入

目录 一,涉及到的函数 rand() floor() concat_ws() as别名,group by分组 count() 报错原理 一,涉及到的函数 rand()函数:随机返回0~1间的小数 floor()函数:小数向…...

P6入门:在EPS下创建项目(P6Professional)

引言 在 Primavera P6 中,一旦创建了企业项目结构EPS,就可以开始向该结构添加项目。项目是一组活动和数据,它们构成了创建产品或服务的计划。项目有开始日期和结束日期,可以包括活动、资源、工作分解结构、组织分解结构、日历、关…...

Linux安装及管理应用和账号和权限管理 讲解

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放&#xff0…...

【JDK1.8 新特性】Stream API

1. 前言 Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API。Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提供Java程序员的生产力&…...

Springboot Maven打包跳过测试的五种方式总结 -Dmaven.test.skip=true

使用Maven打包的时候,可能会因为单元测试打包失败,这时候就需要跳过单元测试。也为了加快打包速度,也需要跳过单元测试。 Maven跳过单元测试五种方法。 在正式环境中运行Springboot应用,需要先打包,然后使用java -ja…...

静态链接和动态链接的区别

链接即为编译(包含预编译,编译和汇编过程)完成之后的过程,此过程又分为静态链接和动态链接两种方式。 1、静态链接 静态链接就是在生成可执行文件的时候(链接阶段),把所有需要的函数的二进制代…...

MATLAB学习笔记1

MATLAB学习笔记1 - 向量和矩阵 Matlab的数组可以是行向量,列向量,矩阵形式等 1.利用[ ]创建数组 例:包含7和9的一个数组,使用空格或,为行 x [7 9]//x是一个1*2的矩阵 y[7,9]//y是一个1*2的矩阵例:包含7和…...

Gorm -- 查询记录

文章目录查询单条记录通过结构体查询对应表指定表并将查询一条记录结果放至字典中按照主键查询查询多行记录按照主键查询使用结构体查询指定表名查询并放至字典列表中指定查询字段查询条件Where 条件(、like、in)通过结构体或字典设置查询条件或非排序Li…...

「Python 基础」错误、调试与测试

文章目录1. 错误处理2. debugassertloggingpdbIDE3. unittest编写运行setUp 与 tearDown4. doctest1. 错误处理 try:# 可能有异常的代码块r 10/int(2) except ValueError as e:# 有异常时执行,捕获指定类型及其子类型的错误print(ValueError, e) except ZeroDivis…...

17万字 JUC 看这一篇就够了(一) (精华)

JUC 今天我们来进入到 Java并发编程 JUC 框架的学习 ,内容比较多,但希望我们都能静下心来,耐心的看完这篇文章 文章目录JUC进程概述对比线程创建线程ThreadRunnableCallable线程方法APIrun startsleep yieldjoininterrupt打断线程打断 park终…...

C++右值引用/移动语义

在此之前,我们所用的引用,其实都是左值引用。 int a 10; int& ra a; 下面我们来重新认识一下引用: 而何为左值?左值引用其实是什么?请往下看~ 左值是一个表示数据的表达式(如变量名或解引用的指针)&#xff…...

小樽C++ 多章⑧ (叁) 指针与字符串、(肆) 函数与指针

目录 叁、函数与字符串 肆、函数与指针 4.1 指针作为函数参数 4.2 函数返回指针 4.3 函数指针与函数指针数组 4.4 结构体指针 ​​​​​​​​​​​​​​小樽C 多章⑧ (壹) 指针变量https://blog.csdn.net/weixin_44775255/article/details/129031168 小樽C 多章⑧ …...

Mybatis-Plus

新建个项目 引入lombok devtools web mysql驱动 pom.xml引入mybatis-plus依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version> </dependency> sp…...

yolov8行人识别教程(2023年毕业设计+源码)

yolov8识别视频直接上YOLOv8的结构图吧&#xff0c;小伙伴们可以直接和YOLOv5进行对比&#xff0c;看看能找到或者猜到有什么不同的地方&#xff1f; Backbone&#xff1a;使用的依旧是CSP的思想&#xff0c;不过YOLOv5中的C3模块被替换成了C2f模块&#xff0c;实现了进一步的轻…...

CAD指令框找不到了怎么调出来?CAD指令框调出方法

CAD制图过程中&#xff0c;为了提高设计师的绘图效率&#xff0c;经常会用到各种CAD命令快捷键&#xff0c;可是CAD指令框突然不见了&#xff0c;这就让人很头疼了。CAD指令框找不到了怎么调出来呢&#xff1f;本节内容小编以浩辰CAD软件为例来给大家分享一下CAD指令框调出方法…...

一般用哪些工具做大数据可视化分析?

做数据分析这些年来&#xff0c;从刚开始的死磕excel&#xff0c;到现在成为数据分析行业的偷懒大户&#xff0c;使用过的工具还真不少&#xff01; 这篇分享一些我在可视化工具上的使用心得&#xff0c;由简单到复杂&#xff0c;按照可视化类型一共分为纯统计图表类、GIS地图…...

Python每日一练(20230308)

目录 1. Excel表列名称 ★ 2. 同构字符串 ★★ 3. 分割回文串 II ★★★ &#x1f31f; 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 1. Excel表列名称 给你一个整数 columnNumber &#xff0c;返回它在 Excel 表中相对应的列名称。 例如&#xff1…...

jvm之堆解读

堆&#xff08;Heap&#xff09;的核心概述 堆针对一个JVM进程来说是唯一的&#xff0c;也就是一个进程只有一个JVM&#xff0c;但是进程包含多个线程&#xff0c;他们是共享同一堆空间的。 一个JVM实例只存在一个堆内存&#xff0c;堆也是Java内存管理的核心区域。 Java堆区…...

告别代码恐惧!用KRobot图形化编程,10分钟搞定Arduino巡线小车(附完整接线图)

零代码玩转Arduino巡线小车&#xff1a;KRobot图形化编程全攻略 第一次接触Arduino时&#xff0c;看到满屏的C代码是不是头皮发麻&#xff1f;作为教育工作者或创客爱好者&#xff0c;你可能更希望把时间花在创意实现上&#xff0c;而不是纠结于语法错误。现在&#xff0c;通过…...

信息发布平台毕设实战:从零构建高可用内容分发系统

背景痛点&#xff1a;为什么你的毕设平台总感觉“差点意思”&#xff1f; 很多同学在做“信息发布平台”这类毕业设计时&#xff0c;往往只关注功能实现&#xff0c;忽略了背后的架构和性能问题。结果就是&#xff0c;一个看似功能齐全的平台&#xff0c;一旦面临稍微复杂的场景…...

【北约】认知雷达信号处理 Cognitive Radar Signal Processing

本文仅供学习使用如有侵权&#xff0c;请联系本人删除 This article is for educational purposes only. If there is any copyright infringement, please contact me to have it removed....

保姆级教程:Windows下GDC-client下载TCGA数据的完整配置流程(含环境变量与配置文件修改)

Windows平台TCGA数据下载全流程&#xff1a;从环境配置到实战避坑指南 在生物信息学研究中&#xff0c;TCGA数据库无疑是癌症基因组学的宝库。但对于刚入门的研究者来说&#xff0c;获取这些数据往往成为第一道门槛。本文将彻底解决Windows用户在使用GDC-client工具时的各种&qu…...

Qwen3.5-4B-Claude-Opus惊艳效果展示:同一问题下普通回答vs结构化推理对比

Qwen3.5-4B-Claude-Opus惊艳效果展示&#xff1a;同一问题下普通回答vs结构化推理对比 1. 模型能力概述 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是一个经过特殊优化的推理模型&#xff0c;它在标准问答能力的基础上&#xff0c;重点强化了结构化分析和分步骤推理…...

DAMOYOLO-S入门教程:如何扩展自定义类别——微调适配行业新标签

DAMOYOLO-S入门教程&#xff1a;如何扩展自定义类别——微调适配行业新标签 你是不是遇到过这样的问题&#xff1f;手头有一个很棒的通用目标检测模型&#xff0c;比如DAMOYOLO-S&#xff0c;它识别猫猫狗狗、汽车行人很在行&#xff0c;但你想让它帮你检测生产线上的特定零件…...

Zephyr RTOS 线程实战:从信号量到消息队列,手把手教你搞定多任务通信

Zephyr RTOS线程通信实战&#xff1a;信号量与消息队列的深度应用指南 在嵌入式开发领域&#xff0c;多任务间的有效通信是构建可靠系统的关键所在。想象这样一个场景&#xff1a;你的物联网设备需要同时处理传感器数据采集、实时数据处理、无线通信传输等多个任务&#xff0c;…...

OpenClaw内存优化方案:GLM-4.7-Flash在8GB设备运行

OpenClaw内存优化方案&#xff1a;GLM-4.7-Flash在8GB设备运行 1. 为什么需要内存优化 去年冬天&#xff0c;当我第一次尝试在旧款MacBook Pro&#xff08;8GB内存&#xff09;上运行GLM-4.7-Flash时&#xff0c;系统频繁卡顿甚至崩溃的经历让我记忆犹新。这促使我深入研究了…...

OpenClaw本地模型成本对比:ollama-QwQ-32B vs 公有云API

OpenClaw本地模型成本对比&#xff1a;ollama-QwQ-32B vs 公有云API 1. 为什么需要关注OpenClaw的模型成本 当我第一次把OpenClaw接入本地ollama-QwQ-32B模型时&#xff0c;看着终端里不断刷新的日志&#xff0c;突然意识到一个严重问题&#xff1a;这个看似免费的本地模型&a…...

AI元人文构想:从自感养护到伦理中间件——一种智能时代的人文回应

AI元人文构想&#xff1a;从自感养护到伦理中间件——一种智能时代的人文回应---引言&#xff1a;技术时代的人文焦虑智能算法的深度嵌入&#xff0c;正在重塑人类感知、判断与意义生成的方式。推荐系统预判我们的欲望&#xff0c;社交平台定义我们的关系&#xff0c;大语言模型…...