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

ESP32-c3实现获取土壤湿度(ADC模拟量)

1硬件实物图 

2引脚定义

3使用说明

4实例代码

// 定义土壤湿度传感器连接的模拟输入引脚
const int soilMoisturePin = 2;  // 假设连接到GPIO2

void setup() {
  // 初始化串口通信
  Serial.begin(115200);
}

void loop() {
  // 读取土壤湿度传感器的模拟值
  int sensorValue = analogRead(soilMoisturePin);

  // 将模拟值转换为电压值(假设ESP32-C3的ADC参考电压为3.3V)
  float voltage = sensorValue * (3.3 / 4095.0);

  // 将电压值转换为湿度百分比(假设传感器在干燥时为0V,湿润时为3.3V)
  int moisturePercentage = map(sensorValue, 0, 4095, 0, 100);

  // 打印原始模拟值、电压值和湿度百分比到串口监视器
  Serial.print("传感器值: ");
  Serial.print(sensorValue);
  Serial.print(" | 电压: ");
  Serial.print(voltage);
  Serial.print("V | 水分: ");
  Serial.print(moisturePercentage);
  Serial.println("%");

  // 延迟1秒
  delay(1000);
}


http://www.kler.cn/a/529729.html

相关文章:

  • 新站如何快速获得搜索引擎收录?
  • CSS(快速入门)
  • ComfyUI中For Loop的使用
  • C++并发:设计无锁数据结构
  • 深入理解Java引用传递
  • 数据库对象
  • R语言统计分析——数据类型
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.9 广播陷阱:形状不匹配的深层隐患
  • 【TypeScript】基础:数据类型
  • GIS教程:全国数码商城系统
  • 【C语言练习题】圣经数
  • 自定义数据集 ,使用朴素贝叶斯对其进行分类
  • 蓝桥杯例题六
  • 如何在Windows、Linux和macOS上安装Rust并完成Hello World
  • OpenGL学习笔记(五):Textures 纹理
  • 深入解析 vmstat 命令的工作原理
  • 海思ISP开发说明
  • 2025年Android开发趋势全景解读
  • 基于java SSM的房屋租赁系统设计和实现
  • MATLAB中的IIR滤波器设计
  • 【前端学习路线】前端优化 详细知识点学习路径(附学习资源)
  • Rust 的基本类型有哪些,他们存在堆上还是栈上,是否可以COPY?
  • 影视文件大数据高速分发方案
  • Vue - shallowRef 和 shallowReactive
  • 一文讲解HashMap线程安全相关问题(上)
  • Synchronized和ReentrantLock的区别