• HC-SR501传感器制作一个报警系统


    接线图:

    引脚连接:

    1. 将 PIR 信号引脚连接到 arduino 数字 引脚 13。 

    2. 将 PIR  V+ 引脚连接 到 arduino  5v 引脚。

    3. 将 PIR  GND 引脚连接到 arduino  GND 引脚。

    4. 将arduino数字 引脚12连接 到220欧姆电阻,并将该电阻连接到 LED  V+ 引脚。 

    5. 将 LED  GND 引脚连接到 arduino  GND 引脚。

    6. 将蜂鸣器 V+ 引脚连接 到 arduino 数字 引脚 11

    7. 将蜂鸣器 GND 引脚连接到 arduino  GND 引脚。

    程序代码:

    1. //校准传感器的时间
    2. int calibrationTime = 30;
    3. long unsigned int lowIn;
    4. long unsigned int pause = 5000;
    5. boolean lockLow = true;
    6. boolean takeLowTime;
    7. int pirPin = 13; //PIR传感器输入13引脚
    8. int ledPin = 12; //led灯珠连接到12引脚
    9. int Buzzer = 11; //蜂鸣器连接到11引脚。
    10. /
    11. //SETUP
    12. void setup(){
    13. Serial.begin(9600);
    14. pinMode(pirPin, INPUT);
    15. pinMode(ledPin, OUTPUT);
    16. pinMode(Buzzer, OUTPUT);
    17. digitalWrite(pirPin, LOW);
    18. //给传感器一些时间校准
    19. Serial.print("校准传感器 ");
    20. for(int i = 0; i < calibrationTime; i++){
    21. Serial.print(".");
    22. delay(1000);
    23. }
    24. Serial.println(" done");
    25. Serial.println("SENSOR ACTIVE");
    26. delay(50);
    27. }
    28. //LOOP
    29. void loop(){
    30. if(digitalRead(pirPin) == HIGH){//如果PIR检测到有人移动时,将给13引脚返回高电平。
    31. digitalWrite(ledPin, HIGH); //如果有人移动,则设置led为高电平,点亮led,蜂鸣器警报500毫秒。
    32. tone(Buzzer,500);
    33. if(lockLow){
    34. lockLow = false;
    35. Serial.println("---");
    36. Serial.print("检测到有人在运动的时间为: ");
    37. Serial.print(millis()/1000);
    38. Serial.println(" 秒时");
    39. delay(50);
    40. }
    41. takeLowTime = true;
    42. }
    43. if(digitalRead(pirPin) == LOW){ //PIR锁定结束后返回低电平,PIR再次进入到检测状态。
    44. digitalWrite(ledPin, LOW); //关闭led显示。
    45. noTone(Buzzer);//关闭蜂鸣器。
    46. if(takeLowTime){
    47. lowIn = millis(); //记录返回低电平时,进入系统的时间。
    48. takeLowTime = false;
    49. }
    50. if(!lockLow && millis() - lowIn > pause){
    51. lockLow = true;
    52. Serial.print("移动停止在: ");
    53. Serial.print((millis() - pause)/1000);
    54. Serial.println(" sec");
    55. delay(50);
    56. }
    57. }
    58. }

  • 相关阅读:
    【C语言】【数据结构】【顺序表】
    重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]
    gzip 压缩优化大 XML 响应的处理方法
    MySQL MVVC多版本并发控制
    4G/5G频谱资源协同关键技术
    LabVIEW程序代码更新缓慢
    如何使用 Media.io 生成不同年龄的照片
    JVM性能——垃圾回收器的优化策略
    Mistral 7B 比Llama 2更好的开源大模型 (一)
    九、Redis事务锁机制、连接池
  • 原文地址:https://blog.csdn.net/sxstj/article/details/134492387