نظام أمان باستخدام الأردوينو ووحدة الاتصال اللاسلكي (SIM800l)

متوسط

image_pdf

البرمجة

برمجة هذا المشروع تحتاج إلى كتابة الشفرة البرمجية بلغة (C++)على بيئة التطوير المتكاملة للأردوينو Arduino IDE)) يمكن التعرف على البرنامج أكثر من خلال الرابط

أولا: عليك تحميل مكتبة (SoftwareSerial)

ثانيا: كتابة الأوامر البرمجية التالية

#include <SoftwareSerial.h>
SoftwareSerial mySerial(3, 2);
int p=7;
void setup()
{ 
pinMode(p, INPUT);
mySerial.begin(9600);
delay(1000);
}
void loop()
{int buttonState = digitalRead(7);
if (buttonState == HIGH) {
delay(1000);
mySerial.println("AT");
delay(500);
mySerial.println("AT+CMGF=1");
delay(500);
mySerial.println("AT+CMGS=\"+966XXXXXXXX\"\r");
delay(500);
mySerial.print("Warning! Motion detected!");
delay(500);
mySerial.write(26);}}

شرح الشفرة البرمجية (Code)

استدعاء مكتبة (SoftwareSerial)

 #include <SoftwareSerial.h>

تعريف منافذ الأردوينو التي تم توصيلها مع منافذ الارسال والاستقبال للاتصال التسلسلي (TX-RX) في وحدة الاتصال اللاسلكي (SIM800l) حيث تم توصيل المنفذ الرقمي 3 مع منفذ الاستقبال (RX) والمنفذ الرقمي 2 مع منفذ الارسال(TX)

 SoftwareSerial mySerial(3, 2);

تعريف منافذ الأردوينو الذي تم توصيل منفذ الخرج (Out) في حساس الحركة وهو المنفذ رقم 7

int p=7;

في دالة () void setup نُعرف منافذ الدخل والخرج

كذلك نقوم بتهيئة الاتصال التسلسلي

 
void setup()
{ 
pinMode(p, INPUT);
mySerial.begin(9600);
delay(1000);
}

في دالة void loop () سنعرف متغير يخزن داخله حالة حساس الحركة التي ستم قرأتها من المنفذ رقم 7
ثم نكتب الجملة الشرطية التي تجعل البرنامج ينتظر لمدة ثانية إذا كانت توجد حركة

 void loop()
{int buttonState = digitalRead(7);
if (buttonState == HIGH) {
delay(1000);

تحدد بروتوكولات ارتباط الاتصال في بداية الاتصال

mySerial.println("AT");
delay(500);

التشغيل على وضع نص SMS

mySerial.println("AT+CMGF=1");
delay(500);

تحديد الرقم الذي سيتم ارسال الرساله له

 
mySerial.println("AT+CMGS=\"+9665XXXXXX\"\r");
delay(500);

نص الرسالة الذي سيتم ارسالها في حال وجود حركة

 
mySerial.print("Warning! Motion detected!");
delay(500);
mySerial.write(26);}}

 

X
تم إضافة المنتج إلى السلة بنجاح