基于arduino的土壤湿度检测

news2025/1/19 2:41:42

 

1.总体设计框图

 

    本浇花系统总体上分为硬件和软件两大组成部分。硬件部分包括Arduino  UNO开发板、温湿度传感器、通信模块、浇水执行系统和液晶显示等。软件部分包括Android客户端。系统结构如图1所示    本浇花系统总体上分为硬件和软件两大组成部分。硬件部分包括Arduino  UNO开发板、温湿度传感器、通信模块、浇水执行系统和液晶显示等。软件部分包括Android客户端。系统结构如图1所示  

  1. 2.系统的硬件设计

2.1系统硬件的简述

1,传感器适用于土壤的湿度检测;

2,模块中蓝色的电位器是用于土壤湿度的阀值调节,

顺时针调节,控制的湿度会越大,逆时针越小

3,数字量输出D0可以与单片机直接相连,通过单片机来检测高低电平,由此来检测土壤湿度;

4,小板模拟量输出AO(0~1023)可以和AD模块相连,通过AD转换,可以获得土壤湿度更精确的数值;

2.2单片机模块的设计

2.2.1单片机的功能特性描述

图2-1 Arduino实物图

              

图2-2 Arduino引脚图

Arduino UNO可以通过3种方式供电,而且能自动选择供电方式:

外部直流电源通过电源插座供电。

电池连接电源连接器的GND和VIN引脚。

USB接口直接供电。

电源引脚说明:

    VIN --- 当外部直流电源接入电源插座时,可以通过VIN向外部供电;也可以通过此引脚向UNO直接供电;VIN有电时将忽略从USB或者其他引脚接入的电源。

    5V --- 通过稳压器或USB的5V电压,为UNO上的5V芯片供电。

    3.3V --- 通过稳压器产生的3.3V电压,最大驱动电流50mA。

    GND --- 地脚。

输入输出:

    14路数字输入输出口:工作电压为5V,每一路能输出和接入最大电流为40mA。每一路配置了20-50K欧姆内部上拉电阻(默认不连接)。除此之外,有些引脚有特定的功能

    串口信号RX(0号)、TX(1号): 与内部 ATmega8U2 USB-to-TTL 芯片相连,提供TTL电压水平的串口接收信号。

    外部中断(2号和3号):触发中断引脚,可设成上升沿、下降沿或同时触发。

    脉冲宽度调制PWM(3、5、6、9、10 、11):提供6路8位PWM输出。

    SPI(10(SS),11(MOSI),12(MISO),13(SCK)):SPI通信接口。

    LED(13号):Arduino专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭。

    6路模拟输入A0到A5:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整输入上限。除此之外,有些引脚有特定功能

    TWI接口(SDA A4和SCL A5):支持通信接口(兼容I2C总线)。

    AREF:模拟输入信号的参考电压。

Reset:信号为低时复位单片机芯片。

2.3温度采集系统的设计

2.3.1湿度传感器的概述

  1. 叉形设计,方便插入土壤
  2. 模块插入土壤后,输出电压随着土壤湿度升高而增大

土壤湿度检测的基本特性:

  1. 供电:3.3v 或者 5v
  2. 输出信号:0~4.2v
  3. 额定电流: 35mA
  4. 输出范围及对应的土壤湿度

2.3.2传感器的借口说明

用于土壤的湿度检测。可通过电位器调节土壤湿度的阀值,顺时针调节,控制的湿度会越大,逆时针越小;湿度低于设定值时,DO输出高电平,模块提示灯亮;湿度高于设定值时,DO输出低电平,模块提示灯灭。工作电压3.3V-5V。3V时,在空气中AO读取的值最大为695 , 浸泡在水里的 最小值245;5V时,在空气中AO读取的值最大为1023 ,浸泡在水里的最小值 245。

2.3.3硬件连接

VCC接 Arduino 3.3V或5V
GND接 Arduino GND
AO 接 ArduinoAnalog
DO接 Arduino Digital 4

                

附录

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode算法题---第2天

注:大佬解答来自LetCode官方题解 80.删除有序数组的重复项Ⅱ 1.题目 2.个人解答 var removeDuplicates function (nums) {let res [];for (let index 0; index < nums.length; index) {let num 0;if (res.includes(nums[index])) {for (let i 0; i < res.length; …

Python2020年06月Python二级 -- 编程题解析

题目一 数字转汉字 用户输入一个1~9&#xff08;包含1和9&#xff09;之间的任一数字&#xff0c;程序输出对应的汉字。 如输入2&#xff0c;程序输出“二”。可重复查询。 答案: 方法一 list1[一,二,三,四,五,六,七,八,九] while True:n int(input(请输入1~9之间任意一个数字…

Windows 安装CMake

CMake 简介 CMake是一个开源的、跨平台的自动化构建系統&#xff0c;用來管理软件构建的过程。 其用途主要包括&#xff1a; 1. 跨平台编译&#xff1a;CMake支援Windows&#xff0c;Mac OS&#xff0c;Linux等多种操作系統&#xff0c;且支援多数主流编译器如GCC&#xff0…

如何在 Elasticsearch 中使用 Openai Embedding 进行语义搜索

随着强大的 GPT 模型的出现&#xff0c;文本的语义提取得到了改进。 在本文中&#xff0c;我们将使用嵌入向量在文档中进行搜索&#xff0c;而不是使用关键字进行老式搜索。 什么是嵌入 - embedding&#xff1f; 在深度学习术语中&#xff0c;嵌入是文本或图像等内容的数字表示…

centos 7.9同时安装JDK1.8和openjdk11两个版本

1.使用的原因 在服务器上&#xff0c;有些情况因为有一些系统比较老&#xff0c;所以需要使用JDK8版本&#xff0c;但随着时间的发展&#xff0c;新的软件出来&#xff0c;一般都会使用比较新的JDK版本。所以就出现了我们标题的需求&#xff0c;一个系统内同时安装两个不同的版…

Bartende:Mac菜单栏图标管理软件

Bartender 是一款可以帮助用户更好地管理和组织菜单栏图标的 macOS 软件。它允许用户隐藏和重新排列菜单栏图标&#xff0c;从而减少混乱和杂乱。 以下是 Bartender 的主要特点&#xff1a; 菜单栏图标隐藏&#xff1a;Bartender 允许用户隐藏菜单栏图标&#xff0c;只在需要时…

【Vue】数据监视输入绑定

hello&#xff0c;我是小索奇&#xff0c;精心制作的Vue系列持续发放&#xff0c;涵盖大量的经验和示例&#xff0c;如有需要&#xff0c;可以收藏哈 本章给大家讲解的是数据监视&#xff0c;前面的章节已经更新完毕&#xff0c;后面的章节持续输出&#xff0c;有任何问题都可以…

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

基于SSM的教师办公管理的设计与实现(有报告)。Javaee项目。

演示视频&#xff1a; 基于SSM的教师办公管理的设计与实现&#xff08;有报告&#xff09;。Javaee项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring S…

Selenium Webdriver自动化测试框架

最近正在编写selenium webdriver自动化框架&#xff0c;经过几天的努力&#xff0c;目前基本已经实现了一套即能满足数据驱动、又能满足Web关键字驱动的自动化框架&#xff08;主要基于 antjenkinstestngselenium webdriverjxl实现&#xff09;。通过这次的自动化框架开发&…

[CISCN2019 华北赛区 Day2 Web1]Hack World 布尔注入

正确的值 错误的值 我们首先fuzz一下 发现空格被过滤了 我们首先测试 (1)(1) (1)(2) 确定了是布尔注入了 我们写一下查询语句 (select(ascii(mid(flag,1,1))>1)from(flag))(select(ascii(mid(flag,1,1))102)from(flag)) 确定了f 开头 我们开始写脚本 import string …

喜获殊荣!迅镭激光获评“2023年苏州市质量奖”!

近日&#xff0c;苏州市质量奖评定委员会公示2023年苏州市质量奖评定结果&#xff0c;经过层层严格评审&#xff0c;迅镭激光从众多企业中脱颖而出&#xff0c;成功获评“苏州市质量奖”称号! 苏州市质量奖是苏州市政府设立&#xff0c;授予在经营质量上表现优秀的苏州企业的专…

交换机之间配置手动|静态链路聚合

两台交换机&#xff0c;配置链路聚合&#xff1a; 1、禁止自动协商速率&#xff0c;配置固定速率 int G0/0/1 undo negotiation auto speed 100int G0/0/2 undo negotiation auto speed 100 2、配置eth-trunk int eth-trunk 1 mode manual | lacp-staticint G0/0/1 eth-trun…

notion + nextjs搭建博客

SaaS可以通过博客来获得SEO流量&#xff0c;之前我自己在nextjs上&#xff0c;基于MarkDown Cloudfare来构建博客&#xff0c;很快我就了解到更优雅的方案&#xff1a;notion nextjs搭建博客&#xff0c;之前搭建了过&#xff0c;没有记录&#xff0c;这次刚好又要弄&#xf…

Yolov8-pose关键点检测:模型轻量化创新 | OREPA结合c2f,节省70%的显存!训练速度提高2倍! | CVPR2022

💡💡💡本文解决什么问题:浙大&阿里提出在线卷积重新参数化OREPA,节省70%的显存!训练速度提高2倍! OREPA | GFLOPs从9.6降低至8.2, mAP50从0.921提升至0.931 Yolov8-Pose关键点检测专栏介绍:https://blog.csdn.net/m0_63774211/category_12398833.html ✨✨…

平台登录页面实现(一)

文章目录 一、实现用户名、密码、登录按钮、记住用户表单1、全局css代码定义在asserts/css/global.css 二、用户名、密码、记住用户的双向绑定三、没有用户&#xff0c;点击注册功能实现四、实现输入用户名、密码、点击登录按钮进行登录操作五、实现表单项校验六、提交表单预验…

[python 刷题] 153 Find Minimum in Rotated Sorted Array

[python 刷题] 153 Find Minimum in Rotated Sorted Array 题目&#xff1a; Suppose an array of length n sorted in ascending order is rotated between 1 and n times. For example, the array nums [0,1,2,4,5,6,7] might become: [4,5,6,7,0,1,2] if it was rotated 4…

年度顶级赛事来袭:2023 CCF大数据与计算智能大赛首批赛题上线!

久等了&#xff01; 大数据与人工智能领域年度顶级盛事——2023 CCF大数据与计算智能大赛——首批赛题已上线&#xff0c;大赛火力全开&#xff0c;只等你来挑战&#xff01; 大赛介绍 CCF大数据与计算智能大赛&#xff08;CCF Big Data & Computing Intelligence Contes…

嵌入式Linux应用开发-第十二章设备树的改造

嵌入式Linux应用开发-第十二章设备树的改造 第十二章 LED模板驱动程序的改造&#xff1a;设备树12.1 总结3种写驱动程序的方法12.2 怎么使用设备树写驱动程序12.2.1 设备树节点要与platform_driver能匹配12.2.2 设备树节点指定资源&#xff0c;platform_driver获得资源 12.3 开…

基于vue+Element Table Popover 弹出框内置表格的封装

文章目录 项目场景&#xff1a;实现效果认识组件代码效果分析 封装&#xff1a;代码封装思路页面中使用 项目场景&#xff1a; 在选择数据的时候需要在已选择的数据中对比选择&#xff0c;具体就是点击一个按钮&#xff0c;弹出一个小的弹出框&#xff0c;但不像对话框那样还需…