دائرة إنذار للمنزل على اردوينو. المنبه المنزلي أو استخدام حساس الحركة وشاشة ال سي دي مع اردوينو

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

ما نحتاجه لعمل إنذار GSM:

  • وحدة GSM / GPRS SIM800L ؛
  • Arduino Nano أو UNO أو Arduino آخر ؛
  • محول DC-DC متدرج ؛
  • بطارية 3.7 فولت ؛
  • مقاومات 10 ك - 7 قطع ؛
  • مزود الطاقة.

كيفية عمل جهاز إنذار ضد السرقة GSM على وحدة SIM800L و Arduino ، الوصف الوظيفي:

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

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

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

في الرسم التخطيطي ، يمكنك إدخال أرقام الهواتف وإعطاء الأسماء الخاصة بك للمناطق المحمية ، بدلاً من "إنذار! المنطقة 1 "،" إنذار! المنطقة 2 "،" إنذار! Zone3 ”... يمكنك كتابة اسم الكائن حيث تضع مستشعرًا محددًا ، على سبيل المثال“ Alarm! Okno ، إنذار! Dverj "وغيرهم ، اكتب أسماء المنطقة باللاتينية فقط. في الرسم التخطيطي أيضًا ، تم تعيين وقت معاودة الاتصال بالمالك ، أي بعد عدد الساعات لإبلاغك أن النظام بأكمله يعمل وأن كل شيء على ما يرام ، بشكل افتراضي ، يتم تعيينه لمعاودة الاتصال كل 144 ساعة.

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

قم بتنزيل Sketch for Arduino.

مرحبا عزيزي القارئ! تدور مقالة اليوم حول بناء نظام بسيط لأمن المنزل باستخدام مكونات متاحة بسهولة. سيساعدك هذا الجهاز الصغير والرخيص على حماية منزلك من التطفل باستخدام Arduino ومستشعر الحركة والشاشة ومكبر الصوت. يمكن تشغيل الجهاز بواسطة بطارية أو منفذ USB على الكمبيوتر.

لذا ، لنبدأ!

كيف يعمل؟

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

لنطاق أوسع ، يتم استخدام عدسات Fresnel ، التي تجمع الأشعة تحت الحمراء من اتجاهات مختلفة وتركزها على المستشعر نفسه.

يوضح الشكل كيف تشوه العدسة الأشعة التي تسقط عليها.

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

عندما يكون هناك تغيير في مستوى إشعاع الأشعة تحت الحمراء في نطاق الحركة ، ستتم معالجة ذلك بواسطة Arduino ، وبعد ذلك سيتم عرض الحالة على شاشة LCD ، وسيومض مؤشر LED وسيصدر مكبر الصوت صوت تنبيه.

ماذا نحتاج؟

  1. (أو أي رسوم أخرى).
  2. (16 حرفًا ، سطرين)
  3. موصل واحد لتوصيل التاج بأردوينو
  4. (على الرغم من أنه يمكنك استخدام مكبر صوت عادي)
  5. كبل USB - برمجة فقط ( تقريبا. عبر.:يأتي دائمًا مع Arduinos لدينا!)
  6. الكمبيوتر (مرة أخرى ، فقط لكتابة البرنامج وتنزيله).

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

نحن نتواصل!

توصيل مستشعر الحركة بسيط جدًا:

  1. نقوم بتوصيل دبوس Vcc بـ 5V Arduino.
  2. قم بتوصيل دبوس Gnd بـ GND الخاص بـ Arduino.
  3. يتم توصيل Pin OUT برقم التعريف الرقمي 7 من Arduino

الآن دعنا نعلق LED ومكبر الصوت. الأمر بهذه البساطة هنا:

  1. نقوم بتوصيل الساق القصيرة (ناقص) من LED بالأرض
  2. نقوم بتوصيل الساق الطويلة (زائد) من LED بإخراج رقم 13 من Arduino
  3. سلك مكبر الصوت الأحمر لإخراج # 10
  4. السلك الأسود على الأرض

والآن أصعب جزء هو توصيل شاشة العرض 1602 LCD بـ Arduino. الشاشة لا تحتوي على I2C ، لذلك سوف يتطلب الأمر الكثير من مخرجات Arduino ، لكن النتيجة ستكون تستحق العناء. الرسم البياني مبين أدناه:

نحتاج فقط إلى جزء من الدائرة (لن يكون لدينا تعديل تباين بمقياس جهد). لذلك ، ما عليك سوى القيام بما يلي:

أنت الآن تعرف كيفية توصيل شاشة 1602 بـ Arduino UNO R3 (تمامًا مثل أي إصدار من Arduino من Mini إلى Mega).

برمجة

حان الوقت للانتقال إلى البرمجة. يوجد أدناه الرمز الذي تحتاج فقط لملئه ، وإذا قمت بتجميع كل شيء بشكل صحيح ، فإن الجهاز جاهز!

#تتضمن int ledPin = 13 ؛ // LED pin int inputPin = 7 ؛ // الدبوس الذي يتصل به مخرج مستشعر الحركة int pirState = LOW ؛ // الحالة الحالية (لم يتم العثور على أي شيء في البداية) int val = 0 ؛ // متغير لقراءة حالة المدخلات الرقمية int pinSpeaker = 10 ؛ // الدبوس الذي تتصل به السماعة. مطلوب لاستخدام PWM pin LiquidCrystal lcd (12 ، 11 ، 5 ، 4 ، 3 ، 2) ؛ // تهيئة إعداد باطل شاشة LCD () (// تحديد اتجاه نقل البيانات على pinMode الرقمي (ledPin ، الإخراج) ؛ pinMode (inputPin ، INPUT) ؛ pinMode (pinSpeaker ، OUTPUT) ؛ // بدء إخراج معلومات التصحيح عبر المنفذ التسلسلي .begin. ، 0)؛ // Print to LCD lcd.print ("PIR Motion")؛ // Move مرة أخرى lcd.setCursor (5، 1)؛ // Print lcd.print ("Sensor")؛ // Pause to read، ما تم طباعته تأخير (5000) ؛ // Clearing lcd.clear () ؛ // مثل lcd.setCursor (0 ، 0) ؛ lcd.print ("معالجة البيانات.") ؛ تأخير (3000) ؛ lcd.clear ( )؛ lcd.setCursor (3، 0)؛ lcd.print ("Waiting For")؛ lcd.setCursor (3، 1)؛ lcd.print ("Motion ....")؛) الحلقة الفارغة () (/ / قراءة مستشعر قراءة val = digitalRead (inputPin) ؛ إذا (val == HIGH) (// إذا كانت هناك حركة ، فقم بإضاءة مؤشر LED وتشغيله siren digitalWrite (ledPin ، عالية) ؛ playTone (300 ، 300) ؛ تأخير (150) ؛ // إذا لم تكن هناك حركة حتى هذه النقطة ، فقم بطباعة رسالة // أنه تم اكتشافها // يلزم إدخال الرمز أدناه لكتابة تغيير الحالة فقط ، وليس طباعة القيمة في كل مرة إذا (pirState == LOW) (Serial.println ("تم اكتشاف الحركة!") ؛ lcd.clear () ؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("تم اكتشاف الحركة!") ؛ pirState = HIGH ؛)) آخر ( // إذا انتهت الحركة digitalWrite (ledPin ، LOW) ؛ playTone (0 ، 0) ؛ تأخير (300) ؛ إذا (pirState == HIGH) (// أبلغنا أن الحركة كانت ، ولكنها انتهت بالفعل Serial.println ( "انتهت الحركة!") ؛ lcd.clear () ؛ lcd.setCursor (3 ، 0) ؛ lcd.print ("في انتظار") ؛ lcd.setCursor (3 ، 1) ؛ lcd.print ("الحركة ... . ") ؛ pirState = LOW ؛))) / / وظيفة تشغيل الصوت. المدة (المدة) - بالمللي ثانية ، التكرار (التردد) - نغمة التشغيل الفارغة بالهرتز (مدة طويلة ، التكرار الفعلي) (المدة * = 1000 ؛ الفترة الزمنية = (1.0 / التكرار) * 100000 ؛ الوقت المنقضي الطويل = 0 ؛ بينما (الوقت المنقضي)< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }

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

منبه المنزل اردوينو

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

مجسات Arduino لأجهزة الإنذار ضد السرقة

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

يستخدم المشروع أبسط أجهزة الاستشعار - مستشعر درجة حرارة DHT11 ، ومستشعر تسرب المياه DIY ، ومستشعر الحركة. إذا قررت إنشاء نظام إنذار أكثر تعقيدًا ، فننصحك بإلقاء نظرة على مشروع إنذار الحريق أو الإنذار على نظام GSM. ستحتاج أيضًا إلى تثبيت التطبيق على هاتفك الذكي وتسجيل حسابين على Twitter.

كيفية عمل منبه اردوينو

لهذا المشروع سوف نحتاج:

  • لوحة Arduino Uno / Arduino Nano / Arduino Mega ؛
  • هاتف ذكي مزود بإمكانية الوصول إلى الإنترنت ؛
  • مستشعر درجة الحرارة والرطوبة DHT11 ؛
  • مستشعر تسرب المياه (مستشعر المياه) ؛
  • مستشعر الحركة وزر (التبديل) ؛
  • المصابيح ، المقاومات ، الأسلاك ، إلخ.


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

رسم إنذار ضد السرقة على Arduino Uno / Nano

#تتضمن // ربط مكتبة SoftwareSerial.h SoftwareSerial mySerial (2 ، 3) ؛ // حدد دبابيس rx و tx على التوالي#تتضمن // قم بتوصيل المكتبة لجهاز الاستشعار DHT dht (16 ، DHT11) ؛ // أخبر أي منفذ سيتم تشغيل المستشعر int tmp # تعريف PIR 5 // منفذ لتوصيل مستشعر الحركة int pir #define KNP 7 // منفذ لتوصيل المحول int knp ؛ #define WTR 19 // منفذ لتوصيل جهاز استشعار المياه intwtr. # تعريف الصمام 11 // منفذ لتوصيل المصابيح#define BUZ 9 // منفذ لتوصيل مكبر صوت بيزو // سلاسل لتحديد المعلومات الواردة على الهاتف الذكي String stringT = String ("*") ؛ String stringP = String ("^") ؛ String stringW = String ("-") ؛ String stringH = String ("#")؛ // متغيرات للعدادات وتعداد الحلقات وما إلى ذلك.حركة طويلة بدون توقيع ساعة طويلة بدون توقيع البايت م ، s1 ، s2 ، s3 ، ج = 10 ؛ إعداد باطل () (mySerial.begin (9600) ؛ Serial.begin (9600) ؛ dht.begin () ؛ pinMode (PIR ، INPUT) ؛ analogWrite (PIR ، LOW) ؛ pinMode (KNP ، INPUT) ؛ analogWrite (KNP ، منخفض) ؛ pinMode (WTR ، INPUT) ؛ analogWrite (WTR ، LOW) ؛ // اختبار المصابيح والصفارات عند تشغيلها pinMode (BUZ ، الإخراج) ؛ pinMode (LED ، الإخراج) ؛ analogWrite (LED ، 255) ؛ نغمة (BUZ ، 100) ؛ تأخير (1000) ؛ analogWrite (LED، 0) ؛ noTone (BUZ) ؛ تأخير (1000) ؛ ) الحلقة الفارغة () (tmp = dht.readTemperature () ؛ pir = digitalRead (PIR) ؛ knp = digitalRead (KNP) ؛ wtr = analogRead (WTR) ؛ // ابدأ العدادساعة = ملي () ؛ // 3600000 مللي ثانية هي ساعة واحدة ، 10800000 هي 3 ساعات // إذا مرت 3 ساعات ، نرسل البيانات إلى الهاتف الذكي // إذا لزم الأمر ، ضع القيم الخاصة بك بدلاً من 10800000 if (millis () - hour> 10800000) (mySerial.println (tmp + stringT) ؛ mySerial.println (stringH) ؛ // أرسل إشارة تفيد بأن 3 ساعات قد مرت } // نحسب الدورات ، كل عشر دورة نرسل البيانات إلى الهاتف الذكيج-- ؛ Serial.print (ج) ؛ المسلسل .println ("- حلقة") ؛ Serial.println ("") ؛ تأخير (1000) ؛ noTone (BUZ) ؛ إذا (ج> 10) (ج = 10 ؛) إذا (ج< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // إرسال قيمة درجة الحرارة mySerial.println (pir + stringP) ، // إرسال وجود الحركة في المنزل mySerial.println (wtr + stringW) ، // إرسال البيانات من أجهزة استشعار المياه // عمل مستشعر الحركة والزر مغلق - أشعل الضوءإذا (pir == HIGH && knp == LOW) (analogWrite (LED ، 255) ؛) // مستشعر الحركة معطل والزر مغلق - أطفئ الضوءإذا (pir == LOW && knp == LOW) (الحركة = مللي () ؛ بينما (pir == LOW) (tmp = dht.readTemperature () ؛ pir = digitalRead (PIR) ؛ knp = digitalRead (KNP) ؛ wtr = analogRead (WTR)؛ c--؛ Serial .print (c)؛ Serial .println ("- loop")؛ Serial .println ("")؛ delay (1000)؛ noTone (BUZ)؛ if (c> 10 ) (ج = 10 ؛) إذا (ج< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // إرسال قيمة درجة الحرارة mySerial.println (pir + stringP) ، // إرسال وجود الحركة في المنزل mySerial.println (wtr + stringW) ، // إرسال البيانات من أجهزة استشعار المياه // عرض جميع البيانات من أجهزة الاستشعار على شاشة رقم المنفذ Serial.print ("TMP =") ؛ Serial.println (tmp) ؛ Serial.print ("PIR =") ؛ Serial.println (بير) ؛ Serial.print ("KNP =") ؛ Serial.println (knp) ؛ Serial.print ("WTR =") ؛ Serial.println (wtr) ؛ Serial.println ("") ؛ ) // تضيء الفاصل الزمني بالملي ثانيةإذا (ميلي () - الحركة> 5000) (كتابة أنالوج (LED ، 0) ؛ كسر ؛) إذا (بير == عالية) (كتابة أنالوج (LED ، 255) ؛ كسر ؛))) // تم تنشيط مستشعر الحركة والزر قيد التشغيل - بدء تشغيل المؤقتإذا (pir == HIGH && knp == HIGH) (الحركة = مللي () ؛ تأخير (1000) ؛ analogWrite (LED ، 255) ؛ Serial.println ( "عمل المستشعر") ؛ Serial.println ("") ؛ تأخير (1000) ؛ while (knp == HIGH) (tmp = dht.readTemperature () ؛ pir = digitalRead (PIR) ؛ knp = digitalRead (KNP) ؛ wtr = analogRead (WTR) ؛ c-- ؛ Serial .print (c) ؛ المسلسل. println ("- loop") ؛ Serial .println ("") ؛ تأخير (1000) ؛ noTone (BUZ) ؛ ​​إذا (c> 10) (c = 10 ؛) إذا (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // إرسال قيمة درجة الحرارة mySerial.println (pir + stringP) ، // إرسال وجود الحركة في المنزل mySerial.println (wtr + stringW) ، // إرسال البيانات من أجهزة استشعار المياه // عرض جميع البيانات من أجهزة الاستشعار على مراقب رقم المنفذ Serial.print ("TMP =") ؛ Serial.println (tmp) ؛ Serial.print ("PIR =") ؛ Serial.println (بير) ؛ Serial.print ("KNP =") ؛ Serial.println (knp) ؛ Serial.print ("WTR =") ؛ Serial.println (wtr) ؛ Serial.println ("") ؛ ) // في حالة تعطيل مستشعر الحركة - إرسال رسالة إلى BLUETOOTHإذا (knp == LOW) (المسلسل .println ( "تم تعطيل الإنذار") ؛ Serial.println ("") ؛ تأخير (1000) ؛ ) // إذا مر أكثر من 10 ثوانٍ - أرسل رسالة إلى البلوتوثإذا (مللي () - حركة> 10000 && s1! = 1) (م = 1 ؛ انتقل إلى الرسالة 1 ؛) تأخير (1000) ؛ )) // إذا كان هناك تسرب للمياه - إرسال رسالة إلى البلوتوثإذا (wtr> 500 && s2! = 2) (م = 2 ؛ انتقل إلى الرسالة 2 ؛) إذا (wtr> 500) (نغمة (BUZ ، 400) ؛) إذا (wtr<= 500) { noTone (BUZ); } // إذا كانت درجة الحرارة منخفضة - إرسال رسالة إلى BLUETOOTHإذا (tmp< 20 && s3 != 3) { m = 3; goto message3; } if (tmp < 20) { tone (BUZ, 200); } if (tmp >= 20) (noTone (BUZ) ؛) message1: while (m == 1) (Serial .println ( "تم إرسال الإنذار إلى البلوتوث" // إرسال قيمة درجة الحرارة mySerial.println (1 + سلسلة نصية) ، // إرسال وجود الحركة في المنزل mySerial.println (wtr + stringW) ، // إرسال البيانات من أجهزة استشعار المياهق 1 = 1 ؛ م = 0 ؛ استراحة ؛ ) message2: while (m == 2) (المسلسل .println ( "تم إرسال إنذار تسرب المياه إلى BLUETOOTH") ؛ Serial.println ("") ؛ تأخير (1000) ؛ mySerial.println (tmp + stringT) ، // إرسال قيمة درجة الحرارة mySerial.println (pir + stringP) ، // إرسال وجود الحركة في المنزل mySerial.println (500 + سلسلة W) ؛ // إرسال البيانات من أجهزة استشعار المياه s2 = 2 ؛ م = 0 ؛ استراحة ؛ ) message3: بينما (م == 3) (المسلسل .println ( "تم إرسال إشارة درجة الحرارة إلى البلوتوث") ؛ Serial.println ("") ؛ تأخير (1000) ؛ mySerial.println (20 + سلسلة نصية) ، // إرسال قيمة درجة الحرارة mySerial.println (pir + stringP) ، // إرسال وجود الحركة في المنزل mySerial.println (wtr + stringW) ، // إرسال البيانات من أجهزة استشعار المياه s3 = 3 ؛ م = 0 ؛ استراحة ؛ ))

تفسيرات للكود:

للوهلة الأولى ، قد يبدو المخطط معقدًا ، لكنه ليس كذلك. يمكن تجميع الإنذار على أي لوحة ، بما في ذلك Arduino Uno. بدلاً من مصابيح LED ، يمكنك استخدام شريط LED ، ولكن في نفس الوقت ، يجب أن يكون مصدر الطاقة للوحة 12 فولت ، وتوصيل شريط LED ليس بـ 5 فولت ، ولكن بدبوس Vin Arduino. باستخدام مصابيح LED ، يمكنك استخدام شاحن هاتف عادي بجهد 5 فولت لتشغيل الدائرة.

تثبيت تطبيق على الهاتف الذكي للتنبيه

لتثبيت التطبيق ، قم بتنزيل ملف home_twit.apk على هاتفك عبر كابل USB ، وابحث عنه في ذاكرة الهاتف وانقر فوق "تثبيت". يجب أن يكون هذا الهاتف دائمًا في منطقة Bluetooth لإشارة Arduino. بمجرد التثبيت ، افتح التطبيق وانقر على زر "الإعدادات". هنا سوف تحتاج إلى تحديد الحد الأدنى والأقصى لدرجة الحرارة التي سيتم إرسال الرسالة عندها.

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

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

إذا كانت لديك أي مشاكل مع إعدادات التنبيه على Arduino - اكتب أسئلتك في التعليقات على هذه المراجعة.

يوم جيد 🙂 اليوم سنتحدث عن التأشير. سوق الخدمة مليء بالشركات والمؤسسات التي تقوم بتثبيت أنظمة الأمان وصيانتها. تقدم هذه الشركات للمشتري مجموعة واسعة من أنظمة الإنذار. ومع ذلك ، فإن تكلفتها ليست رخيصة. ولكن ماذا عن شخص ليس لديه الكثير من الأموال الشخصية التي يمكن إنفاقها على جهاز الإنذار ضد السرقة؟ أعتقد أن الاستنتاج يوحي بنفسه - فعلإنذار هم اليدين. هذه المقالة هي مثال على كيفية إنشاء نظام الأمان المشفر الخاص بك باستخدام لوحة Arduino uno وبعض المستشعرات المغناطيسية.

يمكن إلغاء تنشيط النظام عن طريق إدخال كلمة المرور من لوحة المفاتيح والضغط على الزر " * '. إذا كنت تريد تغيير كلمة مرورك الحالية ، فيمكنك القيام بذلك بالضغط على الزر " ب، وإذا كنت تريد تخطي أو إجهاض العملية ، يمكنك القيام بذلك عن طريق الضغط على المفتاح ‘#’. يحتوي النظام على جرس لتشغيل أصوات مختلفة عند إجراء عملية معينة.

يتم تنشيط النظام بالضغط على الزر "أ". يعطي النظام 10 ثوان لمغادرة الغرفة. بعد 10 ثوانٍ ، سيتم تنشيط المنبه. يعتمد عدد المستشعرات المغناطيسية على رغبتك. تضمن المشروع 3 مجسات (لنافذتين وباب). عند فتح النافذة ، يتم تنشيط النظام وتنشيط صفارة الإنذار. يمكن إلغاء تنشيط النظام عن طريق إدخال كلمة مرور. عند فتح الباب ، يعطي المنبه الشخص الذي يدخل 20 ثانية لإدخال كلمة المرور. يستخدم النظام جهاز استشعار بالموجات فوق الصوتية يمكنه اكتشاف الحركة.

فيديو للجهاز

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

هيا بنا نبدأ!

الخطوة 1: ما سنحتاجه

  • لوحة اردوينو أونو ؛
  • شاشة LCD عالية التباين 16 × 2 ؛
  • لوحة المفاتيح 4 × 4 ؛
  • 10 ~ 20kΩ مقياس الجهد ؛
  • 3 مستشعرات مغناطيسية (وهي أيضًا مفاتيح من القصب) ؛
  • 3 محطات لولبية ثنائية السنون ؛
  • جهاز استشعار بالموجات فوق الصوتية HC-SR04 ؛

إذا كنت ترغب في إنشاء نظام بدون استخدام Arduino ، فستحتاج أيضًا إلى ما يلي:

  • رأس DIP لـ atmega328 + متحكم atmega328 ؛
  • 16 ميجا هرتز مرنان الكوارتز.
  • 2 قطعة 22pF سيراميك ، 2 قطعة. 0.22 فائق التوهج مكثف كهربائيا ؛
  • حاسب شخصي 1. 10kΩ المقاوم
  • مقبس الطاقة (مقبس طاقة تيار مستمر) ؛
  • لوح الخبز
  • 5V امدادات الطاقة.

ومربع واحد لحزم كل شيء!

الادوات:

  • شيء يمكن أن يقطع صندوق بلاستيكي ؛
  • مسدس الغراء الساخن؛
  • حفر / مفك البراغي.

الخطوة 2: مخطط الإنذار

مخطط الاتصال بسيط للغاية.

توضيح صغير:

شاشة LCD عالية التباين:

  • Pin1 - Vdd إلى GND
  • Pin2 - Vss إلى 5V ؛
  • Pin3 - Vo (إلى الناتج المركزي لمقياس الجهد) ؛
  • Pin4 - RS إلى Arduino pin 8 ؛
  • Pin5 - RW إلى GND
  • Pin6 - EN إلى Arduino pin 7 ؛
  • Pin11 - D4 إلى Arduino pin 6 ؛
  • Pin12 - D5 إلى Arduino pin 5 ؛
  • Pin13 - D6 إلى Arduino pin 4 ؛
  • Pin14 - D7 إلى Arduino pin 3 ؛
  • Pin15 - Vee (إلى اليمين أو اليسار الناتج من مقياس الجهد).

لوحة المفاتيح 4 × 4:

من اليسار الى اليمين:

  • Pin1 إلى A5 اردوينو دبوس ؛
  • Pin2 إلى A4 اردوينو دبوس ؛
  • Pin3 إلى Arduino pin A3 ؛
  • Pin4 إلى Arduino pin A2 ؛
  • Pin5 إلى Arduino pin 13 ؛
  • Pin6 إلى Arduino pin 12 ؛
  • Pin7 إلى Arduino pin 11 ؛
  • Pin8 إلى Arduino pin 10.

الخطوة 3: البرامج الثابتة

تُظهر الخطوة الكود الذي يستخدمه المدمج في!

قم بتنزيل البرنامج المساعد codebender. انقر فوق الزر "تشغيل" في Arduino وقم بتشغيل اللوحة الخاصة بك باستخدام هذا البرنامج. هذا كل شئ. لقد قمت للتو ببرمجة Arduino! إذا كنت تريد إجراء تغييرات على الشفرة ، فانقر فوق الزر "تحرير".

ملاحظة: إذا كنت لا تستخدم Codebender IDE لبرمجة لوحة Arduino ، فستحتاج إلى تثبيت مكتبات إضافية في Arduino IDE.

الخطوة 4: صنع لوحة التحكم الخاصة بك

بمجرد الانتهاء من بناء واختبار مشروع Arduino uno الجديد الخاص بك بنجاح ، يمكنك البدء في إنشاء اللوحة الخاصة بك.

بعض النصائح لإنجاز المهمة بشكل أكثر نجاحًا:

  • يجب توصيل المقاوم 10kΩ بين الدبوس 1 (إعادة التعيين) والدبوس 7 (Vcc) من متحكم Atmega328.
  • يجب توصيل بلورة بتردد 16 ميجا هرتز بالدبابيس 9 و 10 المسمى XTAL1 و XTAL2
  • قم بتوصيل كل سلك مرنان بمكثفات 22pF. قم بتوصيل الخيوط المجانية للمكثفات بالدبوس 8 (GND) للميكروكونترولر.
  • لا تنس توصيل خط الطاقة الثاني من ATmega328 بمصدر الطاقة ، ودبابيس 20-Vcc و 22-GND.
  • يمكنك العثور على معلومات إضافية حول دبابيس متحكم في الصورة الثانية.
  • إذا كنت تخطط لاستخدام مصدر طاقة بجهد أعلى من 6 فولت ، فيجب عليك استخدام منظم خطي LM7805 ومكثفتين كهربائيتين 0.22 فائق التوهج ، والتي يجب تركيبها عند دخل وإخراج المنظم. انه مهم! لا تطبق أكثر من 6V على السبورة !!! خلاف ذلك ، سوف تحرق متحكم Atmega وشاشة LCD.

الخطوة 5: ضع الدائرة في العلبة

أراد مؤلفه أن يصنع في المنزل ، بحيث يكون رخيصًا ولاسلكيًا.
يستخدم هذا المنتج محلي الصنع مستشعر حركة PIR ، ويتم نقل المعلومات باستخدام وحدة RF.

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


من أجل جعل الأمر أكثر ملاءمة للزوار لعرض مجموعة التنبيه ، قررت تقسيم المقالة إلى 5 مراحل:
المرحلة 1: إنشاء المرسل.
المرحلة 2: إنشاء جهاز استقبال.
المرحلة 3: تثبيت البرنامج.
المرحلة 4: اختبار الوحدات المجمعة.
المرحلة الخامسة: تجميع العلبة وتركيب الوحدة بداخلها.

كل ما يحتاجه المؤلف هو:
- لوحتان ARDUINO UNO / ARDUINO MINI / ARDUINO NANO لجهاز الاستقبال والإرسال ؛
- وحدة الإرسال والاستقبال RF (433 ميجا هرتز) ؛
- مستشعر الحركة PIR ؛
- بطاريات 9 فولت (قطعتان) وموصلات لها ؛
- الجرس
- الصمام الثنائي الباعث للضوء ؛
- مقاوم بمقاومة 220 أوم ؛
- لوح الخبز
- صداري / أسلاك / صداري ؛
- لوحة دائرة كهربائية؛
- موصلات دبوس Interboard.
- مفاتيح.
- حالات لجهاز الاستقبال والإرسال ؛
- ورق ملون
- شريط تركيب
- مشرط ضبط النوع.
- مسدس الغراء الساخن؛
- لحام حديد؛
- القراص / أداة لإزالة العزل ؛
- مقص للمعدن.


المرحلة 1.
لنبدأ في إنشاء جهاز الإرسال.
يوجد أدناه رسم تخطيطي لجهاز استشعار الحركة.


يتكون جهاز الإرسال نفسه من:
- مستشعر الحركة؛
- لوحات اردوينو
- وحدة الارسال.


يحتوي المستشعر نفسه على ثلاثة مخرجات:
- VCC ؛
- GND ؛
- خارج.

بعد ذلك ، راجعت تشغيل المستشعر


انتباه!!!
قبل تحميل البرنامج الثابت ، يتأكد المؤلف من ضبط اللوحة الحالية والمنفذ التسلسلي بشكل صحيح في إعدادات Arduino IDE. ثم قمت بتحميل الرسم التخطيطي:

لاحقًا ، عندما يكتشف مستشعر الحركة الحركة أمامه ، سيضيء مؤشر LED ، ويمكنك أيضًا رؤية الرسالة المقابلة على الشاشة.


حسب الرسم البياني أدناه.


يحتوي جهاز الإرسال على 3 مخرجات (VCC و GND والبيانات) ، قم بتوصيلهم:
- خرج VCC> 5V على اللوحة ؛
- GND> GND ؛
- البيانات> 12 إخراج على السبورة.

المرحلة الثانية.


يتكون المتلقي نفسه من:
- وحدة استقبال الترددات اللاسلكية ؛
- لوحات اردوينو
- الجرس (مكبر الصوت).

مخطط جهاز الاستقبال:


يحتوي جهاز الاستقبال ، مثل جهاز الإرسال ، على 3 مخرجات (VCC و GND و Data) ، ونقوم بتوصيلها:
- خرج VCC> 5V على اللوحة ؛
- GND> GND ؛
- البيانات> 12 إخراج على السبورة.


المرحلة 3.
اختار المؤلف ملف المكتبة كأساس للبرنامج الثابت بأكمله. قمت بتنزيله ، ووضعته في مجلد مكتبات Arduino.

برنامج الارسال.
قبل تحميل رمز البرنامج الثابت على اللوحة ، قام المؤلف بتعيين معلمات IDE التالية:
- لوحة -> Arduino Nano (أو أي لوحة تستخدمها) ؛
- المنفذ التسلسلي ->


بعد تعيين المعلمات ، قام المؤلف بتنزيل ملف البرنامج الثابت Wireless_tx وتحميله إلى اللوحة:

برنامج الاستقبال
يكرر المؤلف نفس الخطوات للوحة الاستقبال:
- لوحة -> Arduino UNO (أو أي لوحة تستخدمها) ؛
- المنفذ التسلسلي -> COM XX (تحقق من منفذ com الذي تتصل به اللوحة الخاصة بك).



بعد أن قام المؤلف بتعيين المعلمات ، يقوم بتنزيل ملف wireless_rx وتحميله إلى اللوحة:


بعد ذلك ، باستخدام برنامج يمكن تنزيله ، أصدر المؤلف صوتًا للجرس.

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


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


بعد ذلك ، قمت بتوصيل لوحة اردوينو بجهاز استشعار للحركة وجهاز إرسال RF باستخدام وصلات العبور.


بعد ذلك ، بدأ المؤلف في الدفاع عن قضية جهاز الإرسال.

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




ثم قام المؤلف بطي ورقة ملونة ولصق الصورة على الغلاف الأمامي لإخفاء الأجزاء الداخلية للمنتج محلي الصنع.


بعد ذلك ، بدأ المؤلف في إدخال الحشوة الإلكترونية داخل العلبة باستخدام شريط على الوجهين.



التجميع النهائي لجهاز الاستقبال
قرر المؤلف توصيل لوحة Arduino بلوحة الدائرة بشريط مطاطي ، وكذلك تثبيت مستقبل RF.


بعد ذلك ، قطع المؤلف فتحتين على الجسم الآخر ، أحدهما للجرس والآخر للمفتاح.


والعصي.

ماذا تقرأ