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

【物联网技术与应用】 实验13:雨滴传感器实验

实验13 雨滴传感器实验

【实验介绍】

雨滴传感器或雨滴检测传感器用于检测是否下雨以及降雨。广泛应用于汽车的雨刷系统、智能照明系统和天窗系统。

img

【实验组件】

● Arduino Uno主板* 1

● USB数据线*1

● 雨滴传感器* 1

● 雨滴传感器调理板* 1

● 面包板*1

● 9V方型电池* 1

● 跳线若干

【实验原理】

在雨滴雨水器系统中用雨滴传感器检测降雨量,并转换控制器检测到的信号,然后根据这些信号自动设置雨刮器的间隔以方便地控制雨刮器的电机,在智能照明系统中,自动检测驾驶环境,并调整照明环模式提高恶劣环境下的行车安全,在智能天窗系统中检测是否下雨,如果检测到雨滴,则自动关闭天窗。

我在这个实验中我们使用模块和连接到Arduino Uno电路板D13的LED来构建电路,用Arduino Uno板的A0连接与低传感器模块的A0,将D0连接到引脚D7,将一些水滴到传感器上,下降越多A0处的值越低,当雨滴数量超过设定的阈值时,D0将由高变低相应的LED将亮起。

img

【实验内容】

第一步:建立电路

img

第二步:程序

第三步:编译

第四步:将程序上传至Arduino Uno板

代码如下:

/******************************************************name:Raindrop Detectionfunction:drop some water onto the sensor,When the quantities of the raindrops exceeds the threshold,the LED on the raindrop sensor module and that hooked up with pin 13 of the Arduino Uno board light up*******************************************************/const int analogPin=A0; //the AO of the module attach to A0const int digitalPin=7;  //D0 attach to pin7const int ledPin=13;  //pin 13 built-in ledint Astate=0; //store the value of A0boolean Dstate=0;  //store the value of D0void setup() {pinMode(ledPin,OUTPUT); //set the ledPin as OUTPUT pinMode(digitalPin,INPUT);  //set digitalPin as INPUTSerial.begin(9600);  //initialize the serial monitor}void loop() {Astate=analogRead(analogPin);  //read the value of A0Serial.print("A0: ");Serial.println(Astate);  //print the value in the serial monitorDstate=digitalRead(digitalPin);  //read the value of D0Serial.print("D0: ");Serial.println(Dstate);if(Dstate==HIGH)  {digitalWrite(ledPin,LOW);}else //if the value of D0 is LOW{digitalWrite(ledPin,HIGH); //turn on the led}}

【实验结果】

现在将一些水滴到传感器上,当雨滴数量超过阈值时,雨滴传感器模块上的LED和Arduino Uno板的针脚13上的LED点亮,否则他们的保持关闭,可以通过电位器调整传感器的灵敏度,这意味着设置它的阈值。

未接触水,如下图:

img

接触水,LED点亮,如下图:

img

【实验体会】

通过这次实验,我掌握了运用雨滴传感器检测降雨量,进而依据检测所得信号控制 LED 亮灭的方法。此次实验充分体现出传感器与 Arduino Uno 板协同配合的方式,也让我明白怎样编写程序去读取传感器数值以及管控 LED 的状态。

搭建电路时,得把雨滴传感器模块的引脚和 Arduino Uno 板相应引脚相连,借助面包板与跳线来完成整个连接操作。这个环节得有足够的耐心与细心,如此才能保证电路连接准确无误。 编写程序阶段,我运用了 analogRead()函数和 digitalRead()函数来读取传感器的数值,又利用 digitalWrite()函数对 LED 的状态加以控制。同时还设置了串行监视器,方便查看传感器的读数以及 LED 的实时状态。

把程序上传至 Arduino Uno 板后,便开始实验测试。在未接触水的情况下,LED 处于关闭状态;而当接触到水且雨滴数量超出设定的阈值时,LED 就会点亮。并且通过调整电位器能够改变传感器的灵敏度,相应地阈值也随之改变。

这次实验让我对传感器的工作原理以及 Arduino Uno 的基本操作有了清晰的理解,还展现出利用传感器检测环境信息并据此做出对应控制的具体做法。往后我可以基于此进一步拓展这个实验,使其应用到其他领域的智能控制系统当中,为更广泛的实践探索打下良好基础。

相关文章:

【物联网技术与应用】 实验13:雨滴传感器实验

实验13 雨滴传感器实验 【实验介绍】 雨滴传感器或雨滴检测传感器用于检测是否下雨以及降雨。广泛应用于汽车的雨刷系统、智能照明系统和天窗系统。 【实验组件】 ● Arduino Uno主板* 1 ● USB数据线*1 ● 雨滴传感器* 1 ● 雨滴传感器调理板* 1 ● 面包板*1 ● 9V方型…...

帝国cms电脑pc站url跳转到手机站url的方法

本文讲解一下帝国cms电脑网站跳转到手机动态网站和手机静态网站的方法,笔者以古诗词网 www.gushichi.com为例,为大家介绍操作步骤。方法一:帝国pc站跳转到手机静态站 1、假设我们有帝国cms 电脑网站www.XXX.com,手机网站m.XXX.com &#xf…...

Django models中的增删改查与MySQL SQL的对应关系

在 Django 中,models 提供了一种高层次的抽象来与数据库进行交互,使得开发者可以使用 Python 代码而非直接编写 SQL 来执行增删改查(CRUD)操作。下面将详细介绍 Django 的 ORM(对象关系映射)操作如何对应到…...

双指针——快乐数

一.题目描述 202. 快乐数 - 力扣(LeetCode) 二.题目解析 我们要判断一个数是不是快乐数要通过它的三个性质来进行判断。这个数会一直变化,由它的各个位的平方和重新构成这个数。如果这个数在变化的过程中变成了1,那么就是快乐数…...

Docker 默认安装位置迁移

一、找到 Docker 默认安装位置 [roothost-192-168-0-1 ~]# docker info Client:Version: 26.1.0Context: defaultDebug Mode: falseServer:Containers: 31Running: 31Paused: 0Stopped: 0Images: 128Server Version: 26.1.0Storage Driver: overlay2Backing Filesystem:…...

jmeter跨进程实现变量共享-全局变量

jmeter跨进程实现变量共享-全局变量 例如:登录一次,后面业务进行多线程并发场景 新增一个setUp线程组,在setUp线程组下,添加登录接口 使用json提取器,提取token Authorization $.token 0添加BeanShell 后置处理程序…...

Vue.js组件(6):echarts组件

1 前言 本章主要对常用的echars图表展示进行基本的组件封装。使用该组件前需要在项目中引入echarts。官网:Apache ECharts npm install echarts --save 2 图表组件 2.1 折线图组件 组件属性:chartId,指定图表挂载div的id,注意不…...

yolov3算法及其改进

yolov3算法及其改进 1、yolov3简介2、yolov3的改进2.1、backbone的改进2.1.1、darknet19相对于vgg16有更少的参数,同时具有更快的速度和更高的精度2.1.2、resnet101和darknet53,同样具有残差结构,精度也类似,但是darknet具有更高的速度2.2、FPN2.3、anchor-base与grid-cell…...

Python + 深度学习从 0 到 1(02 / 99)

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【深度学习从 0 到 1】谢谢你的支持! ⭐ 手写数字分类: Keras MNIST 数据集 手写数字分类…...

HTML+CSS+JS制作在线书城网站(内附源码,含5个页面)

一、作品介绍 HTMLCSSJS制作一个在线书城网站,包含首页、分类页、排行榜页、新书上架页、特惠专区页等5个静态页面。其中每个页面都包含一个导航栏、一个主要区域和一个底部区域。 二、页面结构 1. 顶部导航栏 包含网站Logo、搜索框、用户登录/注册入口、购物车图…...

【FastAPI】中间件

【FastAPI】中间件 一、概述二、作用2.1 日志记录与监控2.2 身份验证与授权2.3 CORS(跨域资源共享)2.4 Gzip压缩2.5 会话管理2.6 自定义功能2.7 执行顺序 三、 总结四、相关链接 一、概述 FastAPI的中间件提供了一种强大的机制,允许开发者在…...

5个实用的设计相关的AI网站

在这个日新月异的数字时代,我们不断面临着新的挑战和机遇。随着人工智能(AI)技术的飞速发展,越来越多的AI工具开始融入到设计相关的工作流程中,极大地提升了工作效率和创作能力。今天,我非常兴奋地向大家介…...

STL 六大组件

C STL(标准模板库)主要由六大组件构成,它们相互协作,为C程序员提供了功能强大且高效的通用数据结构和算法工具,以下是对这六大组件的详细介绍: 1. 容器(Containers) 概述&#xff…...

Python选择题训练工具:高效学习、答题回顾与音频朗读一站式体验

一、引言 随着人工智能技术的不断进步,传统的教学方式已经逐渐向智能化、互动化转变。在众多英语测试题型中,选择题作为一种高效的方式被广泛应用于各类培训与考试中。为了帮助学生高效学习与自测,本篇文章将采用Python编写一款基于 Python …...

Python实现机器学习驱动的智能医疗预测模型系统的示例代码框架

以下是一个使用Python实现机器学习驱动的智能医疗预测模型系统的示例代码框架。这个框架涵盖了数据收集(爬虫)、数据清洗和预处理、模型构建(决策树和神经网络)以及模型评估的主要步骤。 1. 数据收集(爬虫&#xff09…...

AWS Certified AI Practitioner 自学考试心得

学习目标: 考取 AWS Certified AI Practitioner 那什么是 AWS Certified AI Practitioner 认证 是基础级的认证 比较简单 — 学习内容: 1. AWS网站自学网站 极客时间免费课程:http://gk.link/a/12sJL 配合极客时间课程的章节测试检验自…...

JQ中的each()方法与$.each()函数的使用区别

介绍 jquery里的 each() 是一个强大的遍历工具,用于迭代集合中的元素,并为每个元素执行指定的函数‌。它既可以用于遍历 jQuery对象集合,也可以用于遍历普通的数组或对象。 each()对象遍历 语法: $(selector).each(function(in…...

滚珠丝杆与直线导轨的区别

滚珠丝杆和直线导轨是两种常见的精密机械传动装置,它们的作用是实现直线运动,在工业自动化和精密机械领域中扮演着重要的角色。尽管它们都用于实现直线运动,但它们在结构以及性能特点上还是存在一些区别: 一、工作原理 1、滚珠丝…...

【Ovis】Ovis1.6的本地部署及推理

Ovis简介 Ovis是阿里国际AI团队开源的多模态大模型,看新闻介绍效果不错,在多个场景的测试下都能达到SOTA,其中的Ovis1.6-Gemma2-9B在30B参数以下的模型中取得了综合排名第一,赶超MiniCPM-V-2.6等行业优秀大模型。所以我也部署一个…...

C语言结构体位定义(位段)的实际作用深入分析

1、结构体位段格式 struct struct_name {type [member_name] : width; };一般定义结构体,成员都是int、char等类型,占用的空间大小是固定的在成员名称后用冒号来指定位宽,可以指定每个成员所占用空间,并且也不用受结构体成员起始…...

Python open方法详解

编程中的 open() 方法:核心用法全解 open() 是操作文件的核心方法,几乎所有编程语言(Python、Java、JavaScript 等)都有这个方法,最常用、最适合新手的是 Python 的 open(),我直接给你最实用、能马上用的完整指南。 一、Python open() 基础语法 作用:打开文件,并返回…...

OpenClaw+Qwen3.5-9B低成本自动化:自建模型比API省80%

OpenClawQwen3.5-9B低成本自动化:自建模型比API省80% 1. 为什么我要研究OpenClaw的成本问题 上个月我尝试用OpenClaw自动化处理积压的3000多份PDF文件,结果被商用API的账单吓了一跳——单次归档任务的token消耗折算下来居然要12美元。这让我开始思考&a…...

OpenClaw开发提效方案:Qwen3-14b_int4_awq辅助日志分析与告警

OpenClaw开发提效方案:Qwen3-14b_int4_awq辅助日志分析与告警 1. 为什么需要AI辅助日志分析 作为一名全栈开发者,我每天要面对数十个微服务的日志文件。最头疼的就是半夜被报警电话吵醒,然后花几个小时在一堆日志中寻找那个导致服务崩溃的关…...

OpenClaw视觉增强:Phi-3-vision-128k-instruct与本地OCR工具链整合

OpenClaw视觉增强:Phi-3-vision-128k-instruct与本地OCR工具链整合 1. 为什么需要视觉增强的OpenClaw 上周我需要从一堆扫描版PDF中提取表格数据时,突然意识到一个问题:现有的OCR工具要么识别率感人,要么对复杂版式束手无策。更…...

Java 25 虚拟线程新特性与实践:构建更高效的并发系统

Java 25 虚拟线程新特性与实践:构建更高效的并发系统 别叫我大神,叫我 Alex 就好。 一、引言 大家好,我是 Alex。Java 虚拟线程(Virtual Threads)自 Java 21 引入以来,已经成为 Java 并发编程的重要变革。…...

Matlab综合能源系统优化代码:CSP电站与ORC整合建模求解

Matlab综合能源系统优化代码 考虑光热电站(CSP电站)和ORC的综合能源系统优化的建模求解 程序中包含了新能源发电、ORC循环等,以运行成本、碳排放成本、弃风弃光惩罚成本等为目标函数,基于9节点电网、6节点气网、8节点热网、4节点冷…...

BK1086/88 DSP收音机Arduino库详解

1. 项目概述PU2CLR BK108X 是一款专为 BEKEN BK1086 和 BK1088 高集成度数字信号处理(DSP)广播接收芯片设计的 Arduino 库。该库并非通用型通信封装,而是面向射频接收系统工程实践的底层控制框架,其核心价值在于将芯片复杂的寄存器…...

新手福音:通过快马平台零代码基础玩转picoclaw机器人板

作为一个刚接触嵌入式开发的新手,拿到picoclaw控制器时既兴奋又忐忑。这块小小的板子能控制电机、读取传感器,但如何让它动起来却让我一头雾水。好在发现了InsCode(快马)平台,不需要从零开始啃文档,就能快速生成可运行的示例代码。…...

典型的TCP客户端单次事务处理VI 通过已建立的TCP连接,发送一段数据(命令/字符串),等待设备响应后读取指定字节数的返回数据

这个VI程序框图详细解析(LabVIEW TCP通信事务VI)这是一个典型的TCP客户端单次事务处理VI(常命名为“TCP Send & Receive.vi”或“TCP通信子VI”)。 它的核心功能是:通过已建立的TCP连接,发送一段数据&a…...

手把手教你用GPT-4搭建电商智能客服(附避坑指南)

电商智能客服实战:从GPT-4选型到高并发优化的全链路指南 当一位顾客深夜询问"刚买的羽绒服钻绒怎么办"时,传统客服机器人可能只会回复"请联系售后邮箱"。而搭载GPT-4的智能客服不仅能识别商品问题,还能同步提供退换货指引…...