جدول المحتويات:
- اللوازم
- الخطوة الأولى: قلب المشروع
- الخطوة الثانية: مشروع الدائرة الإلكترونية والبرمجة
- الخطوة 3: وظيفة Void Setup ()
- الخطوة 4: المشروع ووظيفة الحلقة الفراغية
- الخطوة 5: وظائف إرسال الرسائل
فيديو: نظام الأمن الهاتفي مع الأردوينو: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
سيكون منزلك غير محمي إذا لم تطبق هذا المشروع. سيساعدك هذا المشروع على إطلاق إنذار عبر الهاتف الخلوي عندما يقتحم متطفل منزلك.
بهذه الطريقة ، إذا كنت تستخدم هذا المشروع ، فستتلقى رسالة نصية قصيرة عبر الهاتف الخلوي وستكون قادرًا على حماية منزلك في حالة الغزوات.
لهذا ، سوف نستخدم لوحة Arduino المتوافقة مع وحدة SIM800L ومستشعر PIR. سيكون مستشعر PIR مسؤولاً عن اكتشاف وجود دخيل وسيكون SIM800L مسؤولاً عن إرسال رسالة تنبيهية قصيرة إلى صاحب المنزل.
اللوازم
- لوحة متوافقة مع اردوينو
- جهاز استشعار PIR
- المقاوم 10kR
- صداري
- بروتوبورد
- وحدة SIM800L
الخطوة الأولى: قلب المشروع
قلب المشروع هو وحدة SIM800L. ستتمكن هذه الوحدة من تلقي أوامر Arduino وإرسال الرسائل القصيرة إلى الهاتف الخلوي للمستخدم. بهذه الطريقة ، عندما يتلقى المستخدم التنبيه ، يمكنه الاتصال بالشرطة أو القيام بأي نوع آخر من الإجراءات.
ستكون لوحة Arduino المتوافقة مسؤولة عن التحقق من حالة المستشعر وسترسل بعد ذلك رسالة تنبيه إلى المستخدم إذا اكتشف وجود متطفل.
يتم تنفيذ هذه العملية بفضل أوامر التحكم بين Arduino ووحدة SIM800L. لذلك ، من هذا المنطلق ، سوف نقدم لك خطوة بخطوة لبناء هذا النظام ، وترك منزلك محميًا وتحذيرك كلما اقتحمه أي دخيل.
إذا كنت ترغب في تنزيل لوحة Arduino المتوافقة ، يمكنك الوصول إلى هذا الرابط والحصول على الملفات لشراء اللوحات الخاصة بك في JLCPCB.
الآن ، لنبدأ!
الخطوة الثانية: مشروع الدائرة الإلكترونية والبرمجة
أولاً ، سنجعل الدائرة الإلكترونية متاحة ثم نناقش رمز المشروع خطوة بخطوة من أجلك.
# تتضمن شريحة SoftwareSerial (10 ، 11) ؛
String SeuNumero = "+5585988004783" ؛
# تعريف الاستشعار 12
منطقية ValorAtual = 0 ، ValorAnterior = 0 ؛
الإعداد باطل()
{Serial.begin (9600) ، Serial.println ("Inicializando Sistema…") ؛ تأخير (5000) ؛ رقاقة تبدأ (9600) ؛ تأخير (1000) ؛
pinMode (المستشعر ، المدخلات) ؛ // Configura o Pino do Sensor como Entrada
}
حلقة فارغة()
{// Le o valor do pino do sensor ValorAtual = digitalRead (sensor)؛
إذا (ValorAtual == 1 && ValorAnterior == 0)
{IntrudeAlert ؛ الشجاعة الأمامية = 1 ؛ }
إذا (ValorAtual == 0 && ValorAnterior == 1)
{NoMoreIntrude () ، الشجاعة الأمامية = 0 ؛ }
}
void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa
{chip.println ("AT + CMGF = 1") ؛ تأخير (1000) ؛ chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r") ؛ تأخير (1000) ؛ String SMS = "تنبيه التطفل!" ؛ chip.println (SMS) ؛ تأخير (100) ؛ chip.println ((شار) 26) ؛ تأخير (1000) ؛ }
void NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal
{chip.println ("AT + CMGF = 1") ؛ تأخير (1000) ؛ chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r") ؛ تأخير (1000) ؛ String SMS = "لا مزيد من التطفل!"؛ chip.println (SMS) ؛ تأخير (100) ؛ chip.println ((شار) 26) ؛ تأخير (1000) ؛ }
في الكود الموضح أدناه ، أعلنا في البداية عن مكتبة الاتصالات التسلسلية SoftwareSerial.h ، كما هو موضح أدناه.
#يشمل
بعد تحديد المكتبة ، تم تحديد دبابيس الاتصال Tx و Rx. هذه المسامير عبارة عن دبابيس بديلة وتستخدم للسماح بالاتصال التسلسلي على دبابيس Arduino الأخرى. تم تطوير مكتبة SoftwareSerial للسماح لك باستخدام البرنامج لتكرار الوظائف
رقاقة SoftwareSerial (10 ، 11) ؛
بعد ذلك ، تم الإعلان عن رقم الهاتف المحمول أدناه.
String SeuNumero = "+5585988004783" ؛
مخطط التصميم الإلكتروني بسيط وسهل التجميع. كما ترى في الدائرة ، فإن لوحة Arduino المتوافقة مسؤولة عن قراءة حالة المستشعر ثم إرسال رسالة نصية قصيرة إلى صاحب المنزل.
سيتم إرسال الرسالة في حالة اكتشاف متسلل داخل المنزل. مستشعر PIR (الأشعة تحت الحمراء السلبية) هو مستشعر يستخدم لاكتشاف الحركة من إشارة الأشعة تحت الحمراء. من الإشارة المرسلة إلى Arduino ، سترسل وحدة SIM800L رسالة إلى المستخدم.
سيتم استخدام الصمام الثنائي لتوفير انخفاض في الجهد لتزويد وحدة SIM800L. نظرًا لأن الوحدة لا يمكن تشغيلها بجهد 5 فولت. بهذه الطريقة ، سيصل جهد 4.3 فولت لتشغيل الوحدة الخاصة بك والتأكد من أنها تعمل بأمان.
الخطوة 3: وظيفة Void Setup ()
في وظيفة الإعداد الفارغ ، سنقوم بتهيئة الاتصال التسلسلي وتكوين دبوس المستشعر كمدخل. يتم عرض منطقة الكود أدناه.
الإعداد باطل()
{
Serial.begin (9600) ؛ Serial.println ("Inicializando Sistema…") ؛ تأخير (5000) ؛ رقاقة تبدأ (9600) ؛ تأخير (1000) ؛ pinMode (المستشعر ، المدخلات) ؛ // Configura o Pino do Sensor como Entrada}
كما يمكن أن ترى ، تمت تهيئة الاتصالين التسلسليين. يتم استخدام Serial.begin لتهيئة المسلسل الأصلي لـ Arduino والشريحة.begin هي المسلسل الذي تمت محاكاته من خلال مكتبة SoftwareSerial. بعد ذلك ، سنقوم بوظيفة الحلقة الفارغة.
الخطوة 4: المشروع ووظيفة الحلقة الفراغية
الآن ، سوف نقدم المنطق الرئيسي للبرمجة في وظيفة الحلقة الفارغة.
الحلقة الفارغة () {// Le o valor do pino do sensor ValorAtual = digitalRead (sensor)؛
إذا (ValorAtual == 1 && ValorAnterior == 0)
{IntrudeAlert () ،
الشجاعة الأمامية = 1 ؛
}
إذا (ValorAtual == 0 && ValorAnterior == 1)
{NoMoreIntrude () ،
الشجاعة الأمامية = 0 ؛
}
}
أولاً ، ستتم قراءة الإشارة من مستشعر وجود PIR كما هو موضح أدناه.
ValorAtual = digitalRead (مستشعر) ؛
بعد ذلك ، سيتم التحقق مما إذا كانت القيمة في ValorAtual المتغير هي 1 أو 0 ، كما هو موضح أدناه.
إذا (ValorAtual == 1 && ValorAnterior == 0) {IntrudeAlert ()؛
الشجاعة الأمامية = 1 ؛
} إذا (ValorAtual == 0 && ValorAnterior == 0) {NoMoreIntrude ()؛
الشجاعة الأمامية = 0 ؛
}
حالة المتغير ValorAtual هو 1 والمتغيرات ValorAn front هو 0 ، يتم تنشيط المستشعر بالفعل ويتم إلغاء تنشيطه من الأمام (ValorAnterior == 0). بهذه الطريقة ، سيتم تنفيذ الوظيفة وسيتلقى المستخدم الرسالة على هاتفك المحمول. بعد ذلك ، ستكون قيمة المتغير ValorAnterior متساوية عند 1.
بهذه الطريقة ، سيتم الإشارة إلى المتغير ValorAnterior المتغير بأن الحالة الفعلية للمستشعر يتم تشغيلها.
الآن ، إذا كانت قيمة المتغير ValorAtual تساوي 0 وقيمة المتغير الأمامي الشجاعة تساوي 0 ، لا يكتشف المستشعر التطفل ثم يتم تشغيل قيمته.
بهذه الطريقة ، سيرسل النظام الرسالة للهاتف المحمول الخاص بالمستخدم وسيقوم بتحديث القيمة الفعلية للمستشعر لـ 0. ستشير هذه القيمة إلى أن المستشعر لا يعمل في الوقت الحالي.
الرسائل التي تم إرسالها للمستخدم معروضة أعلاه.
الآن ، سوف نتعلم كيفية عمل الوظيفة لإرسال الرسائل للهاتف المحمول الخاص بالمستخدم.
الخطوة 5: وظائف إرسال الرسائل
في هذا النظام ، هناك وظيفتان. إنها وظائف لها نفس الهيكل. الفرق بينهما هو الاسم والرسالة المرسلة ، ولكن عندما نحللها ، سنرى أنهما متماثلان تمامًا.
بعد ذلك ، سنقدم الهيكل الكامل للوظائف ونناقش الكود.
void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT + CMGF = 1")؛ تأخير (1000) ؛ chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r") ؛ تأخير (1000) ؛ String SMS = "Opened Door!"؛ chip.println (SMS) ؛ تأخير (100) ؛ chip.println ((شار) 26) ؛ تأخير (1000) ؛ }
void NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal
{chip.println ("AT + CMGF = 1") ؛ تأخير (1000) ؛ chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r") ؛ تأخير (1000) ؛ سلسلة SMS = "باب مغلق!" ؛ chip.println (SMS) ؛ تأخير (100) ؛ chip.println ((شار) 26) ؛ تأخير (1000) ؛ }
تستخدم الوحدة النمطية SIM800L أمر AT للتحكم في وظائفها. لذلك ، من خلال هذه الأوامر ، سنرسل رسالة إلى الهاتف المحمول للمستخدم.
يتم استخدام AT + CGMF = 1 لتكوين الوحدة النمطية للعمل في وضع نص SMS. بعد التأخير ، سيرسل النظام الرسالة للمستخدم من خلال الأمر التالي.
chip.println ("AT + CMGS = \" "+ SeuNumero +" / "\ r") ؛
في الأمر ، سيتم إعداد وحدة SIM800L لإرسال رسالة لرقم الهاتف المحمول المسجل في السلسلة SeuNumero. بعد ذلك ، سيقوم النظام بتحميل الرسالة في السلسلة وإرسالها للهاتف المحمول الخاص بالمستخدم ، كما هو موضح أدناه.
سلسلة SMS = "باب مغلق!" ؛ chip.println (SMS) ؛ تأخير (100) ؛ chip.println ((شار) 26) ؛ تأخير (1000) ؛
يستخدم الحرف (26) للإشارة إلى نهاية الرسالة. تشبه عملية العمل هذه وظيفتين لإرسال رسالة للمستخدم.
شكر وتقدير
الآن ، نحن نقدر دعم JLCPCB للقيام بهذا العمل ، وإذا كنت مهتمًا ، فقم بالوصول إلى الرابط التالي وقم بتنزيل لوحة Arduino المتوافقة.
موصى به:
نظام الأمن الإلكتروني مع RTC والرمز التعريف الشخصي للمستخدم: 7 خطوات
نظام الأمان الإلكتروني مع RTC والرمز السري لتعريف المستخدم: Hi Guys! هذا هو المشروع الذي قمت بإنشائه باستخدام متحكم الموافقة المسبقة عن علم ، وهو عبارة عن نظام أمان إلكتروني لرمز PIN مزود بساعة في الوقت الفعلي وميزات رمز التعريف الشخصي ، وتحتوي هذه الصفحة على جميع التفاصيل لإنشاء واحدة بنفسك
نظام فرز الألوان: نظام قائم على الأردوينو مع حزامين: 8 خطوات
نظام الفرز اللوني: نظام قائم على اردوينو مع حزامين: يتم نقل و / أو تغليف المنتجات والعناصر في المجال الصناعي باستخدام خطوط مصنوعة باستخدام أحزمة ناقلة. تساعد هذه الأحزمة في نقل العنصر من نقطة إلى أخرى بسرعة محددة. قد تكون بعض مهام المعالجة أو تحديد الهوية
لعبة فيديو "نظام الأمن": 15 خطوة
لعبة فيديو "نظام الأمان": هذه هي كيفية إنشاء منصة بسيطة في flowlab.io يمكن تشغيل اللعبة المستخدمة كمثال في هذا البرنامج التعليمي وعرض برمجتها وتحريرها (ولكن لم يتم حفظها) على هذا الرابط: https: // flowlab.io/game/play/1130006
نظام الأمن المعتمد على PIR: 7 خطوات
نظام الأمان المعتمد على PIR: تعتمد هذه الوحدة على مستشعر PIR ودقيقة للغاية ، وتتكون من وحدة الجرس وطاقة احتياطية لمزيد من الأمان
قم بتحويل مودم الطلب الهاتفي القديم إلى USB Hider: 6 خطوات
قم بتحويل مودم الطلب الهاتفي القديم إلى USB Hider: إذا كان لديك مودم اتصال هاتفي قديم معطوب فقط جالسًا ويشغل مساحة ، فلماذا لا تحوله إلى موزع USB؟ سأوضح لك في هذا Instructable كيفية القيام بذلك