إنذار الباب باستخدام Arduino والمستشعر فوق الصوتي

 لطالما كان الأمن مصدر قلق كبير لنا جميعًا ، وهناك العديد من أنظمة الأمان والمراقبة القائمة على Hi Tech و IoT المتوفرة في السوق. يعد Intruder or Burglar Alarm أحد المشاريع الكلاسيكية والشعبية بين طلاب الإلكترونيات والهواة.

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

كيف يعمل إنذار باب Arduino؟

يصدر جهاز استشعار الموجات فوق الصوتية موجة فوق صوتية من الزناد والتي تعود بعد اصطدامها بالجسم ويتم استقبالها بواسطة الصدى. سيخبرنا الصدى بعد ذلك المسافة المقطوعة بالميكروثانية. لإرسال موجة فوق صوتية من الزناد ، سيتعين علينا ضبط الزناد على ارتفاع 10us. سيرسل هذا انفجارًا صوتيًا مكونًا من 8 دورات عند 40 كيلو هرتز والذي سيصطدم بالجسم ثم يستقبله الصدى.

مخطط الرسم البياني:

من السهل جدًا تجميع جزء الأجهزة في هذا المشروع. بادئ ذي بدء ، قم بإجراء توصيلات مستشعر الموجات فوق الصوتية مع Arduino. فيما يلي توصيلات مستشعر الموجات فوق الصوتية بـ Arduino:

     قم بتوصيل VCC الموجود على المستشعر بالموجات فوق الصوتية بالدبوس 5V الموجود في Arduino.
     قم بتوصيل دبوس Trig الموجود على المستشعر بالموجات فوق الصوتية بالدبوس 2 في Arduino.
     قم بتوصيل دبوس Echo الموجود على المستشعر بالموجات فوق الصوتية بالدبوس 3 في Arduino.
     قم بتوصيل GND الموجود على جهاز الاستشعار بالموجات فوق الصوتية بـ GND على Arduino.


كود المشروع:
 

int trigger_pin = 2;

int echo_pin = 3;

int buzzer_pin = 10; 

int time;

int distance; 




void setup ( ) {

        Serial.begin (9600); 

        pinMode (trigger_pin, OUTPUT); 

        pinMode (echo_pin, INPUT);

        pinMode (buzzer_pin, OUTPUT);




}




void loop ( ) {

    digitalWrite (trigger_pin, HIGH);

    delayMicroseconds (10);

    digitalWrite (trigger_pin, LOW);

    time = pulseIn (echo_pin, HIGH);

    distance = (time * 0.034) / 2;

    

  if (distance <= 10) 

        {

        Serial.println (" Door Open ");

        Serial.print (" Distance= ");              

        Serial.println (distance);        

        digitalWrite (buzzer_pin, HIGH);

        delay (500);

        }

  else {

        Serial.println (" Door closed ");

        Serial.print (" Distance= ");              

        Serial.println (distance);        

        digitalWrite (buzzer_pin, LOW);

        delay (500);        

  } 

  }

 

إرسال تعليق

أحدث أقدم