في هذه المقالة ، سوف نتعلم كيفية إنشاء نظام تنبيه نصي SMS باستخدام وحدة Arduino و SIM800L.
المكونات الإلكترونية المستخدمة في هذا المشروع
PCBWay Custom PCB
اسلاك التوصيل
10kمقاومة
Reed Switch Sensor
Arduino UNO
في عدة أماكن ، هناك حاجة لأنظمة الأمان لحماية الغرف. لهذا ، نحتاج إلى تركيب معدات تحمي المكان ، وعلى سبيل المثال ، إصدار تنبيه لإخطار أن شخصًا ما قد دخل إلى الغرفة.
تتمثل إحدى طرق حل هذه المشكلة في استخدام Arduino مع مستشعر تبديل القصب. أي عندما يفتح شخص ما الباب ، يتلقى الشخص تنبيهًا عبر الرسائل القصيرة على هاتفه الخلوي.
سيتم إرسال هذه الرسالة من خلال وحدة SIM800L GSM. يتم عرض الدائرة في الشكل 1.

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

الكود المصدري للمشروع
أدناه ، يمكنك رؤية الكود المصدري لهذا المشروع. فيما بعد ، سنقدم خطوة بخطوة لهذا الرمز.
#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);
}
    
    
ليست هناك تعليقات:
إرسال تعليق