Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

[经验] 【Arduino】108种传感器系列实验(17)---热释电传感器模块

[复制链接]
 楼主| 发表于 2022-4-2 19:43 | 显示全部楼层
  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序一:通过串口显示HC-SR312热释电模块的状态
  4. */

  5. #define PIROUT 2

  6. void setup(){
  7.   Serial.begin(9600);  // 设置串口波特率为9600
  8.   pinMode(PIROUT, INPUT);//模块连接引脚D2,并设置为输入模式
  9. }

  10. void loop(){
  11.   if (digitalRead(PIROUT) == HIGH) {
  12.     Serial.println("有人在这里!");
  13.   }
  14.   else{
  15.     Serial.println("PIR 传感器未检测到任何东西");
  16.   }
  17.   delay(1000);
  18. }
复制代码


 楼主| 发表于 2022-4-2 19:44 | 显示全部楼层
4.8-21.jpg
 楼主| 发表于 2022-4-2 19:44 | 显示全部楼层
  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序二:如果有人靠近传感器(3米以内),SR312会输出高电平,LED闪烁
  4. */

  5. int SR505 = 2; //模块信号输出引脚接数字2口
  6. int LED = 13; //LED灯接13口

  7. void setup() {
  8.   pinMode(LED, OUTPUT); //设定LED脚为输出
  9.   pinMode(SR505, INPUT); //设定SR312信号引脚为输入
  10.   Serial.begin(9600);//设定串口波特率
  11. }

  12. void loop() {
  13.   if (digitalRead(SR505) == HIGH) //判断传感器输出是否为高电平
  14.   {
  15.     Serial.println("进入感应区");
  16.     digitalWrite(LED, HIGH); //有人进入感应区LED闪烁
  17.     delay(10);
  18.     digitalWrite(LED, LOW);
  19.     delay(10);
  20.   }
  21.   else
  22.   {
  23.     Serial.println("无进入");//无人进去感应区LED熄灭
  24.     digitalWrite(LED, LOW);
  25.   }
  26.   delay(500);
  27. }
复制代码


 楼主| 发表于 2022-4-2 19:45 | 显示全部楼层
实验串口返回情况

4.8-23.jpg

 楼主| 发表于 2022-4-2 19:46 | 显示全部楼层
HC-SR312人体感应声光报警器
1)实验开源仿真编程(Linkboy V4.63

4.8-25.jpg

 楼主| 发表于 2022-4-2 19:47 | 显示全部楼层
4.8-26.jpg

 楼主| 发表于 2022-4-2 19:47 | 显示全部楼层
HC-SR312人体感应三米声光报警器
1)实验开源图形编程(Mind+Mixly、编玩边学)

4.8-27.jpg

 楼主| 发表于 2022-4-2 19:48 | 显示全部楼层
4.8-28.jpg
 楼主| 发表于 2022-4-2 19:49 | 显示全部楼层
  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   程序五:SR312声光人体感应开关
  4. */

  5. int sensor = A0;//SR312接A0
  6. int led = 2;//LED接D2
  7. int buzzer = 3;//蜂鸣器接D3
  8. int val = 0;

  9. void setup(){
  10.   Serial.begin(9600);//设定串口波特率
  11.   pinMode(sensor, INPUT);//设定SR312信号引脚为输入
  12.   pinMode(led, OUTPUT);//设定LED引脚为输出
  13.   pinMode(buzzer, OUTPUT);//设定蜂鸣器引脚为输出
  14. }

  15. void loop() {
  16.   val = analogRead(sensor);
  17.   Serial.print("人体感应传感器=");
  18.   Serial.println(val);//串口打印传感器数值
  19.   delay(250);
  20.   if (val < 500) {//设定传感器触发阙值为500
  21.     digitalWrite(led, LOW);
  22.     digitalWrite(buzzer, HIGH);
  23.   }
  24.   if (val > 500) {
  25.     Serial.println("有感应,打开");//有感应,打开
  26.     digitalWrite(led, HIGH);
  27.     digitalWrite(buzzer, LOW);
  28.     delay(1000);
  29.     digitalWrite(led, HIGH);
  30.     digitalWrite(buzzer, HIGH);
  31.     delay(500);
  32.     digitalWrite(led, HIGH);
  33.     digitalWrite(buzzer, LOW);
  34.     delay(1000);
  35.     digitalWrite(led, HIGH);
  36.     digitalWrite(buzzer, HIGH);
  37.     delay(500);
  38.     digitalWrite(led, HIGH);
  39.     digitalWrite(buzzer, LOW);
  40.     delay(1000);
  41.     digitalWrite(led, HIGH);
  42.     digitalWrite(buzzer, HIGH);
  43.     delay(10000);//延时10秒
  44.     Serial.println("关闭");
  45.   }
  46. }
复制代码


 楼主| 发表于 2022-4-2 19:49 | 显示全部楼层
4.8-30.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino爱好者

GMT+8, 2023-2-4 16:02 , Processed in 0.074392 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表