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

学校网站建设维护上海做seo

学校网站建设维护,上海做seo,沈阳妇科检查,济南做网站价格Arduino 第十六章:PIR 传感器练习 一、引言 在 Arduino 的众多有趣项目中,传感器的应用是非常重要的一部分。今天我们要学习的主角是 PIR(被动红外)传感器。PIR 传感器能够检测人体发出的红外线,常用于安防系统、自动…

Arduino 第十六章:PIR 传感器练习

一、引言

在 Arduino 的众多有趣项目中,传感器的应用是非常重要的一部分。今天我们要学习的主角是 PIR(被动红外)传感器。PIR 传感器能够检测人体发出的红外线,常用于安防系统、自动照明等场景。通过本次练习,我们将深入了解 PIR 传感器与 Arduino 的结合使用,学会如何读取传感器数据并根据数据做出相应的反应。

二、所需材料

  1. Arduino 开发板:推荐使用 Arduino Uno,它是初学者常用且功能丰富的开发板。
  2. PIR 传感器:常见的如 HC-SR501 型号,这是一款比较容易获取且价格实惠的 PIR 传感器。
  3. 杜邦线:若干,用于连接 Arduino 开发板和 PIR 传感器。
  4. LED 灯:一个,用于直观显示 PIR 传感器的检测结果。
  5. 面包板:方便进行电路连接和布线。

三、PIR 传感器介绍

PIR 传感器的工作原理基于人体发出的红外线。当有人进入传感器的检测范围时,人体发出的红外线会使传感器内部的热释电元件产生变化,从而输出一个电信号。一般来说,PIR 传感器有三个引脚:VCC(电源正极)、GND(接地)和 OUT(信号输出)。

以 HC-SR501 为例,它还具有一些可调节的参数,比如检测灵敏度和延迟时间。通过调节传感器上的电位器,可以改变这些参数以适应不同的使用场景。

四、硬件连接

  1. 将 PIR 传感器的 VCC 引脚通过杜邦线连接到 Arduino 开发板的 5V 引脚,为传感器提供电源。
  2. 把 PIR 传感器的 GND 引脚连接到 Arduino 开发板的 GND 引脚,实现接地。
  3. 将 PIR 传感器的 OUT 引脚连接到 Arduino 开发板的一个数字引脚上,比如数字引脚 2。这样,传感器的输出信号就可以被 Arduino 读取。
  4. 把 LED 灯的正极通过一个限流电阻(例如 220 欧姆)连接到 Arduino 开发板的数字引脚 13,负极连接到 GND 引脚。限流电阻的作用是防止电流过大损坏 LED 灯。
    在这里插入图片描述

五、代码编写

打开 Arduino IDE,新建一个项目,输入以下代码:

const int pirPin = 5; // 定义 PIR 传感器连接的引脚为数字引脚 5
const int ledPin = 4; // 定义 LED 灯连接的引脚为数字引脚 4
int pirState = LOW; // 初始化 PIR 传感器状态为低电平
int val = 0; // 用于存储读取到的 PIR 传感器的值void setup() {pinMode(pirPin, INPUT); // 将 PIR 传感器引脚设置为输入模式pinMode(ledPin, OUTPUT); // 将 LED 灯引脚设置为输出模式Serial.begin(9600); // 初始化串口通信,波特率为 9600
}void loop() {val = digitalRead(pirPin); // 读取 PIR 传感器的值if (val == HIGH && pirState == LOW) {// 如果检测到高电平且之前状态为低电平,说明有人进入检测范围pirState = HIGH;digitalWrite(ledPin, HIGH); // 点亮 LED 灯Serial.println("Motion detected!"); // 通过串口打印检测到运动的信息} else if (val == LOW && pirState == HIGH) {// 如果检测到低电平且之前状态为高电平,说明人离开检测范围pirState = LOW;digitalWrite(ledPin, LOW); // 熄灭 LED 灯Serial.println("Motion stopped!"); // 通过串口打印运动停止的信息}delay(100); // 延迟 100 毫秒,避免频繁检测
}

六、代码解释

  1. 变量定义
    • const int pirPin = 5;:定义 PIR 传感器连接的引脚为数字引脚 2。
    • const int ledPin = 4;:定义 LED 灯连接的引脚为数字引脚 13。
    • int pirState = LOW;:初始化 PIR 传感器的状态为低电平,用于记录传感器的当前状态。
    • int val = 0;:用于存储从 PIR 传感器读取到的值。
  2. setup()函数
    • pinMode(pirPin, INPUT);:将 PIR 传感器连接的引脚设置为输入模式,以便读取传感器的信号。
    • pinMode(ledPin, OUTPUT);:将 LED 灯连接的引脚设置为输出模式,用于控制 LED 灯的亮灭。
    • Serial.begin(9600);:初始化串口通信,设置波特率为 9600,方便通过串口打印信息。
  3. loop()函数
    • val = digitalRead(pirPin);:读取 PIR 传感器的值,并将其存储在变量 val 中。
    • if (val == HIGH && pirState == LOW):当读取到的传感器值为高电平且之前传感器状态为低电平时,说明有人进入了检测范围。此时将传感器状态更新为高电平(pirState = HIGH;),点亮 LED 灯(digitalWrite(ledPin, HIGH);),并通过串口打印检测到运动的信息(Serial.println("Motion detected!");)。
    • else if (val == LOW && pirState == HIGH):当读取到的传感器值为低电平且之前传感器状态为高电平时,说明人离开了检测范围。此时将传感器状态更新为低电平(pirState = LOW;),熄灭 LED 灯(digitalWrite(ledPin, LOW);),并通过串口打印运动停止的信息(Serial.println("Motion stopped!");)。
    • delay(100);:添加一个 100 毫秒的延迟,避免频繁检测,减少资源消耗。

七、测试与调试

  1. 将编写好的代码上传到 Arduino 开发板。
  2. 确保 PIR 传感器和 LED 灯的连接正确,并且 PIR 传感器的检测范围没有被遮挡。
  3. 打开 Arduino IDE 的串口监视器,设置波特率为 9600。
  4. 当有人进入 PIR 传感器的检测范围时,LED 灯应该点亮,并且串口监视器会显示“Motion detected!”的信息;当人离开检测范围时,LED 灯熄灭,串口监视器会显示“Motion stopped!”的信息。
  5. 如果程序没有按照预期运行,可以检查硬件连接是否正确,代码是否存在语法错误,或者尝试调整 PIR 传感器的灵敏度和延迟时间。

八、拓展应用

  1. 安防报警系统:将 PIR 传感器与蜂鸣器结合,当检测到有人进入时,不仅点亮 LED 灯,还让蜂鸣器发出警报声,实现简单的安防报警功能。
  2. 自动照明系统:在一些需要自动控制照明的场景中,如走廊、卫生间等,当 PIR 传感器检测到有人时,自动打开灯光,人离开后一段时间自动关闭灯光,达到节能的目的。
  3. 智能家居控制:将 PIR 传感器的检测结果与其他智能家居设备(如智能插座、智能窗帘等)集成,实现更智能化的家居控制,比如当检测到有人进入房间时,自动打开空调和窗帘。

通过本次对 PIR 传感器的练习,相信你已经对它的工作原理和在 Arduino 中的应用有了更深入的了解。希望你能够发挥创意,利用 PIR 传感器开发出更多有趣和实用的项目。


文章转载自:

http://1fhjgwhD.pywLr.cn
http://0EEyGYQr.pywLr.cn
http://XYVWR8ef.pywLr.cn
http://cusMyKhc.pywLr.cn
http://UPHiUFQ2.pywLr.cn
http://ubHUeCuN.pywLr.cn
http://s49wNUrX.pywLr.cn
http://JkH0znAS.pywLr.cn
http://VmrF64Ga.pywLr.cn
http://ZzTdeXSE.pywLr.cn
http://Bn3yaYVO.pywLr.cn
http://H8CIfVe8.pywLr.cn
http://UMnwl8RB.pywLr.cn
http://yRMpORIp.pywLr.cn
http://4mujsFYJ.pywLr.cn
http://VmaVkGPD.pywLr.cn
http://dQ2ocrzt.pywLr.cn
http://OWckoPHx.pywLr.cn
http://MR7GyDpn.pywLr.cn
http://pLbICOsO.pywLr.cn
http://XwAUuLnL.pywLr.cn
http://PJFPRgK8.pywLr.cn
http://ZTKVBGmd.pywLr.cn
http://Y5eD9C20.pywLr.cn
http://XEidZUTJ.pywLr.cn
http://RZV1ZXsW.pywLr.cn
http://1q0WN8ID.pywLr.cn
http://e9syihV9.pywLr.cn
http://WDLZFKjT.pywLr.cn
http://hCfV2bFT.pywLr.cn
http://www.dtcms.com/wzjs/722404.html

相关文章:

  • 巢湖市网站建设推广wordpress 登录 手机
  • 怎样创建个人购物网站wordpress 获取文章类型
  • 网站建设求职具备什么响应式地方网站
  • 做门户网站用什么服务器本人做静态网站开发
  • 网站屏蔽收录sem搜索
  • 物流网站和数据库建设做家常菜哪个网站最好
  • 那些网站是php做的免费网站建设品牌
  • 建设一个网站要多网站建设技术包括哪些方面
  • 怎么做多语言的网站wordpress 博客程序
  • 做西点网站巩义网站建设定制
  • 如何免费申请公司网站长业建设网站
  • 网站排版用什么软件网站注册怎么做屏蔽过滤
  • 做搜狗网站优化排网站地图在线生成
  • 网站app生成器下载做外贸有哪些网站比较好
  • 上海网站开发售后服务公司网站建设平台
  • 2020国内十大小说网站排名html常用标签代码大全
  • 九江有没有做网站的公司软件营销方案
  • 济南莱芜又出新情况了苏州seo网站公司
  • 国内python 做的网站东莞饰品网站建设
  • 网站建设常规自适应如何自建外贸网站
  • 学校网站建设 效果做视频上传到网站怎么赚钱
  • 建设个网站怎么做自己的网站自建一个页面
  • 昆山市建设局网站6创立外包网站
  • 仿懒人图库网站源码做个淘宝客网站怎么做
  • 邯郸网站设计怎么做故宫文创产品设计
  • 网站建设佰首选金手指十四网站建设的一般步骤
  • 成都专业的网站建设制作公司哪家好北京 外贸网站建设
  • dw软件网站建设教程视频谷歌网站推广排名工具
  • 做美妆网站名称百度热搜榜
  • 网站需要备案吗网站建设千套素材