لطالما كان الأمن مصدر قلق كبير لنا جميعًا ، وهناك العديد من أنظمة الأمان والمراقبة القائمة على Hi Tech و IoT المتوفرة في السوق. يعد Intruder or Burglar Alarm أحد المشروعات الكلاسيكية والشعبية بين طلاب الإلكترونيات والهواة. لقد قمنا أيضًا ببناء العديد من أجهزة الإنذار ضد السرقة بناءً على تقنيات مختلفة:
- دائرة إنذار أمان الليزر
- إنذار الأمن القائم على الأشعة تحت الحمراء
- جهاز الإنذار ضد السرقة باستخدام PIR
- نظام الأمن القائم على GSM
اليوم نضيف إنذار أمان آخر في قائمتنا والذي يعتمد على جهاز الاستشعار بالموجات فوق الصوتية. هذا إنذار باب اردوينو التحكم يمكن تركيبها بالقرب من الباب للكشف عن وجود أي شخص عند الباب. عندما يأتي شخص ما في نطاق مستشعر الموجات فوق الصوتية ، يبدأ الجرس في إصدار صوت تنبيه. يمكنك ضبط نطاق كشف المستشعر وفقًا لبابك. يمكن أن يخدم هذا النظام أيضًا غرض Motion Detector.
المكونات المطلوبة:
- اللوح
- أجهزة الاستشعار بالموجات فوق الصوتية
- صفارة
- Arduino Mega (أي طراز)
- أسلاك توصيل
- كابل USB لـ Arduino أو محول 12 فولت ، 1 أمبير.
وحدة الاستشعار بالموجات فوق الصوتية:
يتم استخدام مستشعر الموجات فوق الصوتية HC-SR04 هنا للكشف عن وجود أي شخص عند الباب. تتكون وحدة الاستشعار من جهاز إرسال واستقبال بالموجات فوق الصوتية ودائرة التحكم. يتكون المستشعر بالموجات فوق الصوتية من عينين دائريتين تستخدم إحداهما لنقل الموجات فوق الصوتية والأخرى لاستقبالها.
يمكننا حساب مسافة الجسم بناءً على الوقت الذي تستغرقه الموجات فوق الصوتية للعودة إلى المستشعر. نظرًا لأن وقت الصوت وسرعته معروفان ، يمكننا حساب المسافة بالصيغ التالية.
- المسافة = (الوقت × سرعة الصوت) / 2
القيمة مقسومة على اثنين لأن الموجة تنتقل للأمام وللخلف تغطي نفس المسافة. لكن في هذا المشروع استخدمنا مكتبة NewPing.h ، وتهتم هذه المكتبة بهذه العملية الحسابية ونحتاج فقط إلى استخدام بعض الكلمات الرئيسية ، ويرد الشرح في قسم البرمجة أدناه.
تحقق من المشروع أدناه لقياس مسافة أي جسم وفهم عمل مستشعر الموجات فوق الصوتية بشكل صحيح:
- قياس المسافة على أساس اردوينو باستخدام جهاز استشعار فوق صوتي
- قياس المسافة باستخدام HC-SR04 و AVR متحكم
مخطط الدائرة وشرحها:
اتصالات الدائرة لهذا الإنذار فوق الصوتي بسيطة للغاية. دبوس الزناد لمستشعر الموجات فوق الصوتية متصل بالدبوس رقم. 12 من مستشعر Arduino و Echo متصل بالدبوس رقم 11 من Arduino. جهاز الاستشعار Vcc متصل بدبوس 5V من Arduino و GND لجهاز الاستشعار متصل بـ GND من Arduino. يتم توصيل دبوس واحد من الجرس بـ GND الخاص بـ Arduino والدبوس الآخر متصل بالدبوس الثامن من Arduino.
شرح العمل:
من السهل جدًا تشغيل منبه الباب من Arduino. عندما يأتي أي شخص في مسار / نطاق المستشعر بالموجات فوق الصوتية ، يكتشف الميكروكونترولر مسافة الجسم من المستشعر وإذا كان الكائن في النطاق المحدد ، فإنه يرسل إشارة عالية إلى الجرس ويبدأ الجرس في إصدار صوت صفير.
يمكنك اختبار الدائرة عن طريق وضع أي شيء أمام المستشعر داخل النطاق ، تحقق من الفيديو للتوضيح. يمكن أيضًا استخدام هذه الوظيفة الخاصة بجهاز الاستشعار بالموجات فوق الصوتية لبناء روبوت تجنب العقبات.
شرح البرمجة:
في هذا المشروع ، استخدمنا مكتبة NewPing.h لمستشعر الموجات فوق الصوتية ، التي طورها Tim Eckel. على الرغم من أنه يمكننا استخدام مستشعر الموجات فوق الصوتية بدون هذه المكتبة كما فعلنا في مشروعنا السابق ، إلا أن هذه المكتبة توفر العديد من الميزات الجيدة لمستشعر الموجات فوق الصوتية ويصبح من السهل كتابة رمز لمستشعر الموجات فوق الصوتية باستخدام هذه المكتبة. يمكننا استخدام وظائف المستشعر بالموجات فوق الصوتية بسهولة باستخدام هذه المكتبة دون كتابة عدد كبير جدًا من أسطر التعليمات البرمجية ؛ إنه مثل المكتبات الأخرى التي تستخدم للتعامل مع التعقيد في المستوى الأدنى.
#تضمن
يمكنك التحقق من جميع الميزات والاستخدامات وعينات الرموز لهذه المكتبة باتباع هذا الرابط. تحقق أيضًا من صفحة Arduino الرسمية لهذه المكتبة.
يمكن تنزيل أحدث إصدار من Library من الرابط المذكور أعلاه. علاوة على ذلك ، قمنا بتنزيل المكتبة من الرابط أدناه ، والذي تم تعديله لـ Teensy:
github.com/PaulStoffregen/NewPing
يجب عليك أولاً اختبار المستشعر عن طريق نسخ رموز الأمثلة الواردة في صفحته. لقد استخدمنا أيضًا نماذج الرموز لمشروعنا وقمنا بتعديلها وفقًا لمشروع إنذار الباب.
يتم توصيل دبوس المشغل بالدبوس 12 من Arduino ويتم توصيل دبوس Echo بالدبوس 11 من Arduino. MAX_DISTANCE يعني أن المسافة التي يمكن لجهاز الاستشعار اكتشاف العائق من خلالها هي 500 سم أو 5 أمتار.
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 500
يوضح السطر أدناه معدل Baud الذي يتم إرسال البيانات به إلى منفذ Arduino التسلسلي من جهاز استشعار الموجات فوق الصوتية.
Serial.begin (115200) ؛
يتم تكوين الدبوس رقم 10 كدبوس إخراج ومتصل بالجرس. دبوس آخر من الجرس متصل بـ GND من Arduino.
pinMode (10 ، الإخراج) ؛
في وظيفة echoCheck () الفارغة ، يتم استخدام sonar.ping_result / US_ROUNDTRIP_CM لحساب مسافة العائق من المستشعر. يستخدم العلم لتنفيذ الجرس عندما يكون العائق في نطاق 50 سم من جهاز الاستشعار فوق الصوتي. يمكنك تغيير هذه "المسافة" وفقًا لمتطلباتك أو حجم بابك.
إذا ((sonar.ping_result / US_ROUNDTRIP_CM) <50) علم = 1 ؛ وإلا إذا ((sonar.ping_result / US_ROUNDTRIP_CM)> 50) علم = 0 ؛
تم التعليق على المدونة جيدًا من قبل مؤلف مكتبة NewPing.h ويمكن فهمها بسهولة. علاوة على ذلك ، يمكنك التحقق من صفحة المكتبة نفسها للحصول على فهم أفضل لها ويمكنك استخدام هذه المكتبة لإنشاء مشروع معقد باستخدام جهاز استشعار بالموجات فوق الصوتية. يرد أدناه الرمز الكامل لمشروع إنذار الباب هذا.
يستخدم مستشعر الموجات فوق الصوتية بشكل أساسي لقياس المسافة من أي كائن ، ولكن هنا يمكننا أن نرى أنه يمكن استخدامه كجهاز إنذار أو إنذار للباب مع Arduino. وبالمثل ، يمكننا إنشاء العديد من المشاريع المفيدة باستخدام هذا مثل: مؤشر مستوى المياه التلقائي وجهاز التحكم باستخدام Arduino