أنت هنا:إصنعها»الحساسات»برمجة الحساسات»برمجة حساس الحركة

برمجة حساس الحركة

كتبه برمجة الحساسات 26249 1
آخر تعديل في الأحد, 06 كانون1/ديسمبر 2020 20:26
برمجة حساس حركة الإنسان أو الحيوان
قيم الموضوع
(9 أصوات)

هل فكرت يوما ما كيف تقوم بإنجاز جهاز أو بناء نظام يقوم على استشعار الحركة. تستعمل غالبا في أنظمة حماية المباني الخاصة أو الحكومية أو آلات معينة. لنرى كيف نستعمله ونبرمجه.

 


تقديم

 

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

يطلق عليه أسماء عديدة كـ "PIR = Passive Infrared" و "Pyroelectric" و "IR motion".

 

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

 

يجب التنبيه بأن مستشعر الحركة PIR لا يستطيع أن يحدد عدد الأشخاص في منطقته ولا كم هم قريبين منها.

 

 


أشكاله  

 

 


استعمالات

 

من أبسط استعمالاته أن تقوم بتركبيه مع مصباح كهربائي سواء كان المصباح داخل المنزل أو خارجه.

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

 

مثال 1: نظام تأمين للمنزل

 

 

مثال 2: التقاط صور الأشياء المتحركة

 

image001

 

مثال 3: كلما كانت حركة بالليل يشتعل الضوء 

 


خصائصه

image002

image003

image004

الشكل: مربع

المخرج: عندما تكن حركة يتم انتاج 5 فولط (HIGH)، وعندما لا تكون حركة يتم انتاج 0 فولط (LOW).

منطقة الاستشعار: حوالي 6 أمتار (100 درجة في 70 درجة)

الجهد الكهربائي: يتطلب من 3.3 إلى 5 فولط.

 


طريقة عمله

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

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

image005 


امتحان عمله

image006

يمكنك امتحان المستشعر دون استعمال الميكرونترولور أو أي دارة معقدة. الصورة أعلاه تبين دارة كهربائية بسيطة لامتحان عمل هذا المستشعر.

تأكد فقط من أن البطارية لها القدرة على تزويدك بجهد كهربائي بين 3.5 و 6 فولط.

تجدر الإشارة أن دور المقاومة هو حماية الصمام الثنائي الضوئي. اختر أي قيمة من 100Ω إلى 1.0.

عند انتهاءك من التركيب قم بتمرير يدك أو شيء آخر في مجال استشعار المستشعر. حينها سترى أن الصمام يستجيب عن طريق ابعاث وميض ضوئي.

 


برمجة

تركيب المستشعر PIR مع بطاقة Arduino سهل جدا. يكفي أن تصل مرابطه بمرابط البطاقة كما هو مبين في الدارة التالية:

image007

عندما تحدث أي حركة سيولد المستشعر شحنة كهربائية 5 فولط وبالتالي ستكون القيمة المقروءة من المربط الموصل به عالية (HIGH) والعكس بالعكس.

كمثال على ذلك يمكنك استعمال الشيفرة البسيطة أدناه لامتحان برمجة هذا المستشعر:

 

/*

 * PIR امتحان المستشعر

 */

 

int ledPin =13;                  // LED رقم المربط

int inputPin =2;                // PIR رقم مريط المسشعر

int pirState = LOW;        //   متغير لحفظ قيمة المستشعر

int val =0;                        // متغير لقراءة قيمة المستشعر

 

void setup()

{

  pinMode(ledPin, OUTPUT);   //       ليكن الصمام كمخرج

  pinMode(inputPin, INPUT);   //       وليكن مربط المستشعر كمدخل

  Serial.begin(9600);

}

 

void loop()

{

  val = digitalRead(inputPin);   //   قراءة القيمة

  if(val == HIGH)                     //    هل هناك حركة؟

      {

    digitalWrite(ledPin, HIGH);  //   نشعل الصمام إذن

    if(pirState == LOW)                // نغير قيمة المتغير إذا كانت قيمته منخفظة

          {      // يمكنك عمل أي شيء هنا ككتابة جملة أو شيء آخر

      Serial.println("Motion detected!");

      pirState = HIGH;

    }

  }

    else                                             

    {

    digitalWrite(ledPin, LOW);  // نطفئ الصمام

    if(pirState == HIGH)              // نغير قيمة المتغير إذا كانت قيمته مرتفعة

         {   // يمكنك عمل أي شيء هنا ككتابة جملة أو شيء آخر

      Serial.println("Motion ended!");

      pirState = LOW;

    }

  }

}

  


تأليف

 

ترجمة بتصرف: محمد السهلي  

{jumi [*3]}


المراجع

 

http://www.ladyada.net/learn/sensors/pir.html

http://www.ssbel.com/productinfo.asp?id=10

http://en.wikipedia.org/wiki/Passive_infrared_sensor

http://kitsrus.com/pdf/k30.pdf

http://www.glolab.com/pirparts/infrared.html

http://www.taylorgifts.com/item/yard_security_camera/29933

http://www.handymanhowto.com/2009/06/03/....dlight-with-an-insteon-in-linelinc-relay/

http://www.ecvv.com/product/3057306.html

http://www.jansenelectronics.net/shoppingcart/pages/Security-Sensors.html

http://www.germes-online.com/catalog/87/379/148372/pir_sensor.html 

التعليقات  

عمارulhv
+1 # عمارulhv 2013-09-14 08:21
شكرى على هذه المعلومات
رد | رد مع اقتباس | اقتباس | تقرير إلى المدير

أضف تعليقا


إصنعها يريد أن يتأكد أنك لست روبوتا، لذلك أحسب ما يلي:

كود امني
تحديث