» إلكترونيات » اردوينو »نجعل أبسط إشارة على GSM SIM800L و Arduino للعطاء ، المرآب

نصنع أبسط إشارات على GSM SIM800L و Arduino للعطاء ، المرآب


مع بداية موسم الصيف ، كانت هناك حاجة لحماية المنزل الريفي. أردت أن أقوم بإنذار ضد السرقة بسيط ولكنه موثوق به مع إشارة مرسلة إلى الهاتف الخليوي. تقرر تجميع جهاز مع إرسال إنذار إلى هاتف خلوي على أساس إلكتروني لوحات الدوائر المشتراة على Aliexpress. كما يقولون رخيصة ولكنها مبتهجة. العناصر الرئيسية لهذا التصميم هي وحدة GSM SIM800L ولوحة Arduino (يمكنك استخدام أي منها - Nano و Uno و Pro Mini وما شابه).

يحتوي الجهاز على خمسة مدخلات إنذار لأجهزة استشعار الاتصال. يمكن توصيل واحد أو أكثر من أجهزة الاستشعار المتصلة في سلسلة بكل إدخال. في رسم تخطيطي ، قم بتعيين اسم لكل حلقة أمان (على سبيل المثال ، باب المدخل ، النافذة 1 ، النافذة 2 ، وما إلى ذلك). يعمل جهاز الأمان على النحو التالي: عندما تنقطع الدائرة الكهربائية للحلقة الأولى ، تقوم الوحدة أولاً بإجراء مكالمة إلى الهاتف الأول للمشترك ، ثم توقف المكالمة وأيضًا إلى الرقم 2. رقم 2 ضروري في ضوء حقيقة أنه إذا كان المشترك الأول فجأة غير متصل أو تم توصيل البطارية وغيرها من المشاكل). إذا تم تشغيل الحلقة التي تلي الحلقة الأولى ، فسيتم إرسال رسالة SMS باسم الحلقة التي عملت ، في نفس الحالة ، إلى كلا رقمي المشتركين.

تعداد الأدوات والمواد.
بطارية ليثيوم أيون من هاتف قديم 3.7 فولت \ 1600 مللي أمبير -1 قطعة
- توصيل الأسلاك ؛
لحام الحديد
اختبار
- صندوق بلاستيكي شفاف -1 قطع.
الدفع اردوينو نانو -1 قطع ؛
-مقاومات 10kOhm-7pcs ؛
- لوح خبز مصنوع من رقائق القماش.
- 1 قطع مفتاح الطاقة.
- وحدة SIM800L -1 قطع ؛
- لوحة تخفيض 1-2A -1pcs ؛
- موصلات طرفية.

الخطوة الأولى. تجميع دائرة لجهاز أمن GSM.
مخطط الصورة.


نحن نلحم منصات المكونات الإضافية لوحدة GSM SIM800L ووحدة Arduino على لوحة التوصيل ، وهذا يبسط التثبيت ويسهل استبدال الوحدات إذا لزم الأمر. مقاومات اللحام وغيرها من الاتصالات. ترتبط المقاومات من طرف RX لوحدة SIM800L بمدخل Arduino D3 الرقمي لتتناسب مع جهد مدخلات كل من الوحدات. يتم سحب مدخلات Arduino D4-D8 من خلال المقاومات. تم تركيب المفتاح في فجوة إمداد الطاقة لوحدة SIM800 GSM ولوحة Arduino لتسليح النظام بأكمله. استخدام بطارية تسمح للجهاز بالعمل لمدة ثلاثة أيام في حالة عدم وجود شبكة 220 فولت ، وفي حالتي ، ينتج محول الجهد من جهد 12 فولت جهدًا 4.2 فولت وفي نفس الوقت يشحن البطارية (يمكنك استخدام لوحة أخرى ، على سبيل المثال ، TP4056 مع الحماية).

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

رسم:


رقم السلسلة Call_1 = "79123456789" ، // رقم المشترك №1 لإجراء مكالمة
رقم السلسلة SMS_1 = "+79123456789" ، // رقم المشترك رقم 1 للرسائل القصيرة (يختلف فقط في علامة +)

رقم السلسلة Call_2 = "79123456782" ؛ // رقم المشترك 2 لإجراء مكالمة
رقم السلسلة SMS_2 = "+79123456782" ؛ // رقم المشترك رقم 2 للرسائل القصيرة (يختلف فقط في علامة +)

String textZone_1 = "Alarm! Zone1" ؛ // اسمه باللغة اللاتينية.
String textZone_2 = "Alarm! Zone2" ؛ // اسمه باللغة اللاتينية.
String textZone_3 = "Alarm! Zone3" ؛ // اسمه باللغة اللاتينية.
String textZone_4 = "Alarm! Zone4" ؛ // اسمه باللغة اللاتينية.

# تتضمن 
SoftwareSerial mySerial (2 ، 3) ؛

# تعريف pinSensor_0 4
# تعريف pinSensor_1 5
# تعريف pinSensor_2 6
# تعريف pinSensor_3 7
# تعريف pinSensor_4 8

initGSM باطل (باطل) {
  تأخير (2000) ؛
  mySerial.begin (9600) ؛ // ضبط سرعة الاتصال بوحدة GSM 9600 Baud / sec.
  mySerial.println ("AT + CLIP = 1") ؛
  تأخير (300) ؛
  mySerial.println ("AT + CMGF = 1") ؛
  تأخير (300) ؛
  mySerial.println ("AT + CSCS = \" GSM \ "") ؛
  تأخير (300) ؛
  mySerial.println ("AT + CNMI = 2،2،0،0،0") ؛
  تأخير (300) ؛
}}

/ * إرسال الرسائل القصيرة * /
إفراغ sendSMS (نص سلسلة ، هاتف سلسلة) {
  mySerial.println ("AT + CMGS = \" "+ phone +" \ "") ؛
  تأخير (500) ؛
  mySerial.print (text) ؛
  تأخير (500) ؛
  mySerial.print ((char) 26) ؛
  تأخير (2500) ؛
}}


timerTemp = طويلة غير موقعة ؛
uint8_t ساعات = 0 ؛

uint8_t flagSensor_0 = 0 ؛
uint8_t flagSensor_1 = 0 ؛
uint8_t flagSensor_2 = 0 ؛
uint8_t flagSensor_3 = 0 ؛
uint8_t flagSensor_4 = 0 ؛

إعداد باطل () {
  mySerial.begin (9600) ؛
  initGSM () ؛
  
  pinMode (pinSensor_0 ، INPUT) ؛
  pinMode (pinSensor_1 ، INPUT) ؛
  pinMode (pinSensor_2 ، INPUT) ؛
  pinMode (pinSensor_3 ، INPUT) ؛
  pinMode (pinSensor_4، INPUT) ؛

  timerTemp = ملي () ،
}}

حلقة فارغة () {
    if (millis () - timerTemp> = 3600000) {timerTemp = millis () ؛ ساعات ++ ؛}

  إذا (ساعة> = 144) {// غير وقت التحكم في النظام إلى 144 ساعة. عدد الساعات.
    sendSMS (سلسلة ("يعمل النظام بشكل طبيعي. موافق") ، numberSMS_1) ؛
    تأخير (10000) ؛
    sendSMS (سلسلة ("يعمل النظام بشكل طبيعي. موافق") ، numberSMS_2) ؛
    تأخير (10000) ؛
    ساعات = 0 ؛
    timerTemp = ملي () ،
  }}
 
  if (flagSensor_0 == 0 && digitalRead (pinSensor_0) == 0) flagSensor_0 = 1 ؛
  if (flagSensor_1 == 0 && digitalRead (pinSensor_1) == 0) flagSensor_1 = 1 ؛
  if (flagSensor_2 == 0 && digitalRead (pinSensor_2) == 0) flagSensor_2 = 1 ؛
  if (flagSensor_3 == 0 && digitalRead (pinSensor_3) == 0) flagSensor_3 = 1 ؛
  if (flagSensor_4 == 0 && digitalRead (pinSensor_4) == 0) flagSensor_4 = 1 ؛

  if (flagSensor_0 == 1) {
    أمر سلسلة

    الأمر = "ATD +" + numberCall_1 + "؛"
    mySerial.println (الأمر) ؛
    تأخير (20000) ؛
    mySerial.println ("ATH") ؛
    تأخير (1000) ؛

   
    الأمر = "ATD +" + numberCall_2 + "؛" ؛
    mySerial.println (الأمر) ؛
    تأخير (20000) ؛
    mySerial.println ("ATH") ؛
    تأخير (1000) ؛

    flagSensor_0 = 2 ؛
  }}


  if (flagSensor_1 == 1) {
    sendSMS (textZone_1 ، numberSMS_1) ؛
    تأخير (10000) ؛
    sendSMS (textZone_1 ، numberSMS_2) ؛
    تأخير (10000) ؛
    flagSensor_1 = 2 ؛
  }}


  if (flagSensor_2 == 1) {
    sendSMS (textZone_2 ، numberSMS_1) ؛
    تأخير (10000) ؛
    sendSMS (textZone_2 ، numberSMS_2) ؛
    تأخير (10000) ؛
    flagSensor_2 = 2 ؛
  }}


  if (flagSensor_3 == 1) {
    sendSMS (textZone_3 ، numberSMS_1) ؛
    تأخير (10000) ؛
    sendSMS (textZone_3 ، numberSMS_2) ؛
    تأخير (10000) ؛
    flagSensor_3 = 2 ؛
  }}


  if (flagSensor_4 == 1) {
    sendSMS (textZone_4 ، numberSMS_1) ؛
    تأخير (10000) ؛
    sendSMS (textZone_4 ، numberSMS_2) ؛
    تأخير (10000) ؛
    flagSensor_4 = 2 ؛
  }}

  if (flagSensor_0 == 2 && digitalRead (pinSensor_0)! = 0) flagSensor_0 = 0 ؛
  if (flagSensor_1 == 2 && digitalRead (pinSensor_1)! = 0) flagSensor_1 = 0 ؛
  if (flagSensor_2 == 2 && digitalRead (pinSensor_2)! = 0) flagSensor_2 = 0 ؛
  if (flagSensor_3 == 2 && digitalRead (pinSensor_3)! = 0) flagSensor_3 = 0 ؛
  if (flagSensor_4 == 2 && digitalRead (pinSensor_4)! = 0) flagSensor_4 = 0 ؛
}}


الخطوة الثالثة. التحقق من صحة الجهاز.
نصنع أبسط إشارات على GSM SIM800L و Arduino للعطاء ، المرآب

عند تطبيق الطاقة ، أثناء تحميل وحدة SIM800L ولوحة Arduino ، لديك حوالي 20 ثانية لمغادرة الغرفة المحمية. في وحدة SIM800L ، يشير LED إلى نشاط الشبكة ؛ وغالبًا ما يبحث عن شبكة ؛ مرة واحدة كل خمس ثوانٍ يشير إلى تشغيل الشبكة. عندما يعثر الجهاز على شبكة ، افصل إدخالات الأمان المقابلة ، وبعد ذلك سيكون هناك طلب هاتفي أو إرسال رسالة نصية قصيرة. لذلك الجهاز يعمل بشكل جيد.

صور SMS. سيكون من الممكن تضمين أي كاشفات أمنية ذات مخرجات في شكل جهات اتصال ، ومرحلات من المحركات ، فقط وفقًا لاحتياجاتك وخيالك. بشكل عام ، قمنا بتصنيع جهاز أمن بسيط. يمكن صنع هذا الحارس محلي الصنع لتنظيم حماية أي أشياء. لتشغيل جهاز الإنذار ، تحتاج إلى توفير 4.2 فولت من خلال المفتاح على SIM800 و Arduino. عند المدخل الأول ، سيتم تمرير مكالمة إلى المشترك رقم 1 ، وبعد ذلك سيتم تحويلها إلى رقم 2. تم توفير رقم 2 إضافي للازدواجية. رقم الحلقة المفتوحة 2،3،4،5 يجعل إصدار الرسائل القصيرة مع الاسم المحدد للحلقة المكسورة ، على التوالي ، على كلا الهاتفين. سنضع جميع المجالس في أي حالة مناسبة. بشكل عام ، أعتقد أن هذا جهاز جيد مثير للاهتمام يمكن تطويره بشكل أكبر - إضافة وظائف مقبس GSM والتحكم DMTF والمزيد.

يمكن رؤية المزيد من التفاصيل في الفيديو

أتمنى لكم كل الصحة والنجاح في الحياة والعمل!
8.8
8.4
8.4

أضف تعليقًا

    • ابتسميبتسمxaxaحسنًالا أعرفياهونيا
      رئيسهالصفرأحمقنعمنعم نعمعدوانيسر
      آسفارقصرقص 2رقص 3العفومساعدةالمشروبات
      توقفالأصدقاءجيدجيدصفارة الحكمإغماءلسان
      دخانالتصفيقصرخةيعلنمشتقعدم الإشارةتنزيل
      الحرارةغاضبتضحك 1mdaاجتماعالمسكسلبي
      not_iالفشارمعاقبةاقرأتخويفيخيفبحث
      ساخرشكرا لكهذاtoclclumnikحادتوافق
      سيءالنحلblack_eyeblum3استحىتباهىالملل
      للرقابةإرضاءسر 2تهددانتصاريونظارة شمس
      صدمةتنفسههههساداهلا وسهلاكروتويya_za
      ya_dobryiالمساعدne_huliganne_othodiحمىحظرقريب
3 تعليق
ضيف الإسكندر
هناك سؤال ، هناك حاجة لمقاومات 10kΩ 10W أو 0.25W أم ماذا؟
يوم جيد. ولكن هل يمكنني إضافة شيء بحيث يتم حظر المدخلات مع الطلب الهاتفي الناجح؟ لتجنب الطلب الدوري عندما يكون هناك مستوى منخفض في أحد المدخلات!
يمكنك استخدام لوحة أخرى ، على سبيل المثال TP4056 مع الحماية
غير ممكن ولكن بحاجة إلى. علاوة على ذلك ، ليس على أي حال ، ولكن ، كما يقال بحق ، مع الحماية ، إلى جانب TP4056 يجب أن يكون هناك ICs صغيرة أخرى ، بما في ذلك DW01 أو التماثلية.
بالإضافة إلى الحلقات الأمنية ، من المستحسن جدًا التحكم في الجهد عند مدخل TP4056.

ننصحك بقراءة:

تسليمها للهاتف الذكي ...