Arduino 驱动雨滴检测模块

news/2024/7/4 18:47:58/文章来源:https://www.cnblogs.com/jeikerxiao/p/18280419

使用Arduino Uno R3驱动雨滴检测模块的详细说明、接线图和代码示例。

所需材料

  • Arduino Uno R3
  • 雨滴检测模块
  • 面包板和连接线

接线步骤

  1. 供电和地线连接

    • 将Arduino Uno的5V引脚连接到雨滴检测模块的VCC引脚。
    • 将Arduino Uno的GND引脚连接到雨滴检测模块的GND引脚。
  2. 信号线连接

    • 将雨滴检测模块的数字信号引脚连接到Arduino Uno的数字引脚D2。

连接图示

Arduino Uno R3            雨滴检测模块
----------------          ------------
5V  ------------------->  VCC
GND ------------------->  GND
D2  ------------------->  DO (Digital Output)

示例代码

const int rainSensorPin = 2;  // 雨滴检测模块连接到D2
int rainSensorState = 0;      // 存储雨滴检测模块的状态void setup() {pinMode(rainSensorPin, INPUT);  // 设置雨滴检测模块引脚为输入Serial.begin(9600);             // 启动串口通信
}void loop() {// 读取雨滴检测模块的状态rainSensorState = digitalRead(rainSensorPin);// 如果检测到雨滴,则输出 LOWif (rainSensorState == LOW) {Serial.println("It's raining");} else {Serial.println("doesn't rain");}delay(500);  // 延迟0.5秒
}

代码详解

  1. 定义引脚

    • rainSensorPin:连接到雨滴检测模块的数字信号引脚(D2)。
    • rainSensorState:用于存储雨滴检测模块的当前状态。
  2. 初始化

    • setup()函数中,设置雨滴检测模块引脚模式为输入。
    • pinMode(rainSensorPin, INPUT):设置雨滴检测模块引脚为输入。
    • Serial.begin(9600):启动串口通信。
  3. 读取雨滴检测模块状态

    • 使用digitalRead(rainSensorPin)读取雨滴检测模块引脚的状态,并存储在rainSensorState中。
  4. 判断并输出状态

    • 如果检测到雨滴,rainSensorState为HIGH,输出"Rain detected"。
    • 如果没有检测到雨滴,rainSensorState为LOW,输出"No rain"。
  5. 延迟

    • delay(500):延迟0.5秒,以便每0.5秒读取一次状态。

总结

以上步骤和代码示例展示了如何使用Arduino Uno R3驱动雨滴检测模块并通过串口输出雨滴检测的状态。当检测到雨滴时,串口会输出"Rain detected",当没有检测到雨滴时,串口会输出"No rain"。

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

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

相关文章

免费可视化工具在智慧物流中是如何被应用的?

在现代智慧物流中,免费可视化工具正扮演着越来越重要的角色。这些工具通过数据的可视化展示,使物流管理更加高效、透明和智能化。免费可视化工具可以将复杂的物流数据转换为直观的图表和图形,帮助管理者实时监控和分析物流运作情况,从而优化资源配置和提升物流效率。免费可…

一秒即懂财务报表勾稽关系

财务报表的勾稽关系!审计!审计试算平衡!算平衡表!项目经理!财务总监!会计!出纳6财务报表勾稽关系属于会计做账是否正确的要且快速的方法! 6财务人员对外提供报表是非常正常且频繁的情,股东要求,税局纳税申报,发行股票,发券,公司年度总结等等场合。 6而实际现状是,…

Redis Sentinal(哨兵模式详解)

参考文章 https://www.cnblogs.com/wzh2010/p/18030907 1、什么是哨兵模式 在实际生产环境中,服务器难免会遇到一些突发状况:服务器宕机,停电,硬件损坏等等,一旦发生,后果不堪设想。哨兵模式的核心还是主从模式的演变,只不过相对于主从模式,在主节点宕机导致不可写的情…

Profibus DP主站转Modbus网关连接智能化电表通讯

Profibus DP主站转Modbus网关(XD-MDPBM20),是实现不同工业通信协议之间互联互通的设备,主要将Profibus DP协议转换为Modbus协议,实现数据的双向传输。通过Profibus DP主站转Modbus网关(XD-MDPBM20),可以有效实现现场设备和控制系统之间的无缝连接,提高生产效率。Profi…

[XDCTF 2015]filemanager

[XDCTF 2015]filemanager ​/www.tar.gz​拿到源码 我直接在github上看了https://github.com/CTFTraining/xdctf_2015_filemanager common.inc.php将传入的所有参数使用addslashes转义函数 ​​ 然后分析upload.php 使用basename​函数确保文件名中没有目录路径,防止路径遍历攻…

解码未来城市:探秘数字孪生的奥秘

在科技日新月异的今天,"数字孪生"(Digital Twin)这一概念如同一颗璀璨的新星,照亮了智慧城市、智能制造等多个领域的前行之路。本文将深入浅出地解析数字孪生的定义、技术原理、应用场景及未来发展,带您一窥这股引领时代潮流的力量。数字孪生的定义数字孪生,简…

linux系统配置中文字体,playwright中文乱码

复制字段 从本地Windows (C:\Windows\Fonts ) 复制一个中文字体simsun.tcc 在Linux系统上安装字体 yum -y install fontconfig mkdir -p /usr/share/fonts/chinese cd /usr/share/fonts/chinese# 将simsun.tcc上传到/usr/share/fonts/chinese,并修改权限: chmod -R 755 /usr/…

transformer中的attention机制详解

transformer中用到的注意力机制包括self-attention(intra-attention)和传统的attention(cross-attention),本篇文章将在第一节简述这两者的差别,第二节详述self-attention机制,第三节介绍其实现 self-attention和attention的区别 传统attention机制 发生在decoder和enco…

Profibus转Modbus网关在智能化水处理系统优化改造的应用

Profibus协议和Modbus协议作为两种常见的工业通信协议,各自具有一定的优势和适用范围。而通过Profibus转Modbus网关(XD-MDPB100)的加入将两者结合使用,可以实现不同设备之间的无缝连接和数据传输,为罐内压载水处理系统的监控和控制提供了更为便利的解决方案。通过Profibus…

代码随想录算法训练营第四十四天 | 322.零钱兑换 279.完全平方数 139.单词拆分

322.零钱兑换 题目链接 文章讲解 视频讲解class Solution { public:int coinChange(vector<int>& coins, int amount) {// dp[j]: 表示能凑成面额j所需的最少硬币个数vector<int> dp(amount + 1, 0);// 递推公式: dp[j] = min(dp[j - coins[i]] + 1, dp[j])// …

中奖与抽奖次序无关

中奖与抽奖次序无关前言 典例剖析 【人教 2019A 版教材\(P_{262}\) 页习题10.3 第 6 题改编】在一个袋子中放 \(6\) 个白球,\(4\) 个红球,摇匀后随机摸球 \(3\) 次,采用放回和不放回两种方式摸球 . 设事件 \(A_{i}\)=“第 \(i\) 次摸到红球”,\(i=1,2,3\) . (1). 在两种摸球…

为什么 [] == ![] 为 true?

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣前言面试官问我,[] == ![] 的结果是啥,我:蒙一个true; 面试官:你是对的;我:内心非常高兴; 面试官:解释一下为什么; 我:一定要冷静,要不就说不会吧;这个时候,面试官笑了,同学,感觉你很慌的一批啊!不必慌张…

odoo学习-2

1. 新加自定义模块odoo同级目录下新建my_addons文件夹加入自己的模块(注意:views中也要创建一个xml文件) 2. model代码-写在models下面的py文件中from odoo import api, fields, modelsclass EpidemicRecord(models.Model):_name = epidemic.record # 数据库表明name = fie…

C++定义函数指针,回调C#

C++定义函数指针,回调C#C++定义函数指针。 typedef int (__stdcall * delegate_func)(int a, int b); 暴露接口:int __stdcall CPPcallCSharp(delegate_func func); 方法实现:int __stdcall CPPcallCSharp(delegate_func func) { return func(1,2); } 头文件calculator.h#if…

《DNK210使用指南 -CanMV版 V1.0》第七章 基于CanMV的MicroPython语法开发环境搭建

第七章 基于CanMV的MicroPython语法开发环境搭建章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.03)购买链接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html 5)…

金蝶云星空字段之间连续触发值更新

场景说明字段A配置了字段B的计算公式,字段B配置了自动C的计算公式,修改A的时候,触发了B的重算,但是C触发不到。 具体需求:配置值更新事件:料本,料本系数, PCBA加工费,整机装配费,税率%【字段A】公式:供应链含税报价 = ( 料本 * 料本系数 + PCBA加工费 + 整…

PaddleNLP UIE 实体关系抽取

目录环境依赖配置SSH克隆代码训练定制代码结构数据标注准备语料库数据标注导出数据数据转换doccanoLabel Studio模型微调问题处理找不到 paddlenlp.trainer找不到GPUprotobuf==3.20.2CUDA/cuDNN/paddle PaddleNLP UIE 实体关系抽取 PaddlePaddle用户可领取免费Tesla V100在线算…

Python对历年高考分数线数据用聚类、决策树可视化分析一批、二批高校专业、位次、计划人数数据|附代码数据

全文链接:https://tecdat.cn/?p=36626 原文出处:拓端数据部落公众号 随着高等教育的普及与竞争的日益激烈,高考作为通往高等教育的重要门槛,其分数线的波动、高校及专业的选择成为了社会广泛关注的焦点。考生和家长在面临众多高校和专业的选择时,往往需要综合考虑多种因素…

阿里228x82y还原之递归数组解密

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 某里228 分析逆向流程 228递归函数str解密 原理就是用数组push最后填充下,然…

ffmpeg在Windows上的安装

首先进入官网Download FFmpeg 选择windows版本下载想要的版本 Gyan.dev的版本可能会更符合Windows标准,而BtbN的版本可能会更加开放和跨平台往下拉选择想要的版本进行下载 我下载的是第一个下载好之后解压文件复制bin目录的路径 接着按照下面的顺序进行环境配置,结束后一路确…