在本教程中,我们将使用以下方法构建一个有趣的应用程序Arduino和PIR传感器.一个防盗报警器,基本上是一种入侵者警报或防盗警报。所以这个项目是关于使用Arduino和PIR传感器建造一个防盗报警器或入侵者报警器。通过添加GSM模块,当检测到入侵者(在PIR传感器范围内检测到移动)时,可以向指定的手机号码发送短信提醒,从而增强该项目的功能。让我们开始用arduino来构建我们的防盗报警器项目。

让我们先用Arduino、PIR传感器和蜂鸣器做一个简单的diy防盗报警器。如果你是一个初学者,你需要阅读下面的教程来构建完美的电路。

1.Arduino是什么-如果你是Arduino的新手,请阅读这篇文章。

2.用Arduino闪烁LED-说你好世界!-学习如何使用Arduino眨眼led !

3.简单的LED项目使用Arduino-把你的手伸进去!使用Arduino做一些LED项目来获得基本知识!

4.将PIR传感器接口到Arduino-了解PIR传感器如何工作,以及如何与Arduino接口。

在您尝试使用arduino构建这个防盗报警系统之前,请浏览以上教程!让我们开始我们的项目。

下面给出了利用arduino构建简易防盗报警器或入侵者报警器的电路图。你可以如图所示组装电路。在进入报警电路的工作之前,我将简要介绍在这个项目中使用的组件。

PIR传感器-是这个简单的防盗报警电路的核心,使用arduino。PIR传感器-基本上是一种运动传感器或运动检测器,可以识别任何在其视野范围内移动的物体。PIR传感器可识别雷达范围内任何物体发出的红外辐射。

蜂鸣器-用于在PIR传感器范围内识别出移动时创建声音报警。晶体管2N2222用来驱动蜂鸣器。从arduino引脚可获得或吸收的最大电流为20mA(来自不同引脚的总电流为200mA)。但是蜂鸣器需要超过20mA才能正常工作。那么如何给fir蜂鸣器提供所需的电流呢?为此,我们使用开关晶体管2N222。它可以作为一个开关,同时提供所需的电流放大。增益为100的2N2222晶体管输出电流可达1A。在arduino引脚和蜂鸣器之间使用晶体管的另一个目的是隔离。蜂鸣器的短路只会破坏晶体管的集电极-发射极结。 Since their is isolation at the base region of transistor (base is connected to arduino), the destruction of collector-emitter junction will not affect base and hence our arduino will be safe from getting burned! The 100 ohms resistor at base is used to limit base current of transistor.

开关-一个按钮开关用于重置防盗警报一旦激活。该电容器用于绕过开关的弹跳效应(去耦电容器)。

Arduino防盗报警器-电路图

使用Arduino的防盗报警器或防盗报警器或入侵者报警器

连接解释

Arduino-引脚7 - PIR传感器输出|引脚6 -按键开关|引脚8 -蜂鸣器

蜂鸣器- +引脚到Vcc(5伏)|其他引脚到2N2222的集电极侧

晶体管- 2N2222 - NPN -集电极到蜂鸣器|发射极到地|基座到Arduino通过100欧姆电阻

开关-一端开关到+5V |另一端通过10K限流电阻接地

PIR传感器-有3个引脚- Vcc到+5伏| GND到Ground | OUT引脚到Arduino引脚7

注意:-用电线把所有的地线连接在一起。

这个项目

int传感器= 7;//连接到引脚7的PIR传感器输出int push_switch=6;//按钮开关连接到引脚6 int buzzer=8; //按钮开关连接到引脚6 int buzzer=8;//蜂鸣器连接在引脚8 int sensor_value;//变量保持读取传感器值void setup() {pinMode(sensor,INPUT);//将引脚7配置为Input pinMode(push_switch, Input);//配置引脚6为输入pinMode(蜂鸣器,输出);//将引脚8配置为OUTPUT} void loop() {sensor_value=digitalRead(sensor);//从引脚7读取传感器值if(sensor_value==HIGH) //检查PIR传感器是否发送HIGH信号到Arduino {digitalWrite(buzzer,HIGH);//激活蜂鸣器}if(digitalRead(push_switch==HIGH))//检查按钮是否被按下{digitalWrite(buzzer,LOW); // turning OFF the buzzer }}

我们完成了简单的diy arduino防盗报警器。这有多容易?试着在你的花园里安装这个diy的防盗警报器,看看它的实际应用。

高级版本的项目-短信防盗报警器使用Arduino与GSM模块

既然我们已经做了一个简单的arduino防盗报警器,为什么不做一个先进版本的防盗探测器呢?如果我们能制造一个防盗报警器当发现入侵者时给你发短信呢?很酷的主意,不是吗?所以让我们来看看这个——一个使用arduino和pir传感器发送短信的防盗报警器。

除了上述电路中使用的元件和模块外,我们还将使用gsm模块。你需要知道如何与GSM模块和arduino在你们开始这个项目之前。如图gsm防盗报警电路所示组装电路。

GSM/GPRS模块-买家指南-你没有GSM/GPRS模块?你想买一个吗?请通过我们详细的GSM/GPRS模块的买家指南,这有助于您在正确的价格范围内选择正确的模块。

基于GSM的Arduino入侵者报警-电路图

基于Gsm的防盗报警器使用Arduino和PIR传感器

连接解释!

先参考前面的电路图及其说明。唯一增加的模块是GSM模块。

GSM模块-将其Tx引脚连接到Arduino |的引脚9连接Rx到引脚10 - Arduino | Vcc或Power Jack到+12伏|使GND或接地引脚与所有其他组件和模块共用

利用Arduino实现PIR传感器报警的目的

  • 使用PIR传感器探测一个动作——入侵者或窃贼
  • 当发现窃贼/入侵者时,激活蜂鸣器报警-报警应该响,直到重置开关被按下
  • 发送3条短信到程序内预定义的手机号码设置。
  • 按下复位开关,停止报警。同时在重置后重新激活短信警报功能。

这个项目

#include SoftwareSerial mySerial(9,10);int传感器= 7;//连接到引脚7的PIR传感器输出int push_switch=6;//按钮开关连接到引脚6 int buzzer=8; //按钮开关连接到引脚6 int buzzer=8;//蜂鸣器连接在引脚8 int sensor_value;//保持读取传感器值的变量int sms_count=0;void setup() {pinMode(sensor,INPUT);//将引脚7配置为Input pinMode(push_switch, Input);//配置引脚6为输入pinMode(蜂鸣器,输出);//配置引脚8作为输出mySerial.begin(9600); } void loop() { Check_Burglar();// subroutine to check sensor status and activation of outputs Check_Reset(); // subroutine to check if alarm reset switch pressed or not } void Check_Burglar() { sensor_value=digitalRead(sensor); // Reading sensor value from pin 7 if(sensor_value==HIGH) // Checking if PIR sensor sends a HIGH signal to Arduino { digitalWrite(buzzer,HIGH); // Activating the buzzer while(sms_count<3) //Number of SMS Alerts to be sent limited at 3 { SendTextMessage(); // Function to send AT Commands to GSM module } }} void Check_Reset() { if(digitalRead(push_switch==HIGH))// Checking if pushbutton was pressed { digitalWrite(buzzer,LOW); // turning OFF the buzzer sms_count=0; // Reactivating the SMS Alert Facility }} void SendTextMessage() { mySerial.println("AT+CMGF=1"); //To send SMS in Text Mode delay(1000); mySerial.println("AT+CMGS=\"+919495xxxxxx\"\r"); // change to the phone number you using delay(1000); mySerial.println("Gas Leaking!");//the content of the message delay(200); mySerial.println((char)26);//the stopping character delay(1000); sms_count++; }

使用GSM模块的高级arduino入侵警报有多简单?这个程序是不言自明的!如果你有任何疑问,请在评论区提问。

作者

52评论

  1. 哈桑


    我想用pir传感器,sim800l和arduino uno做一个可以发短信和打电话的防盗报警器。有人能帮我吗?
    如果你有它的鳕鱼和学习请发送到我的邮箱(hassansedaqat66@gmail.com)

  2. 穆巴拉克

    电路不工作。我试着联系,但是蜂鸣器不响。我猜PIR探测不到运动。开关键对电路没有影响。

  3. Susmita Karar

    我的手机收不到短信。不知道哪里出了问题。我的GSM屏蔽显示连接完成,传感器注意到移动,输出被触发,但没有短信。先生,请给我一些建议。

  4. 睡眠

    我建了这个项目棒极了,但我已经通知它发送按摩1小时后重复按摩下一个小时。有朋友说过哪里不对吗?假触发如何避免

  5. Zohaib

    我建造了这个项目,但我注意到arduino发送消息后1小时,据说任何人都有解决问题是什么

    • 哈桑


      我想用pir传感器,sim800l和arduino uno做一个可以发短信和打电话的防盗报警器,你能帮我吗?如果你有它的鳕鱼和学习请发送到我的邮箱(hassansedaqat66@gmail.com)

  6. 哈里斯

    亲爱的所有,

    当我按S1时,没有发现任何respnose

  7. 阿曼

    你好先生
    感谢这个了不起的项目,每一行代码上都有你的注释,这样更容易理解。
    你能帮我在同一个项目中做一点小小的改变吗?我想要的是用户可以简单地通过gsm模块向SIM发送一条短信来输入/更改他的手机号码。

  8. 德里克

    当我打开arduino板时,蜂鸣器立即打开,并一直保持打开……我错过了什么?

  9. 德里克

    我试着用Arduino电路实现防盗报警器,但蜂鸣器一直是开着的。我测试了电路的各个单元;使用开关和PIR打开蜂鸣器,它工作正常。但将它与我的arduino Uno接口,我仍然得到相同的结果。蜂鸣器保持持续开,但当PIR被激活时,蜂鸣器变得更响。我可能错过了什么

  10. 这是一个非常好的项目。但是我面临一个问题。gsm调制解调器在完美工作两次后,没有发送任何短信。虽然我没有改变代码或任何东西。
    请帮我解决这个问题。
    谢谢你!

    • 这是一个非常好的项目。但是我面临一个问题。gsm调制解调器在完美工作两次后,没有发送任何短信。虽然我没有改变代码或任何东西。
      请帮我解决这个问题。
      谢谢你!

  11. 吊杆合情

    不幸的是,我的蜂鸣器立即打开电源后,我的arduino板和保持on。虽然蜂鸣器的声音变得更大后,Pir高。我试着再次验证电路连接,结果还是一样。我错过了什么?

  12. 阿亚兹艾哈迈德

    假设我在多个地方安装这个原型,那么如何知道消息来自那个特定的位置?

  13. 阿亚兹艾哈迈德

    如果有人在盗窃前对PIR传感器和/或连接(连接线)进行了热处理,那么这个原型机的反应会是什么?
    请指导!

  14. Srikant Tangirala

    兄弟,我们可以用5v电池给arduino供电吗

  15. chinta jyothi

    我用sim900 arduino uno和我想接口一个雷达传感器hb100阅读速度值,通过gsm发送但整个过程应该没有手动干预意味着电路应与系统阻尼代码之后,应该使用电池,所以请有人建议我这个代码来实现。

  16. 迈克尔

    你好,

    你能告诉我到哪里买这些模块吗?

    和:
    1.如何用短信代替按下闹钟的开关(以防无法到达设备)?
    2.我还可以通过短信向设备发送什么代码(控制它等)?
    3.你能在Arduino的代码中强调一下我可以用自己的细节编辑的部分吗?TXT, MSG, words等?

    谢谢

  17. AADHAR

    先生,arduino的pin 9和pin 10不一样,我认为gsm模块的RX和TX应该连接arduino的RX TX,即pin 0和1。

  18. 亚伦

    2 .按动按钮时,闹钟不灭。Hlp

  19. 亚伦

    非常感谢你的工作。可是我一按按钮,警报就不响。请hlp

  20. gandhar

    请帮助我它不是发送短信在我的电话号码

  21. VISHAL SARMAH

    亲爱的朋友们,
    请帮助我,我无法完成我的项目,因为当我根据电路图加入所有项目,但当我添加SIM800 gsm模块时,蜂鸣器总是没有任何理由继续运行,短信警报在我的手机上没有任何理由。我该怎么办?

  22. 迪恩

    什么类型的Arduino ?是ATMEGA328吗?

  23. Raghuvir怕羞的

    最佳GSM模块指导草图与详细说明。我正在开发带有PIR传感器的激光安全报警器。成功地测试了它。
    非常感谢。你的免费指导将会在很长的一段路中被所有人使用。非常感谢,先生/女士。

  24. 室利罗摩克里希纳

    先生,我们需要什么软件?

  25. chamath

    我使用sim 800l GSM,请给我一个代码。

  26. azri

    这是一个非常好的项目…如何通过短信....添加闹钟开关请帮我. . tq操作

  27. 诺埃尔

    我的手机收不到短信。不知道哪里出了问题。我的GSM屏蔽显示连接完成,传感器注意到移动,输出被触发,但没有短信。有什么建议吗?谢谢你的建议。

  28. Sherylle

    您好先生,是否需要在gsm模块中加载发送短信?

    • 乔乔

      @Sherylle -电线线路如图所示。确保代码是正确的。

    • Raghuvir怕羞的

      这是显而易见的。你必须包括GSM模块。

  29. arisham

    如果我想同时把它发送到另一个电话号码,该如何编码。(+ 6012960 xxxx, + 6019929 xxxx, + 6011234 xxxx)

    mySerial.println(“+ CMGF = 1”);//以文本方式发送短信
    延迟(1000);
    mySerial.println(“在+发生= \ " + 919495 xxxxxx \ " \ r ");//更改为您使用的电话号码
    延迟(1000);

  30. Uttam Dutta

    美好的一天,先生,
    如果我想在我的手机中生成铃声而不是短信警报,代码的哪一部分需要改变,
    请建议,
    raegards
    Uttam

    • 乔乔

      你必须编辑子程序SendTextMessage()

      • 费兹

        你能出示制作戒指的完整代码吗?

  31. Uttam Dutta

    先生,
    我有SIM300,这个安排下它能工作吗,或者要对程序做什么修改才能工作,请指导。
    除了短信如何得到有争议的铃声,用程序做什么改变得到这个,
    请指导

    • 乔乔

      atcommand对于SIM300和SIM900是相同的——用于发送消息。来电时,使用ATcommand - ADT

    • 艾琳

      我们需要更多这样的片段。

  32. Mahbub阿拉姆

    我已经按照你的指示连接了。但它一直在发送短信。按钮没有停止蜂鸣器或gsm模块。你能帮帮我吗?

  33. 斯文Gaefgen

    下面的语句有一个错误。
    if(digitalRead(push_switch == HIGH)) //检查按钮是否按下

  34. 拉希德

    先生,我正在做这个项目,但是我的GSM模块没有连接到网络,这个问题该怎么解决??我使用的是SIM900A模块。

  35. 雷伊约翰

    美好的一天,先生,

    在基于GSM的Arduino闯入者报警-电路图有两个不同的电压源5v和12v。我可以让PIR, Arduino UNO, Switch和Buzzer并联到5伏的相同的源(什么类型的电池)。GSM模块用什么类型的电池和额定电流?我想给我的摩托车做个闹钟。我希望我能把整个模块放在摩托车的工具箱里。

    • 乔乔

      @Rey John,你可以像这样使用通用USB电池组http://amzn.to/1pniOu6

      Arduino、GSM Module、PIR传感器基本上都是低功耗设备。它们不需要太多的电流(比几毫安)就能正常工作。关于电源的不同,你可以买一个GSM模块,工作在+5v电源。购买一个GSM模块,可以从+5v电源供电-就像这个-http://amzn.to/1Qqfg0Q

      • 雷伊约翰

        你好,先生。我正试图用压电片更换pir传感器,而且我还想通过按按钮或在gsm中发送短信来停用蜂鸣器……
        我有麻烦与程序如何取消蜂鸣器,如果我回复短信发送到我的手机....谢谢你先生。

  36. Mouli

    按下蜂鸣器后,打开s1。然后在下一个循环检查中,s1仍然在on位置,然后在这个循环中蜂鸣器输出发生了什么

    • 乔乔

      @Mouli -你应该使用一个按钮开关。一个按钮开关只在开关被保持按下的时候产生一个高脉冲。一旦你释放开关,开关将打开和脉冲开关将回到低。我想你提到了一个“按到开机”的开关。为按钮开关(就像8051的复位开关)编写程序。

      • gigantusmort

        美好的一天! !我目前正在做一个项目arduino uno使用pir传感器和按钮。这是模块的工作原理,首先pir传感器检测到人的存在,点亮led(我用led代替蜂鸣器),过一会儿如果按下按钮,led将关闭,等待pir传感器再次输入。看来确实如我所料。真的需要你的帮助,因为我是非常新的arduino..这里的代码。

        int传感器= 7;// PIR传感器的输出连接到引脚7
        int push_switch = 6;//按钮开关连接到引脚6
        int领导= 8;
        int sensor_value;//保持读取传感器的值
        无效的设置()

        pinMode(传感器、输入);//配置引脚7作为输入
        pinMode (push_switch、输入);//配置引脚6为输入
        pinMode(领导、输出);

        无效循环()

        sensor_value = digitalRead(传感器);//从引脚7读取传感器值
        if(sensor_value==HIGH) //检查PIR传感器是否向Arduino发送HIGH信号

        digitalWrite(领导、高);//激活蜂鸣器

        if(digitalRead(push_switch==HIGH))//检查按钮是否按下

        digitalWrite(领导、低);//关闭蜂鸣器

  37. S.Yogaraja

    亲爱的先生,

    在GSM模块中有一个SIM卡,在子程序(发送短信)中有两个移动电话号码,第一个是GSM模块的SIM卡号码,第二个是移动电话号码,短信必须发送!!!!

    请澄清请。

    S.yogaraja。

    • 乔乔

      @Yogaraja -这是两个不同的手机号码,我们会向这两个号码发送短信。不是GSM模块内的SIM卡号码。希望你理解!

    • 乔乔

      @Yogaraja -我已经编辑了代码!现在它的代码是只向一个手机号码发送短信。

      • gandhar

        我面临的问题是它不是发送短信在我的手机上,请帮助我

Ezoic报告这个广告
Baidu