当前位置: 首页 > 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 的基本操作有了清晰的理解,还展现出利用传感器检测环境信息并据此做出对应控制的具体做法。往后我可以基于此进一步拓展这个实验,使其应用到其他领域的智能控制系统当中,为更广泛的实践探索打下良好基础。

http://www.lryc.cn/news/509753.html

相关文章:

  • 帝国cms电脑pc站url跳转到手机站url的方法
  • Django models中的增删改查与MySQL SQL的对应关系
  • 双指针——快乐数
  • Docker 默认安装位置迁移
  • jmeter跨进程实现变量共享-全局变量
  • Vue.js组件(6):echarts组件
  • yolov3算法及其改进
  • Python + 深度学习从 0 到 1(02 / 99)
  • HTML+CSS+JS制作在线书城网站(内附源码,含5个页面)
  • 【FastAPI】中间件
  • 5个实用的设计相关的AI网站
  • STL 六大组件
  • Python选择题训练工具:高效学习、答题回顾与音频朗读一站式体验
  • Python实现机器学习驱动的智能医疗预测模型系统的示例代码框架
  • AWS Certified AI Practitioner 自学考试心得
  • JQ中的each()方法与$.each()函数的使用区别
  • 滚珠丝杆与直线导轨的区别
  • 【Ovis】Ovis1.6的本地部署及推理
  • C语言结构体位定义(位段)的实际作用深入分析
  • 儿童影楼管理系统:基于SSM的创新设计与功能实现
  • 青蛇人工智能学家
  • uniapp+vue 前端防多次点击表单,防误触多次请求方法。
  • 【ES6复习笔记】rest参数(7)
  • Hive SQL 窗口函数 `ROW_NUMBER() ` 案例分析
  • 前端mock数据 —— 使用Apifox mock页面所需数据
  • 车载U盘制作教程:轻松享受个性化音乐
  • springboot 3 websocket react 系统提示,选手实时数据更新监控
  • 现代图形API综合比较:Vulkan DirectX Metal WebGPU
  • 【Hot100刷题计划】Day04 栈专题 1~3天回顾(持续更新)
  • 用VBA将word文档处理成支持弹出式注释的epub文档可用的html内容