الأحد، 6 سبتمبر 2020

نظام تنبيه لأمن الباب بالاردوينو

 في هذه المقالة ، سوف نتعلم كيفية إنشاء نظام تنبيه نصي SMS باستخدام وحدة Arduino و SIM800L.

المكونات الإلكترونية المستخدمة في هذا المشروع

PCBWay Custom PCB

اسلاك التوصيل

10kمقاومة  

Reed Switch Sensor 

Arduino UNO

في عدة أماكن ، هناك حاجة لأنظمة الأمان لحماية الغرف. لهذا ، نحتاج إلى تركيب معدات تحمي المكان ، وعلى سبيل المثال ، إصدار تنبيه لإخطار أن شخصًا ما قد دخل إلى الغرفة.

تتمثل إحدى طرق حل هذه المشكلة في استخدام Arduino مع مستشعر تبديل القصب. أي عندما يفتح شخص ما الباب ، يتلقى الشخص تنبيهًا عبر الرسائل القصيرة على هاتفه الخلوي.

سيتم إرسال هذه الرسالة من خلال وحدة SIM800L GSM. يتم عرض الدائرة في الشكل 1.

circuit_sim800l_arduino.png

الآن ، ستتعلم كيفية إنشاء المشروع خطوة بخطوة.

المشروع خطوة بخطوة

أولاً ، سنشرح كيف يعمل المشروع. تحتاج إلى تثبيت مستشعر تبديل الريشة ومغناطيس في بابك. وبعد ذلك ، ستقوم بتوصيل المستشعر بنظام Arduino الخاص بك.

عند فتح الباب ، يتحرك المغناطيس بعيدًا عن مستشعر مفتاح القصب وسيفتح. بهذه الطريقة ، سيكتشف النظام أن الباب قد تم فتحه وسيقوم بإرسال رسالة نصية قصيرة عبر SIM800L للمستخدم.

يتم عرض الدائرة في اللوح أدناه.

detected-opened-door.jpg


الكود المصدري للمشروع

أدناه ، يمكنك رؤية الكود المصدري لهذا المشروع. فيما بعد ، سنقدم خطوة بخطوة لهذا الرمز.

#include <SoftwareSerial.h>
SoftwareSerial chip(10, 11);

String SeuNumero = "+xxxxxxxxxxxxx";

#define sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

void setup()
{
  Serial.begin(9600);
  Serial.println("Inicializando Sistema...");
  delay(5000);
  chip.begin(9600);
  delay(1000);

  pinMode(sensor, INPUT); //Configura o Pino do Sensor como Entrada
}

void loop()
{
  //Le o valor do pino do sensor
  ValorAtual = digitalRead(sensor);

  if(ValorAtual == 1 && ValorAnterior == 0)
  {
      ClosedDoor();
      ValorAnterior == 1;
  }

  if(ValorAtual == 1 && ValorAnterior == 0)
  {
      OpenedDoor();
      ValorAnterior == 0;
  }

}

void OpenedDoor() //Funcao para enviar mensagem de alerta Umidade Baixa
{
  chip.println("AT+CMGF=1");
  delay(1000);
  chip.println("AT+CMGS=\"" + SeuNumero + "\"\r");
  delay(1000);
  String SMS = "Opened Door!";
  chip.println(SMS);
  delay(100);
  chip.println((char)26);
  delay(1000);
}

void ClosedDoor()//Funcao para enviar mensagem de alerta Umidade Normal
{
  chip.println("AT+CMGF=1");
  delay(1000);
  chip.println("AT+CMGS=\"" + SeuNumero + "\"\r");
  delay(1000);
  String SMS = "Closed Door!";
  chip.println(SMS);
  delay(100);
  chip.println((char)26);
  delay(1000);
}
    

ليست هناك تعليقات:

إرسال تعليق